name: split-pro-prod services: postgres: image: postgres:16 container_name: splitpro-db-prod restart: always environment: - POSTGRES_USER=${POSTGRES_USER:?err} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD:?err} - POSTGRES_DB=${POSTGRES_DB:?err} healthcheck: test: ['CMD-SHELL', 'pg_isready -U ${POSTGRES_USER}'] interval: 10s timeout: 5s retries: 5 # ports: # - "5432:5432" volumes: - database:/var/lib/postgresql/data splitpro: image: ossapps/splitpro:latest container_name: splitpro restart: always ports: - ${PORT:-3000}:${PORT:-3000} environment: - PORT=${PORT:-3000} - DATABASE_URL=${DATABASE_URL:?err} - NEXTAUTH_URL=${NEXTAUTH_URL:?err} - NEXTAUTH_SECRET=${NEXTAUTH_SECRET:?err} - ENABLE_SENDING_INVITES=${ENABLE_SENDING_INVITES:?err} - FROM_EMAIL=${FROM_EMAIL} - EMAIL_SERVER_HOST=${EMAIL_SERVER_HOST} - EMAIL_SERVER_PORT=${EMAIL_SERVER_PORT} - EMAIL_SERVER_USER=${EMAIL_SERVER_USER} - EMAIL_SERVER_PASSWORD=${EMAIL_SERVER_PASSWORD} - GOOGLE_CLIENT_ID=${GOOGLE_CLIENT_ID} - GOOGLE_CLIENT_SECRET=${GOOGLE_CLIENT_SECRET} - AUTHENTIK_ID=${AUTHENTIK_ID} - AUTHENTIK_SECRET=${AUTHENTIK_SECRET} - AUTHENTIK_ISSUER=${AUTHENTIK_ISSUER} - R2_ACCESS_KEY=${R2_ACCESS_KEY} - R2_SECRET_KEY=${R2_SECRET_KEY} - R2_BUCKET=${R2_BUCKET} - R2_URL=${R2_URL} - R2_PUBLIC_URL=${R2_PUBLIC_URL} - WEB_PUSH_PRIVATE_KEY=${WEB_PUSH_PRIVATE_KEY} - WEB_PUSH_PUBLIC_KEY=${WEB_PUSH_PUBLIC_KEY} - WEB_PUSH_EMAIL=${WEB_PUSH_EMAIL} - FEEDBACK_EMAIL=${FEEDBACK_EMAIL} - DISCORD_WEBHOOK_URL=${DISCORD_WEBHOOK_URL} depends_on: postgres: condition: service_healthy volumes: database: