-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
133 lines (98 loc) · 3.54 KB
/
Makefile
File metadata and controls
133 lines (98 loc) · 3.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
.PHONY: help setup up down restart logs build clean backup restore test lint
# Variables
DOCKER_COMPOSE = docker-compose
DOCKER_EXEC = docker-compose exec
help: ## Afficher l'aide
@echo "Email Agent AI - Commandes disponibles:"
@echo ""
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf " \033[36m%-15s\033[0m %s\n", $$1, $$2}'
setup: ## Installation initiale (Oracle Cloud)
@echo "Exécution du script d'installation..."
sudo ./scripts/setup-oracle.sh
up: ## Démarrer tous les services
$(DOCKER_COMPOSE) up -d
@echo "Services démarrés. Vérification du statut..."
$(DOCKER_COMPOSE) ps
down: ## Arrêter tous les services
$(DOCKER_COMPOSE) down
restart: ## Redémarrer tous les services
$(DOCKER_COMPOSE) restart
stop: ## Arrêter sans supprimer les containers
$(DOCKER_COMPOSE) stop
start: ## Démarrer les containers existants
$(DOCKER_COMPOSE) start
logs: ## Voir les logs (tous les services)
$(DOCKER_COMPOSE) logs -f
logs-api: ## Voir les logs de l'API
$(DOCKER_COMPOSE) logs -f api
logs-worker: ## Voir les logs du worker
$(DOCKER_COMPOSE) logs -f worker
logs-ollama: ## Voir les logs d'Ollama
$(DOCKER_COMPOSE) logs -f ollama
build: ## Rebuild les images Docker
$(DOCKER_COMPOSE) build
clean: ## Nettoyer les containers et volumes
$(DOCKER_COMPOSE) down -v
@echo "Containers et volumes supprimés"
ps: ## Statut des services
$(DOCKER_COMPOSE) ps
# Ollama
ollama-pull: ## Télécharger le modèle Ollama (mistral)
$(DOCKER_EXEC) ollama ollama pull mistral
ollama-pull-phi: ## Télécharger le modèle Phi3 (plus léger)
$(DOCKER_EXEC) ollama ollama pull phi3:mini
ollama-list: ## Lister les modèles Ollama
$(DOCKER_EXEC) ollama ollama list
ollama-shell: ## Shell interactif dans le container Ollama
$(DOCKER_EXEC) ollama bash
# Base de données
db-shell: ## Shell PostgreSQL
$(DOCKER_EXEC) db psql -U emailagent emailagent
db-backup: ## Backup manuel de la base
./scripts/backup.sh
db-restore: ## Restaurer un backup (spécifier BACKUP_FILE=)
./scripts/restore.sh $(BACKUP_FILE)
# API
api-shell: ## Shell dans le container API
$(DOCKER_EXEC) api bash
worker-shell: ## Shell dans le container worker
$(DOCKER_EXEC) worker bash
# Tests
test: ## Exécuter les tests
$(DOCKER_EXEC) api pytest tests/ -v
test-cov: ## Tests avec coverage
$(DOCKER_EXEC) api pytest tests/ -v --cov=. --cov-report=html
# Développement
lint: ## Linter le code Python
$(DOCKER_EXEC) api black api/ worker/ shared/
$(DOCKER_EXEC) api flake8 api/ worker/ shared/
format: ## Formater le code
$(DOCKER_EXEC) api black api/ worker/ shared/
# Stats et monitoring
stats: ## Voir les stats Docker
docker stats
health: ## Vérifier la santé des services
@echo "=== Health Check ==="
@curl -s http://localhost:8000/health | python3 -m json.tool || echo "API not responding"
@echo ""
@echo "=== Services Status ==="
$(DOCKER_COMPOSE) ps
# Utilitaires
update: ## Mettre à jour depuis git
git pull
$(DOCKER_COMPOSE) build
$(DOCKER_COMPOSE) up -d
backup-all: ## Backup complet (DB + data)
./scripts/backup.sh
clean-logs: ## Nettoyer les vieux logs
find logs/ -name "*.log" -mtime +30 -delete
@echo "Logs de plus de 30 jours supprimés"
disk-usage: ## Voir l'utilisation du disque
@echo "=== Docker volumes ==="
docker system df -v
@echo ""
@echo "=== Disk usage ==="
df -h
portainer: ## Ouvrir Portainer dans le navigateur
@echo "Portainer: http://localhost:9000"
@command -v xdg-open >/dev/null 2>&1 && xdg-open http://localhost:9000 || open http://localhost:9000 || echo "Ouvrez manuellement: http://localhost:9000"