- 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
96 lines
2.6 KiB
Makefile
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"
|