Files
lernbar/docker-compose.yml
T
Florian WildeandClaude Opus 5.5 ead4cdf195 Betrieb hinter einem vorhandenen Reverse Proxy
Die Adresse, auf der Docker Port 3000 veroeffentlicht, ist ueber
LERNBAR_ADRESSE in .env einstellbar; Vorgabe bleibt 127.0.0.1. Noetig,
wenn der Reverse Proxy - etwa ein Nginx Proxy Manager - auf einem anderen
Rechner laeuft.

Docker-Ports laufen an ufw vorbei. lernbar-portsperre setzt deshalb in
DOCKER-USER eine Regel, die Port 3000 nur fuer den Proxy oeffnet, und
laesst sich beliebig oft ausfuehren (in einem Debian-13-Container
geprueft). Dazu ein systemd-Dienst, der sie nach Docker setzt.

Abschnitt 6b der Betriebsanleitung beschreibt Einrichtung und Proxy-Host.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 17:35:31 +02:00

39 lines
1.1 KiB
YAML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Lern-Bar – ein Dienst, ein Volume, mehr braucht es nicht.
# Vor einem TLS-beendenden Reverse Proxy betreiben (nginx, Caddy, Traefik).
services:
lernbar:
build:
context: .
dockerfile: Dockerfile
image: lernbar:lokal
container_name: lernbar
restart: unless-stopped
environment:
TZ: Europe/Berlin
PORT: "3000"
# Hinter einem Proxy, der TLS beendet, bleibt das hier http.
NODE_ENV: production
ports:
# Vorgabe: nur auf der Schleife lauschen, der Reverse Proxy läuft auf
# derselben Maschine. Steht der Proxy woanders (etwa ein Nginx Proxy
# Manager), in .env die Adresse der VM eintragen:
# LERNBAR_ADRESSE=10.10.13.200
# Docker-Ports laufen an ufw vorbei – siehe docs/BETRIEB-PROXMOX.md.
- "${LERNBAR_ADRESSE:-127.0.0.1}:3000:3000"
volumes:
- lernbar-daten:/daten
healthcheck:
test:
- CMD
- node
- -e
- "fetch('http://127.0.0.1:3000/api/gesundheit').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))"
interval: 30s
timeout: 5s
retries: 3
start_period: 20s
volumes:
lernbar-daten: