this post was submitted on 10 Apr 2024
8 points (100.0% liked)

Docker

1102 readers
2 users here now

founded 1 year ago
MODERATORS
 

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?

you are viewing a single comment's thread
view the rest of the comments
[โ€“] [email protected] 2 points 7 months ago (1 children)

are you sure the volume the sqlite database file is in has the correct permissions? not just in the container, but on the host, does the appropriate docker user id have permission to see what's in the folder? i've been caught out myself on that before when files in the folder had correct permissions, but the containing folder for them couldn't be accessed :p

[โ€“] [email protected] 1 points 7 months ago

That's what I worked through this morning. I learned elsewhere in these comments that users have both names and IDs and that docker references IDs.

I've changed ownership of the files and folders a few times. First to match the default setting in docker-compose.yaml, then as I tried different user IDs. Always the same message.

I did additional research and found references to something known as "mounting volumes", but have not yet had a chance to explore that angle further. It's not mentioned in the GTS documentation that I can see, so I just assumed (I know...) that the .yaml file was taking care of it.

At this point, I suspect that there is something else going on, possibly with ports. I had to do a bit of fiddling with ports to kill a bind error resulting from the fact that there is another service hooked up to ports 80 and 443. I'm only guessing, but maybe it's unable to create the database because it needs to do so via those ports. That doesn't sound quite right to me, but it's not like I have any real clue!

One thing I noticed is that docker-compose is recommended by GTS, so I installed it and that really blew up in my face, so I went back to docker compose as I've used elsewhere.

Research continues...