45 lines
1.3 KiB
Makefile
45 lines
1.3 KiB
Makefile
.PHONY: install dev prod stop logs remove auth sync
|
|
|
|
COMPOSE = docker compose
|
|
|
|
auth:
|
|
@mkdir -p .claude-data storage
|
|
@cp -aT /root/.claude .claude-data
|
|
@chown -R 1000:1000 .claude-data storage
|
|
@echo "Claude-Auth nach .claude-data synct, storage chowned auf uid 1000."
|
|
|
|
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."
|