version: '3.8' services: automoderate: build: context: .. dockerfile: docker/Dockerfile ports: - "6217:6217" environment: - FLASK_CONFIG=production - DATABASE_URL=postgresql://automod_user:${POSTGRES_PASSWORD:?POSTGRES_PASSWORD must be set in .env}@postgres:5432/automoderate - SECRET_KEY=${SECRET_KEY:?SECRET_KEY must be set in .env; generate with: python -c 'import secrets; print(secrets.token_urlsafe(64))'} - OPENAI_API_KEY=${OPENAI_API_KEY:?OPENAI_API_KEY must be set in .env} - ADMIN_EMAIL=${ADMIN_EMAIL:?ADMIN_EMAIL must be set in .env} - ADMIN_PASSWORD=${ADMIN_PASSWORD:?ADMIN_PASSWORD must be set in .env} depends_on: - postgres volumes: - app_data:/app/instance restart: unless-stopped postgres: image: postgres:15-alpine environment: - POSTGRES_DB=automoderate - POSTGRES_USER=automod_user - POSTGRES_PASSWORD=${POSTGRES_PASSWORD:?POSTGRES_PASSWORD must be set in .env} volumes: - postgres_data:/var/lib/postgresql/data # Postgres is only reachable from the automoderate container on the internal # network; do not publish 5432 to the host. restart: unless-stopped volumes: postgres_data: app_data: