homelab-brain/redax-wp/README.md
root 064ae085b5 redax-wp: Sprint 1+2 — vollständiger Stack
Infrastruktur:
- CT 113 auf pve-hetzner erstellt (Docker, Tailscale)
- Forgejo-Repo redax-wp angelegt

Code (Sprint 2):
- docker-compose.yml: wordpress + db + redax-web
- .env.example mit allen Variablen
- database.py: articles, feeds, feed_items, prompts, settings
- wordpress.py: WP REST API Client (create/update post, media upload, Yoast SEO)
- rss_fetcher.py: Feed-Import, Blacklist, Teaser-Modus, KI-Rewrite
- app.py: Flask Dashboard, Scheduler (publish/rss/briefing), alle API-Routen
- templates: base, login, index (Zwei-Spalten-Editor), feeds, history, prompts, settings, hilfe
- README.md + .gitignore

Made-with: Cursor
2026-02-27 07:52:31 +07:00

90 lines
2.5 KiB
Markdown

# Redax-WP
KI-gestütztes Redaktionssystem für WordPress mit integriertem RSS-Feed-Manager.
## Was ist Redax-WP?
Redax-WP ersetzt das WordPress-Admin-Backend für redaktionelle Arbeit. Es kombiniert:
- **KI-Artikelgenerierung** (OpenRouter) mit automatischen SEO-Feldern
- **RSS-Feed-Import** mit konfigurierbarem Auto-Publish und optionalem KI-Rewrite
- **Redaktionsplanung** mit Kalender, Zeitslots und direktem Umplanen
- **WordPress-Veröffentlichung** via REST API (Publish / Entwurf / Einplanen)
- **Telegram-Benachrichtigung** nach Veröffentlichung von KI-Artikeln
## Schnellstart
### 1. Repository klonen
```bash
git clone https://git.orbitalo.net/orbitalo/redax-wp.git
cd redax-wp
```
### 2. Konfiguration
```bash
cp .env.example .env
# .env mit eigenen Werten befüllen (Editor öffnen)
nano .env
```
### 3. Starten
```bash
docker compose up -d
```
Dashboard: `http://localhost:8080`
### 4. WordPress einrichten
Nach dem ersten Start WordPress unter `http://localhost:81` (oder intern) einrichten:
1. WordPress-Installation abschließen
2. **Yoast SEO Plugin** installieren (für SEO-Meta-Tags)
3. In WordPress-Admin unter **Benutzer → Profil → Application Passwords** ein neues Passwort erstellen
4. Passwort in `.env` als `WP_APP_PASSWORD` eintragen
5. Container neu starten: `docker compose restart web`
## Konfiguration (.env)
| Variable | Beschreibung |
|----------|-------------|
| `DASHBOARD_USER` | Login-Name für das Dashboard |
| `DASHBOARD_PASSWORD` | Login-Passwort für das Dashboard |
| `WP_URL` | WordPress-URL (intern: `http://wordpress`) |
| `WP_USERNAME` | WordPress-Benutzername |
| `WP_APP_PASSWORD` | WordPress Application Password |
| `OPENROUTER_API_KEY` | API-Key von openrouter.ai |
| `TELEGRAM_BOT_TOKEN` | Telegram Bot-Token |
| `TELEGRAM_CHANNEL_ID` | Kanal für KI-Artikel Teaser |
| `TELEGRAM_REVIEWER_IDS` | Chat-IDs für Fehler-Alarm (kommagetrennt) |
| `TIMEZONE` | Zeitzone (Standard: `Europe/Berlin`) |
## Workflow
### KI-Artikel
1. Quelle eingeben + Ton wählen → KI generiert Artikel
2. In Vorschau prüfen, ggf. bearbeiten
3. Einplanen oder sofort veröffentlichen
4. → WordPress + automatischer Telegram-Teaser
### RSS-Artikel
1. Feed unter `/feeds` hinzufügen
2. Modus wählen: Manuell / Auto-Publish / KI-Rewrite
3. Neue Artikel landen in Queue oder werden direkt veröffentlicht
4. → Nur WordPress (kein Telegram)
## Architektur
```
docker-compose.yml
├── web Flask Dashboard (:8080)
├── wordpress WordPress + Apache (:80 intern)
└── db MySQL 8
```
## Lizenz
MIT