Files
aerzte/docker-compose.images.yml
T
2026-06-21 17:29:39 +02:00

66 lines
2.2 KiB
YAML

# Produktions-Setup mit vorgebauten Images aus der Registry docker.citysensor.de.
# Geeignet für Stack-Manager wie dockhand/Dockge, wo nur die Compose-Datei
# im Stack-Verzeichnis liegt.
#
# 1) Images bauen und in die Registry pushen (im Projektverzeichnis mit Quellcode):
# docker build -t docker.citysensor.de/aerzte-backend:latest -f ./backend/Dockerfile.prod ./backend
# docker build -t docker.citysensor.de/aerzte-frontend:latest -f ./frontend/Dockerfile.prod ./frontend
# docker push docker.citysensor.de/aerzte-backend:latest
# docker push docker.citysensor.de/aerzte-frontend:latest
#
# 2) Diese Datei (+ .env) ins Stack-Verzeichnis legen und starten:
# docker compose pull && docker compose up -d
#
# Benötigt eine .env-Datei (siehe .env.example) mit:
# MONGO_ROOT_USER, MONGO_ROOT_PASSWD und optional FRONTEND_PORT, IMAGE_TAG.
services:
mongodb:
image: mongo:latest
container_name: mongodb
restart: unless-stopped
# Kein Host-Port: MongoDB ist nur im internen Docker-Netz erreichbar
environment:
MONGO_INITDB_ROOT_USERNAME: ${MONGO_ROOT_USER}
MONGO_INITDB_ROOT_PASSWORD: ${MONGO_ROOT_PASSWD}
volumes:
- mongodb_data:/data/db
- mongodb_config:/data/configdb
networks:
- app-network
backend:
image: docker.citysensor.de/aerzte-backend:${IMAGE_TAG:-latest}
container_name: backend
restart: unless-stopped
# Kein Host-Port: Das Backend wird nur intern über nginx (Frontend) angesprochen
environment:
- PORT=3001
- NODE_ENV=production
- MONGO_URI=mongodb://${MONGO_ROOT_USER}:${MONGO_ROOT_PASSWD}@mongodb:27017/appointmentsdb?authSource=admin
# Frontend läuft über denselben Host (nginx-Proxy) -> kein Cross-Origin nötig.
- CORS_ORIGIN=${CORS_ORIGIN:-http://localhost:5173}
depends_on:
- mongodb
networks:
- app-network
frontend:
image: docker.citysensor.de/aerzte-frontend:${IMAGE_TAG:-latest}
container_name: frontend
restart: unless-stopped
ports:
- "${FRONTEND_PORT:-80}:80"
depends_on:
- backend
networks:
- app-network
volumes:
mongodb_data:
mongodb_config:
networks:
app-network:
driver: bridge