rmm2/docker-compose.yml
cynfo3000 3afd5c8445
Some checks failed
Docker Images bauen und pushen / build-and-push (push) Has been cancelled
feat: fertige Docker Images via Gitea Actions + Runtime-Konfiguration
CI/CD:
- .gitea/workflows/docker-publish.yml: baut + pusht bei Push auf release und Tags
- Images: git.cynfo.net/christian/rmm2/backend:latest + frontend:latest
- Gitea Secrets: REGISTRY_USER + REGISTRY_PASSWORD gesetzt

Runtime-Konfiguration (kein Rebuild bei IP-Aenderung):
- frontend/docker-entrypoint.sh: generiert runtime-config.js aus ENV-Vars beim Start
- frontend/src/config.js: window.__RMM_CONFIG__ (Docker) vor Vite-ENV (in .gitignore, nicht im release-Commit)
- frontend/public/runtime-config.js: leerer Fallback fuer lokale Entwicklung
- frontend/index.html: laedt /runtime-config.js vor dem App-Bundle

docker-compose:
- Nutzt fertige Images aus der Gitea Registry
- docker-compose.build.yml: Override fuer lokalen Build
- Alle Frontend-Werte via ENV zur Laufzeit
2026-03-08 19:42:56 +01:00

49 lines
1.0 KiB
YAML

services:
db:
image: timescale/timescaledb:latest-pg17
restart: unless-stopped
environment:
POSTGRES_DB: rmm
POSTGRES_USER: rmm
POSTGRES_PASSWORD: ${DB_PASSWORD}
volumes:
- pgdata:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U rmm"]
interval: 5s
timeout: 5s
retries: 10
backend:
image: git.cynfo.net/christian/rmm2/backend:latest
restart: unless-stopped
ports:
- "8443:8443"
environment:
RMM_DB_HOST: db
RMM_DB_PASSWORD: ${DB_PASSWORD}
RMM_JWT_SECRET: ${JWT_SECRET}
RMM_API_KEY: ${API_KEY}
volumes:
- certs:/app/certs
depends_on:
db:
condition: service_healthy
frontend:
image: git.cynfo.net/christian/rmm2/frontend:latest
restart: unless-stopped
ports:
- "80:80"
environment:
BACKEND_HOST: ${BACKEND_HOST}
BACKEND_PORT: ${BACKEND_PORT:-8443}
API_KEY: ${API_KEY}
depends_on:
- backend
volumes:
pgdata:
certs: