I’m trying to get Lemmy up and running on an Ubuntu 22.04 host. I’ve followed this guide supplemented by googling.
I can actually get to the front end, but it gives me “There was an error on the server.” When I dig into the logs, I see this:
"thread 'main' panicked at 'Error connecting to postgres://lemmy:<my pg password>@postgres:5432/lemmy: FATAL: password authentication failed for user \"lemmy\"\n","stream":"stderr","time":"2023-06-26T03:14:17.47460915Z"}
The only thing I can find about this error related to Lemmy is this thread, which indicates that the password was not defined in the docker-compose.yml
file prior to starting the containers. I have since redone the configuration three times, each time deleting the volumes
folder and double-checking that my postgre password is correct both in docker-compose.yml
and lemmy.hjson
.
Any ideas what might be the problem? Thank you kindly for any help you can provide!
Thank you for enlightening me on the
-W
option in psql. I have successfully logged in using the expected password for lemmy. This points to something with the connection string. According to the error log, the connection string being used is:postgres://lemmy:<my percent-encoded password>@postgres:5432/lemmy
As far as I can tell, the percent encoding is correct. Any ideas how to troubleshoot this further?
edit: it just occurred to me that my container name is
lemmy_postgres_1
, notpostgres
as was entered in mylemmy.hjson
file. Let’s see if changing that will work…edit2: no, that had no effect. I’m getting the authentication error for user lemmy on both the lemmy container and the postgres container. :(
Yeah the name you want for the database host is
postgres
, or whatever the container is named in thedocker-compose.yml
. The full name of what the container ends up being named on the host (usually,lemmy-postgres-1
or something) doesn’t matter, it’s its internal name that’s important.That you get a password error specifically also suggests it is communicating with it properly otherwise the error would be connection refused or connection timeout or something similar.
Maybe try a very simple password temporarily like
test
, rebuild the postgres container/delete the volumes and see if it works. If it still doesn’t work you have more troubleshooting to do, if it works then you know the password is tripping something somewhere.I was curious about this, and it turns out both work. I tested by pinging both
postgres
andlemmy_postgres_1
, and both responded with the same IP address. Good to know, but I did go ahead and change it back topostgres
I did this, and I’m still getting the same error, so obviously something is wrong.
At this point it makes me wonder if your changes are making it to the containers. If you change the username for the db both for postgres and lemmy, do you get a different error about the new username? Maybe lemmy’s just using the default config and not reading your hjson file, that’s a good way to test that.
Otherwise I’m at a loss, it should be pretty simple.