ipwatch
This commit is contained in:
79
Makefile
Executable file
79
Makefile
Executable file
@@ -0,0 +1,79 @@
|
||||
# Makefile pour IPWatch
|
||||
|
||||
.PHONY: help build up down logs restart clean test install-backend install-frontend dev
|
||||
|
||||
help: ## Afficher l'aide
|
||||
@echo "IPWatch - Commandes disponibles:"
|
||||
@echo ""
|
||||
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}'
|
||||
|
||||
# Docker
|
||||
build: ## Construire l'image Docker
|
||||
docker-compose build
|
||||
|
||||
up: ## Démarrer les conteneurs
|
||||
docker-compose up -d
|
||||
@echo "IPWatch démarré sur http://localhost:8000"
|
||||
|
||||
down: ## Arrêter les conteneurs
|
||||
docker-compose down
|
||||
|
||||
logs: ## Afficher les logs
|
||||
docker-compose logs -f
|
||||
|
||||
restart: ## Redémarrer les conteneurs
|
||||
docker-compose restart
|
||||
|
||||
clean: ## Nettoyer conteneurs, images et volumes
|
||||
docker-compose down -v
|
||||
rm -rf data/*.sqlite logs/*
|
||||
|
||||
# Développement
|
||||
install-backend: ## Installer dépendances backend
|
||||
cd backend && pip install -r requirements.txt
|
||||
|
||||
install-frontend: ## Installer dépendances frontend
|
||||
cd frontend && npm install
|
||||
|
||||
dev-backend: ## Lancer le backend en dev
|
||||
cd backend && python -m backend.app.main
|
||||
|
||||
dev-frontend: ## Lancer le frontend en dev
|
||||
cd frontend && npm run dev
|
||||
|
||||
dev: ## Lancer backend + frontend en dev (tmux requis)
|
||||
@echo "Lancement backend et frontend..."
|
||||
@tmux new-session -d -s ipwatch 'cd backend && python -m backend.app.main'
|
||||
@tmux split-window -h 'cd frontend && npm run dev'
|
||||
@tmux attach-session -t ipwatch
|
||||
|
||||
# Tests
|
||||
test: ## Exécuter les tests backend
|
||||
cd backend && pytest -v
|
||||
|
||||
test-coverage: ## Tests avec couverture
|
||||
cd backend && pytest --cov=app --cov-report=html
|
||||
|
||||
# Utilitaires
|
||||
init: ## Initialiser le projet (install + build)
|
||||
make install-backend
|
||||
make install-frontend
|
||||
make build
|
||||
|
||||
setup-config: ## Créer config.yaml depuis template (si absent)
|
||||
@if [ ! -f config.yaml ]; then \
|
||||
echo "Création de config.yaml..."; \
|
||||
cp config.yaml.example config.yaml 2>/dev/null || echo "config.yaml déjà présent"; \
|
||||
else \
|
||||
echo "config.yaml existe déjà"; \
|
||||
fi
|
||||
|
||||
db-backup: ## Sauvegarder la base de données
|
||||
@mkdir -p backups
|
||||
@cp data/db.sqlite backups/db_$$(date +%Y%m%d_%H%M%S).sqlite
|
||||
@echo "Sauvegarde créée dans backups/"
|
||||
|
||||
db-reset: ## Réinitialiser la base de données
|
||||
@echo "⚠️ Suppression de la base de données..."
|
||||
rm -f data/db.sqlite
|
||||
@echo "Base de données supprimée. Elle sera recréée au prochain démarrage."
|
||||
Reference in New Issue
Block a user