Files
sass-mohfarawati/docker-compose.yml
T
MOH 0f9f9e5f79
CI / quality (push) Waiting to run
Add production-ready media library
2026-03-07 16:20:11 +01:00

64 lines
1.7 KiB
YAML

name: sass-mohfarawati
services:
app:
build:
context: .
dockerfile: Dockerfile
restart: unless-stopped
environment:
NODE_ENV: production
NEXT_TELEMETRY_DISABLED: "1"
DATABASE_URL: postgresql://postgres:postgres@db:5432/moh_sass?schema=public
ADMIN_PASSWORD: ${ADMIN_PASSWORD:-change-me}
ADMIN_AUTH_SECRET: ${ADMIN_AUTH_SECRET:-change-me-long-secret}
ROOT_BASIC_AUTH_USER: ${ROOT_BASIC_AUTH_USER:-root}
ROOT_BASIC_AUTH_PASS: ${ROOT_BASIC_AUTH_PASS:-change-me-root}
depends_on:
db:
condition: service_healthy
healthcheck:
test: ["CMD-SHELL", "wget -q -O /dev/null http://127.0.0.1:3000/api/health || exit 1"]
interval: 15s
timeout: 5s
retries: 10
start_period: 20s
labels:
- "traefik.enable=true"
- "traefik.docker.network=proxy"
- "traefik.http.routers.sass-mohfarawati.rule=Host(`mohfarawati.de`) || Host(`www.mohfarawati.de`)"
- "traefik.http.routers.sass-mohfarawati.entrypoints=web"
- "traefik.http.services.sass-mohfarawati.loadbalancer.server.port=3000"
volumes:
- media_uploads:/app/public/uploads/media
networks:
- appnet
- proxy
db:
image: postgres:16-alpine
restart: unless-stopped
environment:
POSTGRES_DB: moh_sass
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres -d moh_sass"]
interval: 5s
timeout: 5s
retries: 20
networks:
- appnet
volumes:
postgres_data:
media_uploads:
networks:
appnet:
proxy:
external: true
name: proxy