homelab-brain/redax-wp/docker-compose.yml
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

57 lines
1.2 KiB
YAML

services:
db:
image: mysql:8.0
container_name: redax-db
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_USER: ${MYSQL_USER}
MYSQL_PASSWORD: ${MYSQL_PASSWORD}
volumes:
- ./data/mysql:/var/lib/mysql
networks:
- redax-internal
wordpress:
image: wordpress:6.7-apache
container_name: redax-wordpress
restart: unless-stopped
depends_on:
- db
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_NAME: ${MYSQL_DATABASE}
WORDPRESS_DB_USER: ${MYSQL_USER}
WORDPRESS_DB_PASSWORD: ${WORDPRESS_DB_PASSWORD}
volumes:
- ./data/wordpress:/var/www/html
networks:
- redax-internal
- redax-public
web:
build:
context: ./src
dockerfile: Dockerfile.web
container_name: redax-web
restart: unless-stopped
depends_on:
- wordpress
- db
env_file: .env
volumes:
- ./data/db:/data
- ./logs:/logs
ports:
- "8080:8080"
networks:
- redax-internal
- redax-public
networks:
redax-internal:
driver: bridge
redax-public:
driver: bridge