rmm2/docker-compose.yml
cynfo3000 9d5f060cbd feat: Docker-Support (Compose + Dockerfiles)
- docker-compose.yml: db (timescaledb/pg17) + backend + frontend
- backend/Dockerfile: multi-stage (golang:1.24-alpine -> debian:bookworm-slim)
- frontend/Dockerfile: multi-stage (node:22-alpine -> nginx:alpine), Build-Args fuer VITE_*
- frontend/nginx.conf: SPA-Routing + Asset-Caching
- .env.example: BACKEND_HOST, DB_PASSWORD, JWT_SECRET, API_KEY
- backend/config/config.go: ENV-Var-Support vervollstaendigt (JWT_SECRET, API_KEY, DB_PORT, DB_USER, DB_NAME)
- backend/config.yaml.example: ENV-Var Kommentare ergaenzt
- README: Docker-Quickstart als empfohlener Einstieg (3 Befehle)
- .gitignore: .env zur ignore-Liste hinzugefuegt
2026-03-08 19:39:10 +01:00

50 lines
1004 B
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:
build: ./backend
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:
build:
context: ./frontend
args:
VITE_BACKEND_HOST: ${BACKEND_HOST}
VITE_BACKEND_PORT: ${BACKEND_PORT:-8443}
VITE_API_KEY: ${API_KEY}
restart: unless-stopped
ports:
- "80:80"
depends_on:
- backend
volumes:
pgdata:
certs: