version: '3' services: db: image: postgres:16.2@sha256:40305f8ef847d8f36ac77f945b1e6a0166a2d8862452c8212e985893436ceb6b restart: unless-stopped volumes: - db-data:/var/lib/postgresql/data environment: - POSTGRES_PASSWORD=${POSTGRES_PASSWORD:?} - POSTGRES_DB=${POSTGRES_DB:-db} healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres"] interval: 5s timeout: 5s retries: 5 networks: - vikunja vikunja: image: vikunja/vikunja environment: VIKUNJA_DATABASE_HOST: db VIKUNJA_DATABASE_PASSWORD: ${POSTGRES_PASSWORD:?} VIKUNJA_DATABASE_TYPE: postgres VIKUNJA_DATABASE_USER: postgres VIKUNJA_DATABASE_DATABASE: ${POSTGRES_DB:-db} VIKUNJA_SERVICE_PUBLICURL: https://${VIKUNJA_VHOST:-tasks.martin.md} VIKUNJA_SERVICE_JWTSECRET: ${VIKUNJA_JWTSECRET:?} VIKUNJA_SERVICE_ENABLETASKATTACHMENTS: 1 VIKUNJA_SERVICE_ENABLEREGISTRATION: 1 VIKUNJA_SERVICE_ENABLEEMAILREMINDERS: 1 VIKUNJA_MAILER_ENABLED: 1 VIKUNJA_MAILER_FORCESSL: 1 VIKUNJA_MAILER_HOST: ${SMTP_HOST:-mail.martin.md} VIKUNJA_MAILER_PORT: ${SMTP_PORT:-587} VIKUNJA_MAILER_USERNAME: ${SMTP_USER:-noreply@martin.md} VIKUNJA_MAILER_PASSWORD: ${SMTP_PWD:?} VIRTUAL_HOST: ${VIKUNJA_VHOST:-tasks.martin.md} VIRTUAL_PORT: ${VIKUNJA_VPORT:-3456} LETSENCRYPT_HOST: ${VIKUNJA_VHOST:-tasks.martin.md} volumes: - files:/app/vikunja/files depends_on: db: condition: service_healthy restart: unless-stopped networks: - vikunja - net networks: vikunja: external: false net: external: true volumes: db-data: files: