Files
guides/Makefile
2026-06-03 22:22:33 +02:00

46 lines
1.4 KiB
Makefile

.PHONY: install dev prod stop logs remove auth sync
COMPOSE = docker compose
auth:
@mkdir -p .claude-data storage projects
@chown -R 1000:1000 .claude-data storage projects
@grep -q "^CLAUDE_CODE_OAUTH_TOKEN=.\+" .env 2>/dev/null \
|| echo "WARNUNG: CLAUDE_CODE_OAUTH_TOKEN fehlt in .env. Lokal 'claude setup-token' ausführen und Token eintragen."
@echo "Verzeichnisse angelegt und auf uid 1000 chowned."
install:
sudo apt install -y poppler-utils libpango-1.0-0 libcairo2 libgdk-pixbuf-2.0-0 libffi-dev
pip install --break-system-packages fastapi uvicorn[standard] aiosqlite weasyprint pdf2image
cd frontend && npm install
dev:
@echo "Backend: http://localhost:8000"
@echo "Frontend: http://localhost:5173"
@cd backend && uvicorn main:app --reload --port 8000 &
@cd frontend && npx vite --port 5173
prod: auth
$(COMPOSE) up -d --build
stop:
-@pkill -f "uvicorn main:app" 2>/dev/null
-@pkill -f "vite --port 5173" 2>/dev/null
$(COMPOSE) down
@echo "Server gestoppt."
logs:
$(COMPOSE) logs -f
remove: stop
@echo "Lösche Datenbank und generierte Dateien..."
rm -rf storage/*
@echo "Fertig."
sync:
@mkdir -p storage/html storage/pdf
rsync -avz --progress root@178.104.67.87:/var/www/guides/storage/guides.db storage/
rsync -avz --progress --delete root@178.104.67.87:/var/www/guides/storage/html/ storage/html/
rsync -avz --progress --delete root@178.104.67.87:/var/www/guides/storage/pdf/ storage/pdf/
@echo "Sync abgeschlossen."