Refactor Makefile with improved styling and color output
Reorganized Makefile with color-coded output, better organization with section headers, and additional helper commands (env-example, quick-setup). Updated all echo commands to use -e flag for ANSI color support and improved help formatting with sorted commands. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
179
Makefile
179
Makefile
@@ -1,86 +1,151 @@
|
|||||||
.PHONY: help up down restart ps logs logs-f backup restore update health shell-gitea shell-db clean
|
# Makefile pour Gitea - Agence66
|
||||||
|
# Usage: make [commande]
|
||||||
|
|
||||||
|
.PHONY: help up down restart ps logs logs-f backup restore update health shell-gitea shell-db clean pull build config admin-create stats env-example
|
||||||
|
|
||||||
# Include .env file if it exists
|
# Include .env file if it exists
|
||||||
-include .env
|
-include .env
|
||||||
export
|
export
|
||||||
|
|
||||||
help: ## Afficher cette aide
|
# Couleurs pour l'affichage
|
||||||
@echo "Commandes disponibles pour Gitea Docker :"
|
BLUE := \033[0;34m
|
||||||
|
GREEN := \033[0;32m
|
||||||
|
YELLOW := \033[1;33m
|
||||||
|
RED := \033[0;31m
|
||||||
|
NC := \033[0m
|
||||||
|
|
||||||
|
help: ## Affiche cette aide
|
||||||
|
@echo -e "$(BLUE)Gitea - Agence66$(NC)"
|
||||||
@echo ""
|
@echo ""
|
||||||
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf " \033[36m%-15s\033[0m %s\n", $$1, $$2}'
|
@echo -e "$(YELLOW)Commandes disponibles:$(NC)"
|
||||||
|
@grep -hE '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf " $(GREEN)%-20s$(NC) %s\n", $$1, $$2}'
|
||||||
|
|
||||||
up: ## Démarrer tous les services
|
## Gestion des services
|
||||||
@echo "Démarrage des services Gitea..."
|
|
||||||
|
up: ## Démarre tous les services
|
||||||
|
@echo -e "$(BLUE)Démarrage des services Gitea...$(NC)"
|
||||||
@docker compose up -d
|
@docker compose up -d
|
||||||
@echo "Services démarrés. Accédez à Gitea sur http://localhost:3000"
|
@echo -e "$(GREEN)Services démarrés !$(NC) Accédez à Gitea sur http://localhost:3000"
|
||||||
|
|
||||||
down: ## Arrêter tous les services
|
down: ## Arrête tous les services
|
||||||
@echo "Arrêt des services..."
|
@echo -e "$(YELLOW)Arrêt des services...$(NC)"
|
||||||
@docker compose down
|
@docker compose down
|
||||||
|
@echo -e "$(GREEN)Services arrêtés$(NC)"
|
||||||
|
|
||||||
restart: ## Redémarrer tous les services
|
restart: ## Redémarre tous les services
|
||||||
@echo "Redémarrage des services..."
|
@echo -e "$(BLUE)Redémarrage des services...$(NC)"
|
||||||
@docker compose restart
|
@docker compose restart
|
||||||
|
@echo -e "$(GREEN)Services redémarrés$(NC)"
|
||||||
|
|
||||||
ps: ## Afficher le statut des services
|
ps: ## Affiche le statut des services
|
||||||
|
@echo -e "$(BLUE)Statut des services:$(NC)"
|
||||||
@docker compose ps
|
@docker compose ps
|
||||||
|
|
||||||
logs: ## Afficher les logs (dernières 100 lignes)
|
## Logs et monitoring
|
||||||
|
|
||||||
|
logs: ## Affiche les logs (dernières 100 lignes)
|
||||||
|
@echo -e "$(BLUE)Logs des services (100 dernières lignes):$(NC)"
|
||||||
@docker compose logs --tail=100
|
@docker compose logs --tail=100
|
||||||
|
|
||||||
logs-f: ## Suivre les logs en temps réel
|
logs-f: ## Suit les logs en temps réel
|
||||||
|
@echo -e "$(BLUE)Logs en temps réel (Ctrl+C pour arrêter):$(NC)"
|
||||||
@docker compose logs -f
|
@docker compose logs -f
|
||||||
|
|
||||||
backup: ## Créer une sauvegarde complète (DB + repositories)
|
health: ## Vérifie la santé des services
|
||||||
@bash scripts/backup.sh
|
@echo -e "$(BLUE)État de santé des services:$(NC)"
|
||||||
|
|
||||||
restore: ## Restaurer depuis une sauvegarde (usage: make restore FILE=backups/gitea_backup_YYYYMMDD_HHMMSS.tar.gz)
|
|
||||||
@if [ -z "$(FILE)" ]; then \
|
|
||||||
echo "Erreur: Spécifiez le fichier de sauvegarde avec FILE="; \
|
|
||||||
echo "Usage: make restore FILE=backups/gitea_backup_YYYYMMDD_HHMMSS.tar.gz"; \
|
|
||||||
exit 1; \
|
|
||||||
fi
|
|
||||||
@bash scripts/restore.sh "$(FILE)"
|
|
||||||
|
|
||||||
update: ## Mettre à jour Gitea (avec backup automatique)
|
|
||||||
@bash scripts/update.sh
|
|
||||||
|
|
||||||
health: ## Vérifier la santé des services
|
|
||||||
@echo "État de santé des services:"
|
|
||||||
@echo ""
|
@echo ""
|
||||||
@docker compose ps --format "table {{.Name}}\t{{.Status}}\t{{.Health}}"
|
@docker compose ps --format "table {{.Name}}\t{{.Status}}\t{{.Health}}"
|
||||||
@echo ""
|
@echo ""
|
||||||
@echo "Détails des health checks:"
|
@echo -e "$(BLUE)Détails des health checks:$(NC)"
|
||||||
@docker inspect --format='{{.Name}}: {{.State.Health.Status}}' $$(docker compose ps -q) 2>/dev/null || echo "Aucun service en cours d'exécution"
|
@docker inspect --format='{{.Name}}: {{.State.Health.Status}}' $$(docker compose ps -q) 2>/dev/null || echo -e "$(YELLOW)Aucun service en cours d'exécution$(NC)"
|
||||||
|
|
||||||
shell-gitea: ## Ouvrir un shell dans le conteneur Gitea
|
stats: ## Affiche les statistiques d'utilisation des ressources
|
||||||
@docker compose exec gitea /bin/sh
|
@echo -e "$(BLUE)Statistiques des conteneurs:$(NC)"
|
||||||
|
@docker stats --no-stream $$(docker compose ps -q)
|
||||||
|
|
||||||
shell-db: ## Ouvrir un shell PostgreSQL
|
## Sauvegarde et restauration
|
||||||
@docker compose exec db psql -U $(POSTGRES_USER) -d $(POSTGRES_DATABASE)
|
|
||||||
|
|
||||||
clean: ## Nettoyer les conteneurs arrêtés et volumes non utilisés
|
backup: ## Crée une sauvegarde complète (DB + repositories)
|
||||||
@echo "Nettoyage des conteneurs arrêtés..."
|
@echo -e "$(BLUE)Création de la sauvegarde...$(NC)"
|
||||||
@docker compose down -v
|
@bash scripts/backup.sh
|
||||||
@echo "Nettoyage terminé"
|
@echo -e "$(GREEN)Sauvegarde terminée$(NC)"
|
||||||
|
|
||||||
pull: ## Télécharger les dernières images Docker
|
restore: ## Restaure depuis une sauvegarde (usage: make restore FILE=backups/gitea_backup_YYYYMMDD_HHMMSS.tar.gz)
|
||||||
@docker compose pull
|
@if [ -z "$(FILE)" ]; then \
|
||||||
|
echo -e "$(RED)Erreur: Spécifiez le fichier de sauvegarde avec FILE=$(NC)"; \
|
||||||
build: ## Rebuild les images si nécessaire
|
echo -e "$(YELLOW)Usage: make restore FILE=backups/gitea_backup_YYYYMMDD_HHMMSS.tar.gz$(NC)"; \
|
||||||
@docker compose build
|
|
||||||
|
|
||||||
config: ## Valider et afficher la configuration docker-compose
|
|
||||||
@docker compose config
|
|
||||||
|
|
||||||
# Commandes avancées
|
|
||||||
admin-create: ## Créer un utilisateur admin (usage: make admin-create USER=admin EMAIL=admin@example.com)
|
|
||||||
@if [ -z "$(USER)" ] || [ -z "$(EMAIL)" ]; then \
|
|
||||||
echo "Usage: make admin-create USER=username EMAIL=email@example.com"; \
|
|
||||||
exit 1; \
|
exit 1; \
|
||||||
fi
|
fi
|
||||||
@docker compose exec gitea gitea admin user create --admin --username $(USER) --email $(EMAIL) --password "ChangeMe123!"
|
@echo -e "$(BLUE)Restauration depuis $(FILE)...$(NC)"
|
||||||
@echo "Utilisateur admin créé. Mot de passe par défaut: ChangeMe123!"
|
@bash scripts/restore.sh "$(FILE)"
|
||||||
|
@echo -e "$(GREEN)Restauration terminée$(NC)"
|
||||||
|
|
||||||
stats: ## Afficher les statistiques d'utilisation des ressources
|
## Mise à jour et maintenance
|
||||||
@docker stats --no-stream $$(docker compose ps -q)
|
|
||||||
|
update: ## Met à jour Gitea (avec backup automatique)
|
||||||
|
@echo -e "$(BLUE)Mise à jour de Gitea...$(NC)"
|
||||||
|
@bash scripts/update.sh
|
||||||
|
@echo -e "$(GREEN)Mise à jour terminée$(NC)"
|
||||||
|
|
||||||
|
pull: ## Télécharge les dernières images Docker
|
||||||
|
@echo -e "$(BLUE)Téléchargement des dernières images...$(NC)"
|
||||||
|
@docker compose pull
|
||||||
|
@echo -e "$(GREEN)Images téléchargées$(NC)"
|
||||||
|
|
||||||
|
build: ## Rebuild les images si nécessaire
|
||||||
|
@echo -e "$(BLUE)Build des images...$(NC)"
|
||||||
|
@docker compose build
|
||||||
|
@echo -e "$(GREEN)Build terminé$(NC)"
|
||||||
|
|
||||||
|
config: ## Valide et affiche la configuration docker-compose
|
||||||
|
@echo -e "$(BLUE)Configuration docker-compose:$(NC)"
|
||||||
|
@docker compose config
|
||||||
|
|
||||||
|
## Shells et accès
|
||||||
|
|
||||||
|
shell-gitea: ## Ouvre un shell dans le conteneur Gitea
|
||||||
|
@echo -e "$(BLUE)Ouverture du shell Gitea...$(NC)"
|
||||||
|
@docker compose exec gitea /bin/sh
|
||||||
|
|
||||||
|
shell-db: ## Ouvre un shell PostgreSQL
|
||||||
|
@echo -e "$(BLUE)Ouverture du shell PostgreSQL...$(NC)"
|
||||||
|
@docker compose exec db psql -U $(POSTGRES_USER) -d $(POSTGRES_DATABASE)
|
||||||
|
|
||||||
|
## Administration
|
||||||
|
|
||||||
|
admin-create: ## Crée un utilisateur admin (usage: make admin-create USER=admin EMAIL=admin@example.com)
|
||||||
|
@if [ -z "$(USER)" ] || [ -z "$(EMAIL)" ]; then \
|
||||||
|
echo -e "$(RED)Usage: make admin-create USER=username EMAIL=email@example.com$(NC)"; \
|
||||||
|
exit 1; \
|
||||||
|
fi
|
||||||
|
@echo -e "$(BLUE)Création de l'utilisateur admin...$(NC)"
|
||||||
|
@docker compose exec gitea gitea admin user create --admin --username $(USER) --email $(EMAIL) --password "ChangeMe123!"
|
||||||
|
@echo -e "$(GREEN)Utilisateur admin créé !$(NC)"
|
||||||
|
@echo -e "$(YELLOW)Mot de passe par défaut: ChangeMe123!$(NC)"
|
||||||
|
|
||||||
|
## Nettoyage
|
||||||
|
|
||||||
|
clean: ## Nettoie les conteneurs arrêtés et volumes non utilisés
|
||||||
|
@echo -e "$(YELLOW)Nettoyage des conteneurs et volumes...$(NC)"
|
||||||
|
@docker compose down -v
|
||||||
|
@echo -e "$(GREEN)Nettoyage terminé$(NC)"
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
env-example: ## Affiche un exemple de fichier .env
|
||||||
|
@if [ -f .env.example ]; then \
|
||||||
|
cat .env.example; \
|
||||||
|
else \
|
||||||
|
echo -e "$(RED)Fichier .env.example non trouvé$(NC)"; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
quick-setup: ## Configuration rapide (copie .env.example vers .env)
|
||||||
|
@if [ ! -f .env ]; then \
|
||||||
|
echo -e "$(BLUE)Création du fichier .env...$(NC)"; \
|
||||||
|
cp .env.example .env; \
|
||||||
|
echo -e "$(GREEN)Fichier .env créé !$(NC)"; \
|
||||||
|
echo -e "$(YELLOW)Éditez maintenant .env avec vos vraies valeurs:$(NC)"; \
|
||||||
|
echo " nano .env"; \
|
||||||
|
else \
|
||||||
|
echo -e "$(YELLOW)Le fichier .env existe déjà$(NC)"; \
|
||||||
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user