homelab-brain/redakteur/STATE.md
2026-03-03 16:19:53 +07:00

5.4 KiB

STATE: Redax-WP

Stand: 03.03.2026


Status

Vollständig in Betrieb — 03.03.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)
Artikel-Studio KI-Generierung via OpenRouter (Ton wählbar)
Text-Import Quelle-Feld als Textarea — komplette Artikel einfügbar
Markdown→HTML KI-Output zu WordPress-HTML konvertiert
YouTube-Bilder YouTube-URL in Artikel → Thumbnail + Featured Image
KI-Chat Freie Texteingabe mit Artikelkontext
WP-Entwurf Artikel als Draft pushen
Redaktionsplan 7-Tage-Kalender mit Drag & Drop
Multi-Publish Primary + alle aktiven Mirrors
Publish-Ziele Einklappbar mit Links zu Website & WP-Admin
Mirror-Status Pro Artikel: welche Sites bespielt (/)
RSS-Queue Feed-Artikel verwalten, KI-Rewrite, Auto-Publish
Duplikat-Schutz Mirror überspringt existierende Artikel

Changelog

03.03.2026 (Latest)

  • Text-Import: Quelle-Feld von <input> zu <textarea> — ganze Artikel einfügbar
  • Neuer Default-Prompt: „Artikel formatieren & SEO" — formatiert Text UND URLs zu WP-tauglichem Markdown
  • Markdown→HTML: _to_html() in app.py konvertiert KI-Output automatisch zu HTML beim WP-Push
  • YouTube-Thumbnail im Content: YouTube-URL alleine in eigenem Absatz → anklickbares <img> Vorschaubild
  • YouTube als Featured Image: YouTube-Thumbnail wird automatisch als Beitragsbild gesetzt (wenn kein anderes Bild vorhanden)
  • Gunicorn-Fix: generate() + generate_chat() in openrouter.py auf requests umgestellt (kein asyncio-Timeout)
  • markdown==3.10.2 zu requirements.txt hinzugefügt
  • docker-compose.yml: openrouter.py + rss_fetcher.py als Volume-mounts (persistente Änderungen)

02.03.2026

  • KI-Chat implementiert (freie Promptwahl, Artikelkontext, Übernehmen-Button)
  • Layout: Redaktionsplan unten, Studio volle Breite
  • Publish-Ziele einklappbar
  • Entwurf: WP-Editor-Link + Vorschau-Link
  • Editor + Vorschau größer

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