Add Docker setup and fix proxy config for containerized deployment

- Program.cs: remove UseHsts/UseHttpsRedirection (NPM terminates TLS,
  would loop behind the proxy, plan.md AE-4), add UseForwardedHeaders
  with emptied known networks/proxies. Uses KnownIPNetworks (net10).
- Dockerfile: SDK build stage, chiseled aspnet runtime on port 8080.
- .dockerignore: keep build output, git and docs out of the image.
- compose.yaml: temporary test setup (builds from source, exposes
  5000:8080) for the first run on Unraid without NPM or registry.
- .gitignore: exclude .idea/ (Rider project files).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
tleiningerandClaude Opus 4.8 committed 2026-09-20 23:00:47 +02:00
1 parent 2298051bf4
commit 95946a4349
5 files changed
+87 -5

No files matched your search

+24
View File
@@ -0,0 +1,24 @@
# TEST-Setup fuer den ersten Lauf auf Unraid (ohne NPM, ohne Registry).
#
# Weicht bewusst vom Produktiv-Setup in plan.md Abschnitt 8 ab:
# - Das Image wird hier direkt aus dem Quellcode gebaut (build:), statt aus
# der Gitea-Registry gezogen. Spart Registry + Token fuer den ersten Test.
# - Es gibt ein Port-Mapping (5000 aussen -> 8080 innen), damit die App im
# lokalen Netz unter http://<unraid>:5000 erreichbar ist. Im Produktiv-
# betrieb entfaellt das Mapping; dort ist nur NPM der Weg zum Container.
#
# Sobald NPM steht, wird diese Datei durch das Produktiv-compose ersetzt.
services:
eb-web:
build:
context: .
dockerfile: Dockerfile
image: elternbeirat-web:test
container_name: eb-web
restart: unless-stopped
environment:
ASPNETCORE_URLS: http://+:8080
TZ: Europe/Berlin
ports:
- "5000:8080" # TEST-Zugang, im Produktivbetrieb entfernen