71 lines
1.9 KiB
Markdown
71 lines
1.9 KiB
Markdown
# 🚀 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
|
|
|
|
<script>
|
|
window.MAIL_SERVICE_URL = "https://nennung.mo-code.at/api/mail";
|
|
window.API_BASE_URL = "https://nennung.mo-code.at/api";
|
|
</script>
|
|
```
|
|
|
|
## 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.*
|