homelab-brain/redax-wp/Makefile
root 3e2598257e redax-wp: Docker-Template fertiggestellt
- 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
2026-02-27 10:45:34 +07:00

96 lines
2.6 KiB
Makefile

# Redax-WP — Makefile
# Verwendung: make <befehl>
.PHONY: help setup start stop restart logs status shell-web shell-wp shell-db \
reset-wp backup update clean
help:
@echo ""
@echo " Redax-WP — Verfügbare Befehle"
@echo " ─────────────────────────────────────────────"
@echo " make setup Ersteinrichtung (interaktiv)"
@echo " make start Stack starten"
@echo " make stop Stack stoppen"
@echo " make restart Web-Container neustarten"
@echo " make logs Alle Logs (live)"
@echo " make logs-web Nur Dashboard-Logs"
@echo " make logs-wp Nur WordPress-Logs"
@echo " make status Container-Status"
@echo " make shell-web Shell im Dashboard-Container"
@echo " make shell-wp Shell im WordPress-Container"
@echo " make shell-db MySQL-Shell"
@echo " make backup Daten sichern (./backups/)"
@echo " make update Docker-Images aktualisieren"
@echo " make clean Alle Daten löschen (VORSICHT!)"
@echo ""
setup:
@chmod +x setup.sh && ./setup.sh
start:
docker compose up -d
stop:
docker compose down
restart:
docker compose up -d --no-deps --build web
restart-all:
docker compose down && docker compose up -d
logs:
docker compose logs -f
logs-web:
docker compose logs -f web
logs-wp:
docker compose logs -f wordpress
status:
@echo ""
@docker compose ps
@echo ""
@echo " Ports:"
@docker compose ps --format "table {{.Name}}\t{{.Ports}}" 2>/dev/null || true
@echo ""
shell-web:
docker compose exec web /bin/bash
shell-wp:
docker compose exec wordpress /bin/bash
shell-db:
@source .env 2>/dev/null; \
docker compose exec db mysql -u$$MYSQL_USER -p$$MYSQL_PASSWORD $$MYSQL_DATABASE
wp:
@source .env 2>/dev/null; \
docker run --rm \
--network "$$(basename $$(pwd))_redax-internal" \
-v "$$(pwd)/data/wordpress:/var/www/html" \
-e WORDPRESS_DB_HOST=redax-db \
-e WORDPRESS_DB_USER=$$MYSQL_USER \
-e WORDPRESS_DB_PASSWORD=$$MYSQL_PASSWORD \
-e WORDPRESS_DB_NAME=$$MYSQL_DATABASE \
--user root \
wordpress:cli $(filter-out $@,$(MAKECMDGOALS)) --allow-root
backup:
@mkdir -p backups
@STAMP=$$(date +%Y%m%d_%H%M%S); \
tar -czf backups/redax-wp-$$STAMP.tar.gz data/ .env && \
echo "✓ Backup erstellt: backups/redax-wp-$$STAMP.tar.gz"
update:
docker compose pull
docker compose up -d --build
clean:
@echo "WARNUNG: Alle Daten werden gelöscht!"
@read -rp "Sicher? (ja/N): " c; [ "$$c" = "ja" ] || exit 0
docker compose down -v
rm -rf data/ logs/
@echo "✓ Bereinigt"