- Change WIKI_API_URL in .env.example and config to point to the new API endpoint. - Set COOKIE_SECURE to false for local development in .env.example and config. - Improve the newsletter generation logic to handle new and edited articles separately. - Add display options for showing date, user, and category in the newsletter output. - Enhance error handling for Wiki API requests and update templates for better user feedback. - Update CSS for new UI elements and improve overall layout in dashboard and login pages.
60 lines
1.5 KiB
Markdown
60 lines
1.5 KiB
Markdown
# 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
|
|
- Datenquelle: MediaWiki API (`recentchanges` über `wikiDE/api.php`)
|
|
- Export:
|
|
- Plain Text (für Outlook)
|
|
- Raw HTML
|
|
- Optionaler SMTP-Versand:
|
|
- UI-konfigurierbar
|
|
- Verteilerlisten
|
|
- tägliche Zeitplanung
|
|
- Versandprotokoll
|
|
- Docker/Compose Betrieb
|
|
|
|
## Start mit Docker
|
|
|
|
1. Konfiguration anlegen:
|
|
|
|
```bash
|
|
cp .env.example .env
|
|
```
|
|
|
|
2. Wichtige Werte in `.env` setzen:
|
|
- `HOST_PORT` (z. B. `8080`, falls `8000` bereits belegt ist)
|
|
- `SECRET_KEY`
|
|
- `ADMIN_BOOTSTRAP_EMAIL`
|
|
- `ADMIN_BOOTSTRAP_PASSWORD`
|
|
|
|
3. Start:
|
|
|
|
```bash
|
|
docker compose up --build -d
|
|
```
|
|
|
|
4. Zugriff:
|
|
- [http://localhost:8080/login](http://localhost:8080/login) (oder dein `HOST_PORT`)
|
|
|
|
## Sicherheits-Hinweise für Produktion
|
|
|
|
- Reverse Proxy (z. B. Nginx/Traefik) mit TLS vor den Container setzen.
|
|
- `SECRET_KEY` lang und zufällig setzen.
|
|
- Bootstrap-Admin-Passwort nach erstem Login ändern.
|
|
- Netzwerkzugriff auf interne IPs/Netze beschränken.
|
|
- Regelmäßige Backups des `data` Volumes.
|
|
|
|
## Rollenmodell
|
|
|
|
- `reader`: darf Ergebnisse sehen
|
|
- `editor`: darf Newsletter generieren und sofort versenden
|
|
- `admin`: zusätzlich Benutzerverwaltung und SMTP-Konfiguration
|