--- version: "3.8" services: app: image: decentral1se/gotosocial:latest secrets: - db_password environment: - GTS_ACCOUNTS_APPROVAL_REQUIRED - GTS_ACCOUNTS_OPEN_REGISTRATION - GTS_ACCOUNTS_REASON_REQUIRED - GTS_DB_ADDRESS=db - GTS_DB_DATABASE=gotosocial - GTS_DB_PASSWORD_FILE=/run/secrets/db_password - GTS_DB_PORT=5432 - GTS_DB_TYPE=postgres - GTS_DB_USER=gotosocial - GTS_HOST=${DOMAIN} - GTS_LETSENCRYPT_ENABLED=false - GTS_STORAGE_SERVE_HOST=${DOMAIN} configs: - source: entrypoint target: /entrypoint.sh mode: 0555 networks: - proxy - internal entrypoint: /entrypoint.sh volumes: - app:/gotosocial/storage deploy: update_config: failure_action: rollback order: start-first labels: - "traefik.enable=true" - "traefik.http.routers.${STACK_NAME}.rule=Host(`${DOMAIN}`)" - "traefik.http.routers.${STACK_NAME}.entrypoints=web-secure" - "traefik.http.services.${STACK_NAME}.loadbalancer.server.port=8080" - "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}" db: image: postgres:10-alpine environment: - POSTGRES_USER=gotosocial - POSTGRES_PASSWORD_FILE=/run/secrets/db_password - POSTGRES_DB=gotosocial secrets: - db_password volumes: - postgres:/var/lib/postgresql/data networks: - internal deploy: labels: - "coop-cloud.${STACK_NAME}.db.version=10-alpine-131220fe" secrets: db_password: external: true name: ${STACK_NAME}_db_password_${SECRET_DB_PASSWORD_VERSION} networks: internal: proxy: external: true configs: entrypoint: name: ${STACK_NAME}_app_entrypoint_${APP_ENTRYPOINT_VERSION} file: entrypoint.sh volumes: app: postgres: