I have a Bluesky PDS running successfully. Now I’m trying to set up GoToSocial, an ActivityPub server that also uses sqlite. When I run
sudo docker compose up -d
I get the following error in the docker log for GoToSocial:
Error executing command: error creating dbservice: sqlite ping: Unable to open the database file (SQLITE_CANTOPEN)
Is this more likely to be a conflict between the two docker applications or something specific to GoToSocial? (I’ve gone through the sqlite issues I’ve been able to find in GoToSocial’s GitHub.)
If something to do with running sqlite in two containers, do you have any tips to resolve the issue?
It’s specific to your GoToSocial container. It wants to write a file and cannot write it, probably because you didn’t mount the directory, or the directory is not writable for the user in the container. Have a look at the docs.
This is the most likely. You need to ensure that the volume is mounted AND that permissions are set correctly. Docker doesn’t care about username. It cares about user ID. So, if the dir/file ownership and mode does not give sufficient permissions to the UID/GID of the user in the container, you’ll need to correct that.
Oh, that user ID must be the answer. I was wondering what those numbers were ☺️
More digging to figure out what the appropriate user id is…
To find the numerical user ID (uid) and group ID (gid) of an account or group you can use the ‘id’ command such as: id root
As for which one to use on ownership and docker, that will vary widely and would require knowing more about how things are setup. I’d try to use the same one that is running the docker commands.
Thanks! Once I knew that there was such a thing, a bit of online searching got that part of it sorted. And took me into what I hope is a productive rabbit hole of permissions management. :)
Ok, thanks. I was hoping that it was specific to GTS, because that’s more my speed. I’ve been through the docs, but obviously not carefully enough! I’ll give it another go…