6941dd44c305f5c21f99f373db4c347c6b2f6e45
Reviewed-on: #1
TK Wiki Newsletter Admin
Produktionsnahes internes Tool zur Erstellung von Thomas-Krenn.AG Newslettern auf Basis der letzten Wiki-Änderungen.
Funktionen
- Login und Benutzerverwaltung mit RBAC (
admin,editor,reader) - Verpflichtender CSRF-Schutz auf allen POST-Formularen
- Filter in der Web-UI:
- Zeitraum in Tagen
- Nur bearbeitete Artikel
- Kategorie
- Redaktioneller Feinschliff pro Ausgabe:
- Redaktionsnotiz – optionaler Hinweistext, der als eigene Box im Newsletter erscheint
- Top-Highlights – bis zu 3 Artikel per Titel hervorheben (erscheinen oben als Highlight-Box)
- Datenquelle: MediaWiki API (
recentchangesüberwikiDE/api.php) - E-Mail-Layout im Thomas-Krenn Corporate Design:
- Hero-Header mit Logo, Artikel-Karten mit „Zum Beitrag“-Button, Kontakt- und Adress-Footer
- Neu-/Bearbeitet-Trennung, Zusammenfassungs-Kacheln, Outlook-taugliche Kopiervorschau
- Export:
- Plain Text (für Outlook)
- Raw HTML
- Optionaler SMTP-Versand:
- UI-konfigurierbar
- Verteilerlisten
- tägliche Zeitplanung
- Versandprotokoll
- Docker/Compose Betrieb
Start mit Docker
-
Konfiguration anlegen:
cp .env.example .env -
Wichtige Werte in
.envsetzen:HOST_PORT(z. B.8080, falls8000bereits belegt ist)SECRET_KEYADMIN_BOOTSTRAP_EMAILADMIN_BOOTSTRAP_PASSWORD
-
Start:
docker compose up --build -d -
Zugriff:
- http://localhost:8080/login (oder dein
HOST_PORT)
- http://localhost:8080/login (oder dein
Sicherheits-Hinweise für Produktion
- Reverse Proxy (z. B. Nginx/Traefik) mit TLS vor den Container setzen.
SECRET_KEYlang und zufällig setzen.- Bootstrap-Admin-Passwort nach erstem Login ändern.
- Netzwerkzugriff auf interne IPs/Netze beschränken.
- Regelmäßige Backups des
dataVolumes.
Rollenmodell
reader: darf Ergebnisse seheneditor: darf Newsletter generieren und sofort versendenadmin: zusätzlich Benutzerverwaltung und SMTP-Konfiguration
Description
Languages
Python
55.9%
HTML
28%
CSS
8.6%
JavaScript
7.2%
Dockerfile
0.2%