version: '3.8' services: app: environment: - POSTGRES_HOST=db - POSTGRES_DB=nextcloud - POSTGRES_USER=nextcloud - POSTGRES_PASSWORD_FILE=/run/secrets/db_password - NEXTCLOUD_UPDATE=1 db: image: "postgres:12" command: -c "max_connections=${MAX_DB_CONNECTIONS:-100}" volumes: - "postgres:/var/lib/postgresql/data" networks: - internal environment: POSTGRES_USER: nextcloud POSTGRES_PASSWORD_FILE: /run/secrets/db_password POSTGRES_DB: nextcloud secrets: - db_password healthcheck: test: ["CMD-SHELL", "pg_isready", "-U", "nextcloud"] interval: 10s timeout: 5s retries: 5 deploy: labels: backupbot.backup: "true" backupbot.backup.pre-hook: "PGPASSWORD=$$(cat $${POSTGRES_PASSWORD_FILE}) pg_dump -U $${POSTGRES_USER} $${POSTGRES_DB} > /var/lib/postgresql/data/backup.sql" backupbot.backup.post-hook: "rm -rf /var/lib/postgresql/data/backup.sql" backupbot.backup.path: "/var/lib/postgresql/data/" volumes: postgres: