Good afternoon! Newbie here, I’ve tried to install Lemmy using Ansible (Debian stable) and I ended up having an issue with the Postgresql connectivity (localhost via socket).

The error message I have is:

thread 'main' panicked at 'Error connecting to postgresql:///lemmy?user=lemmy&host=/var/run/postgresql: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: No such file or directory

I have updated my /etc/postgresql/15/main/pg_hba.conf from peer to trust to md5 with no success (rebooting Postresql each time).

My config.hjson is:

database: {
 uri: "postgresql:///lemmy?user=lemmy&host=/var/run/postgresql"
 password: "{{ postgres\_password }}"
}

Any idea / suggestion? Thanks!

PS: cross-posted on the Matrix.org install support chat

You are viewing a single thread.
View all comments View context
1 point

My investigations so far have led me to the conclusion that the Ansible install creates multiple docker containers, including one for Lemmy and one for Postgresql. I need now to figure out how inter-container communications work but the host itself is not used.

permalink
report
parent
reply
2 points
*

Ah right, I assumed you were trying to connect the lemmy container to postgres running outside of docker.

One important thing to remember with all docker compose files - the service name (the first keys in the services: configuration) is also the hostname of that container so to ping lemmy (from some other container in that docker compose) you would do ping lemmy, same for postgres ping postgres - but if the postgres service was named db0 then it would be ping db0.
You also do not have to expose ports - all containers in that compose share one network (exposing is for outside access).
All together your postgres config for lemmy should like this:

 database: { 
  # name of the postgres database for lemmy
  database: "lemmy" 
  # username to connect to postgres 
  user: "postgres"
  # password to connect to postgres
  password: "xxxxxxx"
  # host where postgres is running
  host: "postgres" 
  # port where postgres can be accessed
  port: 5432
  # maximum number of active sql connections
  pool_size: 10
}
permalink
report
parent
reply
2 points

Amazingly helpful, thanks!

permalink
report
parent
reply
1 point

Ok, the good news is that it works. The bad news is that I don’t understand what changed. 🤨

permalink
report
parent
reply
1 point

I don’t get what you mean here. Communication over (linux) socket file and TCP/IP is very different.

permalink
report
parent
reply

Lemmy Administration

!lemmy_admin@lemmy.ml

Create post

Anything about running your own Lemmy instance. Including how to install it, maintain and customise it.

Be sure to check out the docs: https://join-lemmy.org/docs/en/administration/administration.html

If you have any problems, describe them here and we will try to help you fixing them.

Community stats

  • 1

    Monthly active users

  • 67

    Posts

  • 258

    Comments

Community moderators