version: '3.8' services: db: image: postgres:15-alpine container_name: graph_postgres environment: POSTGRES_USER: ${POSTGRES_USER:-graphuser} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-graphpassword} POSTGRES_DB: ${POSTGRES_DB:-graphdb} ports: - "5432:5432" volumes: - pgdata:/var/lib/postgresql/data restart: unless-stopped backend: build: context: ./backend image: ${REGISTRY:-gitea.local}/${IMAGE_NAME:-your-username/graph}-backend:latest container_name: graph_backend ports: - "3004:3004" environment: - PORT=3004 - DATABASE_URL=postgres://${POSTGRES_USER:-graphuser}:${POSTGRES_PASSWORD:-graphpassword}@db:5432/${POSTGRES_DB:-graphdb} - API_KEY=${API_KEY:-nexstar_secret_key_123} depends_on: - db restart: unless-stopped frontend: build: context: . image: ${REGISTRY:-gitea.local}/${IMAGE_NAME:-your-username/graph}-frontend:latest container_name: graph_frontend ports: - "3000:80" depends_on: - backend restart: unless-stopped volumes: pgdata: