# 🚀 Deployment Guide - Online-Nennung (Neumarkt 2026) Dieser Guide beschreibt den Prozess zum Deployment des "Biest" Online-Nennung Stacks auf den Produktions-Server. ## 1. Voraussetzungen - Docker & Docker Compose installiert. - Zugriff auf den OEPS SMTP Server oder eine Alternative. - Domain (z.B. `nennung.mo-code.at`) zeigt auf den Server. ## 2. Infrastruktur (Backend) Der Stack wird über `dc-backend.yaml` gestartet. ### Umgebungsvariablen (`.env` Datei am Server) Folgende Variablen müssen gesetzt sein: ```env # Datenbank POSTGRES_USER=pg-user POSTGRES_PASSWORD=dein-geheimes-passwort # SMTP (für Bestätigungs-Mails) MAIL_SMTP_HOST=smtp.mo-code.at MAIL_SMTP_PORT=587 MAIL_SMTP_USER=online-nennen@mo-code.at MAIL_SMTP_PASSWORD=dein-smtp-passwort ``` ### Starten ```bash docker-compose -f dc-backend.yaml up -d mail-service postgres consul ``` ## 3. Frontend (Wasm Web App) Die Web-App kommuniziert direkt mit dem `mail-service`. ### Build ```bash ./gradlew :frontend:shells:meldestelle-web:wasmJsBrowserDistribution ``` Die Artefakte liegen in `frontend/shells/meldestelle-web/build/dist/wasmJs/productionExecutable/`. ### Konfiguration (Laufzeit) In der `index.html` oder über ein vorgeschaltetes Nginx können globale Variablen gesetzt werden, um die Backend-URLs zu steuern: ```html ``` ## 4. Sicherheit & Härtung - **CORS:** Der `MailController` ist aktuell für `localhost:8080` und `nennung.mo-code.at` freigeschaltet. - **Reverse Proxy:** Es wird empfohlen, einen Nginx oder Traefik mit SSL (Let's Encrypt) vor den Stack zu schalten. - **Mail-Absender:** Die Absender-Adresse ist im `MailController` hartcodiert auf `online-nennen@mo-code.at`. Dies sollte bei Bedarf angepasst werden. --- *Dokumentiert durch den Lead Architect am 15. April 2026.*