- setup.sh: interaktives Ersteinrichtungs-Skript - Makefile: Komfort-Befehle (start/stop/logs/backup/wp-cli) - .env.example: vollständig dokumentiert - README.md: Quickstart, Architektur, Befehle Made-with: Cursor
186 lines
5.2 KiB
Markdown
186 lines
5.2 KiB
Markdown
# Redax-WP
|
|
|
|
KI-gestützter WordPress-Redakteur mit Dashboard, RSS-Feed-Integration und Telegram-Anbindung.
|
|
|
|
**Was ist Redax-WP?**
|
|
Ein selbst gehostetes System aus WordPress + einem Flask-Dashboard, das KI-Artikel generiert, einplant und veröffentlicht. RSS-Feeds können automatisch importiert werden. KI-Artikel landen in WordPress **und** Telegram, RSS-Artikel nur in WordPress.
|
|
|
|
---
|
|
|
|
## Schnellstart
|
|
|
|
```bash
|
|
# 1. Repository klonen
|
|
git clone https://github.com/DEIN_USER/redax-wp mein-blog
|
|
cd mein-blog
|
|
|
|
# 2. Interaktives Setup starten
|
|
chmod +x setup.sh
|
|
./setup.sh
|
|
```
|
|
|
|
Das Setup-Skript erledigt automatisch:
|
|
- `.env` generieren (mit zufälligen Passwörtern)
|
|
- Docker Stack starten
|
|
- WordPress installieren (6.9+)
|
|
- Blocksy Theme + Yoast SEO installieren
|
|
- Kategorien & Navigation anlegen
|
|
- Application Password für REST-API generieren
|
|
|
|
---
|
|
|
|
## Voraussetzungen
|
|
|
|
| Software | Version |
|
|
|----------|---------|
|
|
| Docker | 24+ |
|
|
| Docker Compose | 2.x |
|
|
| Freie Ports | 80 (WordPress), 8080 (Dashboard) |
|
|
|
|
---
|
|
|
|
## Manuelle Konfiguration
|
|
|
|
Falls `setup.sh` nicht verwendet wird:
|
|
|
|
```bash
|
|
cp .env.example .env
|
|
# .env anpassen
|
|
docker compose up -d --build
|
|
```
|
|
|
|
---
|
|
|
|
## Nützliche 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
|
|
make shell-web # Shell im Dashboard
|
|
make shell-db # MySQL-Shell
|
|
make backup # Datensicherung nach ./backups/
|
|
make update # Docker-Images aktualisieren
|
|
```
|
|
|
|
---
|
|
|
|
## WP-CLI Befehle
|
|
|
|
```bash
|
|
# Beliebige WP-CLI Befehle ausführen:
|
|
make wp plugin list
|
|
make wp user list
|
|
make wp cache flush
|
|
```
|
|
|
|
---
|
|
|
|
## Architektur
|
|
|
|
```
|
|
┌─────────────────────────────────────────────────┐
|
|
│ Docker Stack │
|
|
│ │
|
|
│ ┌──────────────┐ ┌───────────────────────┐ │
|
|
│ │ redax-web │ │ redax-wordpress │ │
|
|
│ │ Flask :8080 │◄──►│ Apache/PHP :80 │ │
|
|
│ └──────┬───────┘ └──────────┬────────────┘ │
|
|
│ │ │ │
|
|
│ └──────────┬────────────┘ │
|
|
│ ▼ │
|
|
│ ┌──────────────┐ │
|
|
│ │ redax-db │ │
|
|
│ │ MySQL :3306│ │
|
|
│ └──────────────┘ │
|
|
└─────────────────────────────────────────────────┘
|
|
│ │
|
|
▼ ▼
|
|
https://redax. https://blog.
|
|
example.com example.com
|
|
(Dashboard) (Blog)
|
|
```
|
|
|
|
---
|
|
|
|
## Cloudflare Tunnel einrichten
|
|
|
|
Für öffentliche Erreichbarkeit ohne offene Ports:
|
|
|
|
1. [Cloudflare Zero Trust](https://one.dash.cloudflare.com) → Networks → Tunnels → Create
|
|
2. **Tunnel 1** (Dashboard):
|
|
- Hostname: `redax.example.com`
|
|
- Service: `http://localhost:8080`
|
|
3. **Tunnel 2** (Blog):
|
|
- Hostname: `blog.example.com`
|
|
- Service: `http://localhost:80`
|
|
4. Docker-Befehle aus Cloudflare kopieren und ausführen
|
|
|
|
---
|
|
|
|
## Nach dem Setup
|
|
|
|
### Pflichtfelder nachträglich setzen
|
|
|
|
Nach dem Setup unbedingt in `.env` eintragen:
|
|
|
|
```bash
|
|
nano .env
|
|
# OPENROUTER_API_KEY=sk-or-v1-...
|
|
# TELEGRAM_BOT_TOKEN=...
|
|
# TELEGRAM_CHANNEL_ID=...
|
|
|
|
make restart # Änderungen übernehmen
|
|
```
|
|
|
|
### WordPress konfigurieren
|
|
|
|
- **WP-Admin:** `https://blog.example.com/wp-admin`
|
|
- Kategorien umbenennen: WP-Admin → Beiträge → Kategorien
|
|
- Yoast SEO einrichten: SEO → Allgemein
|
|
|
|
---
|
|
|
|
## Daten & Verzeichnisse
|
|
|
|
```
|
|
redax-wp/
|
|
├── data/
|
|
│ ├── mysql/ # MySQL-Datenbank (persistent)
|
|
│ ├── wordpress/ # WordPress-Dateien + Uploads
|
|
│ └── db/ # Redax-WP SQLite-Datenbank
|
|
├── logs/ # Anwendungs-Logs
|
|
├── src/ # Dashboard-Quellcode (Flask)
|
|
├── .env # Konfiguration (nicht ins Git!)
|
|
├── .env.example # Vorlage
|
|
├── docker-compose.yml
|
|
├── setup.sh # Automatisches Ersteinrichtungs-Skript
|
|
└── Makefile # Komfort-Befehle
|
|
```
|
|
|
|
---
|
|
|
|
## Features
|
|
|
|
| Feature | Status |
|
|
|---------|--------|
|
|
| KI-Artikel generieren (OpenRouter) | ✅ |
|
|
| WordPress REST API Integration | ✅ |
|
|
| Yoast SEO Felder | ✅ |
|
|
| RSS Feed Import | ✅ |
|
|
| Redaktionskalender (7 Tage) | ✅ |
|
|
| Telegram Benachrichtigungen | ✅ |
|
|
| Morgen-Briefing (10:00 Uhr) | ✅ |
|
|
| Featured Image (og:image) | ✅ |
|
|
| Strukturierte Logs | ✅ |
|
|
| Multi-Reviewer Support | ✅ |
|
|
|
|
---
|
|
|
|
## Lizenz
|
|
|
|
MIT — frei verwendbar, anpassbar, weitergabe erlaubt.
|