homelab-brain/redakteur/STATE.md
root 82eaa1e4bc feat(redax-wp): Multi-Publish, Dashboard-Verbesserungen, ESP32-Serie Teil 2
Redax-WP (Redakteur):
- WordPressMirrorClient: Multi-Publish an mehrere WP-Instanzen
- Target-Toggles im Dashboard (Checkbox, server-side rendering)
- WP-Admin Direktzugang via socat-Proxy (bypass Cloudflare WAF)
- Drag & Drop im Redaktionsplan
- Artikel-Karten mit Titel + SEO-Snippet sichtbar
- Entwürfe ohne Datum in separater Sektion
- DB-Cleanup-Job (Sonntag 03:00 Uhr)
- openrouter.py: sync generate() Wrapper
- mirror_posts Tabelle in DB

ESP32-Serie (Arakava News):
- Teil 1 veröffentlicht (Post 1209)
- Teil 2 als WP-Entwurf erstellt (Post 1340)
- Animiertes Hydraulikschema (SVG, 4 Betriebsmodi) in Teil 2 eingebaut
- Hardware liegt in DE, Einbau ab April nach Kambodscha-Rückkehr

Doku:
- STATE.md Redax-WP vollständig aktualisiert
- STATE.md Arakava-News: Serie-Status + Hardware-Timeline

Made-with: Cursor
2026-02-28 19:25:43 +07:00

125 lines
4.1 KiB
Markdown

# STATE: Redax-WP
**Stand: 28.02.2026**
---
## Status
**Vollständig in Betrieb — 28.02.2026**
---
## Infrastruktur
| CT | Dienst | Host | IP | Status |
|----|--------|------|----|--------|
| 113 | Redax-WP Dashboard | pve-hetzner | 10.10.10.113 | ✅ Läuft |
| 113 | WordPress (DeutschlandBlog) | pve-hetzner | 10.10.10.113 | ✅ Läuft |
---
## Zugangsdaten
| Dienst | URL | Login |
|--------|-----|-------|
| Dashboard | https://redax.orbitalo.net | admin / astral66 |
| Arakava News (Primary) | https://arakava-news-2.orbitalo.net | — |
| Arakava News WP-Admin | https://arakava-news-2.orbitalo.net/wp-admin | admin / astral66 |
| Arakava News App PW | (REST API) | XPKjaHFiYb8LOo16BeRL3huF |
| DeutschlandBlog (Mirror) | https://deutschlandblog.orbitalo.net | — |
| DeutschlandBlog WP-Admin | https://deutschlandblog.orbitalo.net/wp-admin | admin / Redax2026! |
| DeutschlandBlog App PW | (REST API) | YJ7L4CFAxDPszGLXpamJmzl6 |
---
## Multi-Publish Architektur
```
WordPressMirrorClient (wordpress.py)
├── Primary: arakava-news-2.orbitalo.net (WP_URL)
└── Mirror 1: deutschlandblog.orbitalo.net (WP_MIRROR_URL)
Beim Publish (job_publish_due):
1. Artikel wird auf Primary veröffentlicht
2. Duplikat-Check auf Mirror (Titel-Vergleich vor dem Post)
3. Mirror erhält denselben Artikel
4. Ergebnis in mirror_posts Tabelle gespeichert
5. Dashboard zeigt Mirror-Status pro Artikel
Erweiterbar: WP_MIRROR2_URL, WP_MIRROR2_ENABLED, ... (bis Mirror9)
```
---
## .env Konfiguration (CT 113: /opt/redax-wp/.env)
| Variable | Wert |
|----------|------|
| `WP_URL` | `https://arakava-news-2.orbitalo.net` |
| `WP_USERNAME` | `admin` |
| `WP_APP_PASSWORD` | `XPKjaHFiYb8LOo16BeRL3huF` |
| `WP_ADMIN_PASSWORD` | `astral66` |
| `WP_MIRROR_URL` | `https://deutschlandblog.orbitalo.net` |
| `WP_MIRROR_USERNAME` | `admin` |
| `WP_MIRROR_APP_PASSWORD` | `YJ7L4CFAxDPszGLXpamJmzl6` |
| `WP_MIRROR_ADMIN_PASSWORD` | `Redax2026!` |
| `WP_MIRROR_ENABLED` | `true` |
| `OPENROUTER_API_KEY` | gesetzt |
| `DB_PATH` | `/data/redax.db` |
---
## Stack auf CT 113
```
Docker Container:
redax-db MySQL 8.0
redax-wordpress WordPress 6.9.1 + Apache (DeutschlandBlog)
redax-web Flask/Gunicorn Dashboard (Port 8080)
cloudflared Tunnel für redax.orbitalo.net
cloudflared-wp Tunnel für deutschlandblog.orbitalo.net
```
---
## Dashboard Features
| Feature | Beschreibung |
|---------|-------------|
| Artikel-Studio | KI-Generierung via OpenRouter (Ton wählbar) |
| WP-Entwurf | Artikel direkt als Draft auf Primary pushen + Vorschau-Link |
| Redaktionsplan | 7-Tage-Kalender mit Status, Umplanen, Löschen |
| Multi-Publish | Beim Veröffentlichen: Primary + alle aktiven Mirrors |
| Publish-Ziele | Checkboxen zum Ein-/Ausschalten pro Mirror + Links zu Website & WP-Admin + Zugangsdaten |
| Mirror-Status | Pro Artikel: welche Sites wurden bespielt (✅/❌) |
| RSS-Queue | Feed-Artikel verwalten, KI-Rewrite, Auto-Publish |
| Duplikat-Schutz | Mirror überspringt Artikel die bereits vorhanden sind |
---
## Changelog
### 28.02.2026
- Multi-Publish implementiert: `WordPressMirrorClient` in `wordpress.py`
- `mirror_posts` Tabelle in SQLite für Mirror-Tracking
- `job_publish_due` publiziert auf Primary + alle aktiven Mirrors
- Publish-Ziele im Dashboard: Checkboxen zum Ein/Ausschalten (per DB-Setting)
- Links zu Website + WP-Admin + Zugangsdaten direkt sichtbar im Dashboard
- `WP_ADMIN_PASSWORD` + `WP_MIRROR_ADMIN_PASSWORD` in `.env` ergänzt
- Arakava News WP-Admin Passwort auf `astral66` gesetzt
- Test: Beide Targets erreichbar bestätigt
### 27.02.2026
- WordPress 6.9.1 auf DeutschlandBlog installiert (Update)
- Blocksy Theme + Companion Plugin installiert
- Yoast SEO installiert
- Cloudflare Tunnel für WordPress eingerichtet
- WP Application Passwords generiert (beide Sites)
- WP-Draft Push: Artikel als Entwurf in WP speichern + Vorschau-Link im Dashboard
- Redakteur mit Arakava News (CT 101) verbunden
### 26.02.2026
- CT 113 auf pve-hetzner erstellt
- Docker Stack deployed (MySQL + WordPress + Flask + cloudflared)
- Dashboard unter redax.orbitalo.net erreichbar
- Login-Seite eingerichtet