services: postgres: image: postgres:16-alpine container_name: postgres restart: unless-stopped environment: - POSTGRES_DB=${POSTGRES_DB:-app} - POSTGRES_USER=${POSTGRES_USER:-app} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD:?database password required} - TZ=${TZ:-Europe/Berlin} healthcheck: test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-app}"] interval: 10s timeout: 5s retries: 5 ports: - "${DB_PORT:-5432}:5432" volumes: - ${DATA_PATH:-/srv/postgres}:/var/lib/postgresql/data adminer: image: adminer:latest container_name: postgres-adminer restart: unless-stopped depends_on: - postgres environment: - ADMINER_DEFAULT_SERVER=postgres ports: - "${ADMINER_PORT:-8089}:8080"