rmm2/backend/Dockerfile
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

32 lines
688 B
Docker

FROM golang:1.24-alpine AS builder
WORKDIR /build
COPY go.mod go.sum ./
RUN go mod download
COPY . .
RUN CGO_ENABLED=0 GOOS=linux go build -ldflags="-s -w" -o rmm-backend .
# ---
FROM debian:bookworm-slim
RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates && rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY --from=builder /build/rmm-backend .
COPY config.yaml.example config.yaml.example
RUN mkdir -p certs
EXPOSE 8443
# Umgebungsvariablen mit Standardwerten (koennen alle per ENV ueberschrieben werden)
ENV RMM_LISTEN_ADDR=":8443" \
RMM_DB_HOST="db" \
RMM_DB_PORT="5432" \
RMM_DB_USER="rmm" \
RMM_DB_NAME="rmm"
CMD ["./rmm-backend"]