# Redax-WP > KI-gestützter WordPress-Redakteur — selbst gehostet, Docker-basiert, template-ready. Redax-WP ist ein vollständiges Redaktionssystem aus **WordPress + einem Flask-Dashboard**. Es generiert KI-Artikel, importiert RSS-Feeds und veröffentlicht automatisch in WordPress und optional auf Telegram. --- ## Was kann Redax-WP? | Feature | Beschreibung | |---------|-------------| | ✍️ KI-Artikel | Artikel per KI generieren (OpenRouter / GPT-4o, Claude, Mistral...) | | 📰 RSS-Import | Feeds automatisch importieren, prüfen und veröffentlichen | | 📅 Redaktionskalender | 7-Tage-Planung mit Drag & Drop | | 🔍 Yoast SEO | SEO-Titel, Meta-Beschreibung, Focus-Keyword direkt im Editor | | 📲 Telegram | KI-Artikel als Teaser auf Telegram posten | | ⏰ Morgen-Briefing | Tägliche Zusammenfassung um 10:00 Uhr | | 🚨 Fehler-Alarm | Sofortbenachrichtigung bei Veröffentlichungsfehlern | | 🗂️ Kategorie-Routing | KI-Artikel → WordPress + Telegram / RSS-Artikel → nur WordPress | | 🐳 Docker | Kompletter Stack per Docker Compose | --- ## Schnellstart ```bash # 1. Repository klonen git clone https://github.com/Orbitalo/Redax-Wordpress.git mein-blog cd mein-blog # 2. Setup starten (interaktiv) chmod +x setup.sh ./setup.sh ``` Das Setup-Skript erledigt automatisch: - `.env` mit zufälligen Passwörtern generieren - Docker Stack starten (MySQL + WordPress + Dashboard) - WordPress installieren (6.9+) - Blocksy Theme + Yoast SEO installieren - Kategorien & Navigationsmenü anlegen - WordPress Application Password für die REST-API generieren **Danach:** API-Keys in `.env` eintragen und `make restart` ausführen. --- ## Voraussetzungen | Software | Version | |----------|---------| | Docker | 24+ | | Docker Compose | 2.x | | Freie Ports | 80 (WordPress), 8080 (Dashboard) | | Betriebssystem | Linux (Debian/Ubuntu empfohlen) | --- ## Konfiguration ```bash cp .env.example .env nano .env # Pflichtfelder ausfüllen ``` ### Pflichtfelder | Variable | Beschreibung | |----------|-------------| | `DASHBOARD_USER` | Login für das Redax-WP Dashboard | | `DASHBOARD_PASSWORD` | Passwort für das Dashboard | | `WP_URL` | Öffentliche URL des WordPress-Blogs | | `WP_USERNAME` | WordPress Admin-Benutzername | | `WP_APP_PASSWORD` | WordPress Application Password (auto via setup.sh) | | `OPENROUTER_API_KEY` | API-Key für KI-Generierung ([openrouter.ai](https://openrouter.ai)) | | `MYSQL_ROOT_PASSWORD` | MySQL Root-Passwort | | `MYSQL_PASSWORD` | MySQL Benutzer-Passwort | ### Optionale Felder (Telegram) | Variable | Beschreibung | |----------|-------------| | `TELEGRAM_BOT_TOKEN` | Bot-Token von [@BotFather](https://t.me/BotFather) | | `TELEGRAM_CHANNEL_ID` | Kanal-ID für Artikel-Teaser | | `TELEGRAM_REVIEWER_IDS` | Chat-IDs für Fehler-Alarm (kommagetrennt) | --- ## Befehle ```bash make help # Alle Befehle anzeigen make start # Stack starten make stop # Stack stoppen make restart # Dashboard neustarten (nach .env-Änderung) make logs # Live-Logs aller Container make logs-web # Nur Dashboard-Logs make status # Container-Status anzeigen make shell-web # Shell im Dashboard-Container make shell-db # MySQL-Shell öffnen make backup # Datensicherung → ./backups/ make update # Docker-Images aktualisieren make clean # Alle Daten löschen (Vorsicht!) ``` ### WP-CLI ```bash # Beliebige WP-CLI Befehle ausführen: make wp plugin list make wp user list make wp cache flush make wp post list ``` --- ## Architektur ``` ┌─────────────────────────────────────────────────────┐ │ Docker Stack │ │ │ │ ┌────────────────┐ ┌─────────────────────────┐ │ │ │ redax-web │ │ redax-wordpress │ │ │ │ Flask :8080 │◄──►│ Apache/PHP :80 │ │ │ │ Dashboard │ │ WordPress 6.9+ │ │ │ └──────┬─────────┘ └────────────┬────────────┘ │ │ │ │ │ │ └──────────────┬────────────┘ │ │ ▼ │ │ ┌───────────────┐ │ │ │ redax-db │ │ │ │ MySQL 8 :3306│ │ │ └───────────────┘ │ └──────────────────────┬──────────────────────────────┘ │ │ ▼ ▼ https://redax. https://blog. example.com example.com (Dashboard) (Blog) ``` --- ## Öffentlicher Zugang via Cloudflare Tunnel Für öffentliche Erreichbarkeit ohne offene Firewall-Ports: 1. **[Cloudflare Zero Trust](https://one.dash.cloudflare.com)** → Networks → Tunnels → Create 2. **Tunnel 1** (Dashboard): - Public Hostname: `redax.example.com` - Service: `http://localhost:8080` 3. **Tunnel 2** (Blog): - Public Hostname: `blog.example.com` - Service: `http://localhost:80` 4. Den `docker run cloudflare/cloudflared ...`-Befehl aus dem CF-Dashboard ausführen --- ## Verzeichnisstruktur ``` redax-wp/ ├── setup.sh ← Automatisches Ersteinrichtungs-Skript ├── Makefile ← Komfort-Befehle ├── docker-compose.yml ← Docker Stack Definition ├── .env.example ← Konfigurationsvorlage ├── README.md ← Diese Datei ├── .gitignore ← .env, data/, logs/ ausgeschlossen └── src/ ├── app.py ← Flask Dashboard (Haupt-App) ├── database.py ← SQLite Datenbankschicht ├── wordpress.py ← WordPress REST API Client ├── rss_fetcher.py ← RSS Feed Import ├── logger.py ← Strukturiertes JSON-Logging ├── requirements.txt ← Python-Abhängigkeiten ├── Dockerfile.web ← Container-Definition └── templates/ ← HTML-Templates (Jinja2) ├── base.html ├── index.html ← Studio / Editor ├── feeds.html ← RSS Feed-Verwaltung ├── history.html ← Veröffentlichungs-Historie ├── prompts.html ← KI-Prompt Bibliothek ├── settings.html ← Einstellungen ├── hilfe.html ← Hilfe-Seite └── login.html ``` --- ## Datensicherung ```bash make backup # → Erstellt: ./backups/redax-wp-YYYYMMDD_HHMMSS.tar.gz # Enthält: MySQL-Daten, WordPress-Dateien, SQLite-DB, .env ``` --- ## Lizenz MIT — frei verwendbar, anpassbar und weitergabe erlaubt. --- ## Entwickelt von [Orbitalo](https://github.com/Orbitalo) — Homelab & Automatisierungsprojekte