services: db: image: postgres:17 container_name: pingu-concerts-db restart: unless-stopped environment: POSTGRES_DB: ${POSTGRES_DB} POSTGRES_USER: ${POSTGRES_USER} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} volumes: - postgres_data:/var/lib/postgresql/data - ./db/init:/docker-entrypoint-initdb.d:ro web: build: ./app container_name: pingu-concerts-web restart: unless-stopped ports: - "8080:8000" environment: DATABASE_URL: postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@db:5432/${POSTGRES_DB} INITIAL_ADMIN_USERNAME: ${INITIAL_ADMIN_USERNAME} INITIAL_ADMIN_PASSWORD: ${INITIAL_ADMIN_PASSWORD} INITIAL_ADMIN_EMAIL: ${INITIAL_ADMIN_EMAIL} COOKIE_SECURE: ${COOKIE_SECURE:-true} PRIVATE_UPLOAD_DIR: /app/private_uploads GITEA_URL: ${GITEA_URL:-} GITEA_TOKEN: ${GITEA_TOKEN:-} GITEA_OWNER: ${GITEA_OWNER:-} GITEA_REPO: ${GITEA_REPO:-} volumes: - concert_uploads:/app/static/uploads - private_uploads:/app/private_uploads depends_on: - db volumes: postgres_data: concert_uploads: private_uploads: