PostgreSQL
Powerful open source object-relational database system
PostgreSQL is a powerful, open source object-relational database system with over
35 years of active development that has earned it a strong reputation for
reliability, feature robustness, and performance.
Links:
TODO: Add PgBouncer container for connection pooling
TODO: Add PostgreSQL exporter for Prometheus monitoring
TODO: Implement automated backup solution (pg_dump or pgBackRest)
TODO: Consider enabling SSL/TLS for encrypted connections
TODO: Set up streaming replication for high availability
name: postgresql
services:
postgresql-init:
image: busybox:1.38.0
container_name: postgresql-init
command: ["sh", "-c", "chown -R 999:999 /var/lib/postgresql"]
volumes:
- ${DOCKER_VOLUMES}/postgresql/data:/var/lib/postgresql
postgresql:
image: postgres:18.6-trixie
container_name: postgresql
restart: unless-stopped
shm_size: 128mb
environment:
TZ: ${TIMEZONE}
POSTGRES_USER: ${POSTGRES_USER:-postgres}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: ${POSTGRES_DB:-postgres}
POSTGRES_INITDB_ARGS: --data-checksums
volumes:
- ${DOCKER_VOLUMES}/postgresql/data:/var/lib/postgresql
- ./config/initdb:/docker-entrypoint-initdb.d
ports:
- 5432:5432
networks:
- proxy
depends_on:
postgresql-init:
condition: service_completed_successfully
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-postgres}"]
interval: 10s
timeout: 5s
retries: 5
labels:
traefik.enable: false
homepage.group: Storage
homepage.name: PostgreSQL
homepage.icon: postgresql.png
homepage.description: "Powerful open source object-relational database system"
networks:
proxy:
external: true