This commit is contained in:
team3
2026-07-10 16:29:35 +02:00
parent 718c18523d
commit a50fb701b5
8 changed files with 115 additions and 41 deletions

View File

@@ -1,4 +1,4 @@
.PHONY: install dev stop test test-e2e build
.PHONY: install dev stop test test-e2e build prod
install:
pip install --break-system-packages fastapi "uvicorn[standard]" httpx pytest pytest-asyncio ftfy fuzzysearch
@@ -26,40 +26,7 @@ test-e2e:
build:
cd frontend && npm run build
# ── Server-Deployment (Muster vom alten creator; Traefik läuft dort schon) ────
SERVER = root@178.104.67.87
REMOTE = /var/www/creator2
# Code (+ .env) auf den Server spiegeln und Container neu bauen.
# storage/topics sind ausgenommen — Daten leben nur auf der jeweiligen Seite.
deploy:
rsync -avz --delete \
--exclude .git --exclude node_modules --exclude frontend/node_modules \
--exclude frontend/dist --exclude storage --exclude topics \
--exclude .claude-data --exclude __pycache__ --exclude .pytest_cache \
./ $(SERVER):$(REMOTE)/
ssh $(SERVER) 'cd $(REMOTE) && docker compose up -d --build'
@echo "Deploy fertig: https://creator2.marha.de"
# Remote-Daten holen (Remote wird für den DB-Snapshot gestoppt und neu gestartet).
sync: stop
@rm -f storage/creator2.db-shm storage/creator2.db-wal
ssh $(SERVER) 'cd $(REMOTE) && docker compose down'
rsync -avz --progress $(SERVER):$(REMOTE)/storage/creator2.db storage/
-rsync -avz --progress $(SERVER):$(REMOTE)/storage/creator2.db-wal storage/
rsync -avz --progress --delete $(SERVER):$(REMOTE)/storage/korpus/ storage/korpus/
rsync -avz --progress --delete $(SERVER):$(REMOTE)/topics/ topics/
ssh $(SERVER) 'cd $(REMOTE) && docker compose up -d'
@echo "Sync abgeschlossen — Remote läuft wieder."
# Lokalen Stand auf den Server schieben (überschreibt Remote-Daten!).
sync-reverse: stop
@[ -f storage/creator2.db ] || { echo "Keine lokale DB — abgebrochen."; exit 1; }
ssh $(SERVER) 'cd $(REMOTE) && docker compose down'
ssh $(SERVER) 'mkdir -p $(REMOTE)/storage $(REMOTE)/topics && rm -f $(REMOTE)/storage/creator2.db-shm $(REMOTE)/storage/creator2.db-wal'
rsync -avz --progress storage/creator2.db $(SERVER):$(REMOTE)/storage/
-rsync -avz --progress storage/creator2.db-wal $(SERVER):$(REMOTE)/storage/
rsync -avz --progress --delete storage/korpus/ $(SERVER):$(REMOTE)/storage/korpus/
rsync -avz --progress --delete topics/ $(SERVER):$(REMOTE)/topics/
ssh $(SERVER) 'cd $(REMOTE) && docker compose up -d'
@echo "Reverse-Sync abgeschlossen — Remote läuft wieder."
# ── Produktion (auf dem Server ausführen, im Projektverzeichnis) ──────────────
prod:
docker compose up -d --build
@echo "creator2 läuft: https://creator2.marha.de"