version: "3.8" services: app: depends_on: - db environment: - GTS_DB_PORT=5432 - GTS_DB_TYPE=postgres - GTS_DB_ADDRESS=db - GTS_DB_USER=gotosocial-user - GTS_DB_DATABASE=gotosocial networks: - internal secrets: - db_password db: image: postgres:17.2 environment: - POSTGRES_DB=gotosocial - POSTGRES_USER=gotosocial-user - 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 healthcheck: test: [ "CMD-SHELL", "pg_isready" ] interval: 10s timeout: 5s retries: 5 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