--- services: postgres: container_name: spotify-manager-postgres image: postgres restart: on-failure environment: POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} POSTGRES_DB: spotify-manager volumes: - ${VOLUME_PATH}/pgdata:/var/lib/postgresql/data - /etc/passwd:/etc/passwd:ro user: ${PUID}:${PGID} healthcheck: test: ['CMD-SHELL', 'psql -U postgres -d spotify-manager -c "select version();"'] interval: 1s retries: 5 timeout: 5s redis: container_name: spotify-manager-redis image: redis restart: on-failure volumes: - ${VOLUME_PATH}/redisdata:/data user: ${PUID}:${PGID} healthcheck: test: ['CMD-SHELL', 'redis-cli ping | grep PONG'] interval: 1s retries: 5 timeout: 3s api: container_name: spotify-manager-api image: kaushikr2/spotify-manager-api init: true restart: on-failure ports: - 127.0.0.1:9001:9001 depends_on: postgres: condition: service_healthy restart: true redis: condition: service_healthy restart: true environment: NODE_ENV: production SPOTMGR_PORT: 9001 SPOTMGR_CLIENT_ID: ${SPOTMGR_CLIENT_ID} SPOTMGR_CLIENT_SECRET: ${SPOTMGR_CLIENT_SECRET} SPOTMGR_SESSION_SECRET: ${SPOTMGR_SESSION_SECRET} SPOTMGR_TRUST_PROXY: 1 SPOTMGR_BASE_DOMAIN: 'spotify-manager.knravish.me' SPOTMGR_REDIRECT_URI: 'https://api.spotify-manager.knravish.me/api/auth/callback' SPOTMGR_APP_URI: 'https://spotify-manager.knravish.me/' SPOTMGR_DB_URI: 'postgres://postgres:${POSTGRES_PASSWORD}@postgres:5432/spotify-manager' SPOTMGR_REDIS_URI: redis://redis:6379