version: '3.8' services: app: environment: - GITEA_DB_TYPE=postgres - GITEA_DB_HOST="db:5432" - GITEA_DB_NAME=gitea - GITEA_DB_USER=gitea db: image: postgres:15.8 deploy: labels: backupbot.backup.pre-hook: "/pg_backup.sh backup" backupbot.backup.volumes.db.path: "backup.sql" backupbot.restore.post-hook: '/pg_backup.sh restore' environment: - POSTGRES_DB=gitea - POSTGRES_USER=gitea - POSTGRES_PASSWORD_FILE=/run/secrets/db_password secrets: - db_password volumes: - db:/var/lib/postgresql/data networks: - internal configs: - source: pg_backup target: /pg_backup.sh mode: 0555 secrets: db_password: name: ${STACK_NAME}_db_password_${SECRET_DB_PASSWORD_VERSION} external: true volumes: db: configs: pg_backup: name: ${STACK_NAME}_pg_backup_${PG_BACKUP_VERSION} file: pg_backup.sh