Files
composed-services/multidb-pg-pgbouncer
2025-02-19 19:05:13 +11:00
..
2025-02-19 18:57:07 +11:00
2025-02-19 18:57:07 +11:00
2025-02-19 18:57:07 +11:00

Multi Database PostgreSQL with PGBouncer

ENV file

Create a .env file with the following keys:

  • HOST_IP
  • HOST_KIND
  • POSTGRES_PASSWORD

Host IP

I use these with Tailscale - Use this to set the IP for Postgre to bind to.

Host Kind

In the compose.yaml, you'll see postgresql.${HOST_KIND}.conf. This lets you have custom parameters for PostgreSQL per host type. Use https://pgtune.leopard.in.ua to build your own.

  • CPX11 is a Hetzner host - 2 vCPUS, 2GB RAM
  • Nano is a Linode host - 1 vCPU, 1GB RAM

POSTGRES_PASSWORD

Used to set the postgres user's password

Data directory

If you're using this for Cache, per SolidCache, you may be happy to use named bind mountings and let Docker manage storage.

Alternatively, bind mount a local directory for PostgreSQL to use.

Logging

This configuration will log to a mounted volume, using PostgreSQL logging, and not to Stderr / Docker logging as per the default image.