Olympus Docs
ReferenceConfigurationCompose Services

postgres

Compose service `postgres`, runtime configuration across dev and prod

Compose service postgres.

Dev (compose.dev.yml)

Image: docker.io/postgres:18-alpine

Ports:

  • 5432:5432

Environment variables:

VariableSource
POSTGRES_USERpostgres
POSTGRES_PASSWORDsecret

Volumes:

  • {"type":"volume","source":"postgres","target":"/var/lib/postgresql/data"}
  • {"type":"bind","source":"./init-db.sql","target":"/docker-entrypoint-initdb.d/init-db.sql"}

Restart policy: unless-stopped

Networks: intranet

Prod (compose.prod.yml)

Image: docker.io/postgres:18-alpine

Command: postgres -c ssl=on -c ssl_cert_file=/var/lib/postgresql/server.crt -c ssl_key_file=/var/lib/postgresql/server.key -c ssl_ca_file=/var/lib/postgresql/pg-ca.crt

Ports: none (internal only)

Environment variables:

VariableSource
POSTGRES_USER${PG_USER}
POSTGRES_PASSWORD${PG_PASSWORD}

Volumes:

  • {"type":"volume","source":"postgres","target":"/var/lib/postgresql/data"}
  • {"type":"bind","source":"./init-db.sql","target":"/docker-entrypoint-initdb.d/init-db.sql"}
  • {"type":"bind","source":"./postgres/server.crt","target":"/var/lib/postgresql/server.crt","read_only":true}
  • {"type":"bind","source":"./postgres/server.key","target":"/var/lib/postgresql/server.key","read_only":true}
  • {"type":"bind","source":"./postgres/pg-ca.crt","target":"/var/lib/postgresql/pg-ca.crt","read_only":true}

Healthcheck:

{
  "test": [
    "CMD-SHELL",
    "pg_isready -U $PG_USER"
  ],
  "interval": "10s",
  "timeout": "5s",
  "start_period": "30s",
  "retries": 5
}

Restart policy: unless-stopped

Networks: intranet


Generated from platform/dev/compose.dev.yml and platform/prod/compose.prod.yml at build time.

On this page