.PHONY: help up down restart ps logs logs-f backup restore update health shell-gitea shell-db clean # Include .env file if it exists -include .env export help: ## Afficher cette aide @echo "Commandes disponibles pour Gitea Docker :" @echo "" @grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf " \033[36m%-15s\033[0m %s\n", $$1, $$2}' up: ## Démarrer tous les services @echo "Démarrage des services Gitea..." @docker compose up -d @echo "Services démarrés. Accédez à Gitea sur http://localhost:3000" down: ## Arrêter tous les services @echo "Arrêt des services..." @docker compose down restart: ## Redémarrer tous les services @echo "Redémarrage des services..." @docker compose restart ps: ## Afficher le statut des services @docker compose ps logs: ## Afficher les logs (dernières 100 lignes) @docker compose logs --tail=100 logs-f: ## Suivre les logs en temps réel @docker compose logs -f backup: ## Créer une sauvegarde complète (DB + repositories) @bash scripts/backup.sh 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 "" @docker compose ps --format "table {{.Name}}\t{{.Status}}\t{{.Health}}" @echo "" @echo "Détails des health checks:" @docker inspect --format='{{.Name}}: {{.State.Health.Status}}' $$(docker compose ps -q) 2>/dev/null || echo "Aucun service en cours d'exécution" shell-gitea: ## Ouvrir un shell dans le conteneur Gitea @docker compose exec gitea /bin/sh shell-db: ## Ouvrir un shell PostgreSQL @docker compose exec db psql -U $(POSTGRES_USER) -d $(POSTGRES_DATABASE) clean: ## Nettoyer les conteneurs arrêtés et volumes non utilisés @echo "Nettoyage des conteneurs arrêtés..." @docker compose down -v @echo "Nettoyage terminé" pull: ## Télécharger les dernières images Docker @docker compose pull build: ## Rebuild les images si nécessaire @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; \ fi @docker compose exec gitea gitea admin user create --admin --username $(USER) --email $(EMAIL) --password "ChangeMe123!" @echo "Utilisateur admin créé. Mot de passe par défaut: ChangeMe123!" stats: ## Afficher les statistiques d'utilisation des ressources @docker stats --no-stream $$(docker compose ps -q)