services: db: image: postgres:17-alpine ports: - 5432 environment: - POSTGRES_PASSWORD=listmonk - POSTGRES_USER=listmonk - POSTGRES_DB=listmonk restart: unless-stopped healthcheck: test: ["CMD-SHELL", "pg_isready -U listmonk"] interval: 10s timeout: 5s retries: 6 volumes: - listmonk-data:/var/lib/postgresql/data setup: image: listmonk/listmonk:v4.1.0 volumes: - ../files/config.toml:/listmonk/config.toml depends_on: - db command: [ sh, -c, "sleep 3 && ./listmonk --install --idempotent --yes --config config.toml", ] app: restart: unless-stopped image: listmonk/listmonk:v4.1.0 environment: - TZ=Etc/UTC depends_on: - db - setup volumes: - ../files/config.toml:/listmonk/config.toml - listmonk-uploads:/listmonk/uploads volumes: listmonk-uploads: listmonk-data: driver: local