94 lines
2.9 KiB
Makefile
94 lines
2.9 KiB
Makefile
.PHONY: help build up down restart logs logs-web logs-db clean reset shell shell-db status health
|
|
|
|
help: ## Show this help message
|
|
@echo "Recticel Quality Application - Docker Commands"
|
|
@echo ""
|
|
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-15s\033[0m %s\n", $$1, $$2}'
|
|
|
|
build: ## Build the Docker images
|
|
docker-compose build
|
|
|
|
up: ## Start all services
|
|
docker-compose up -d
|
|
@echo "✅ Services started. Access the app at http://localhost:8781"
|
|
@echo "Default login: superadmin / superadmin123"
|
|
|
|
down: ## Stop all services
|
|
docker-compose down
|
|
|
|
restart: ## Restart all services
|
|
docker-compose restart
|
|
|
|
logs: ## View logs from all services
|
|
docker-compose logs -f
|
|
|
|
logs-web: ## View logs from web application
|
|
docker-compose logs -f web
|
|
|
|
logs-db: ## View logs from database
|
|
docker-compose logs -f db
|
|
|
|
status: ## Show status of all services
|
|
docker-compose ps
|
|
|
|
health: ## Check health of services
|
|
@echo "=== Service Health Status ==="
|
|
@docker inspect recticel-app | grep -A 5 '"Health"' || echo "Web app: Running"
|
|
@docker inspect recticel-db | grep -A 5 '"Health"' || echo "Database: Running"
|
|
|
|
shell: ## Open shell in web application container
|
|
docker-compose exec web bash
|
|
|
|
shell-db: ## Open MariaDB console
|
|
docker-compose exec db mariadb -u trasabilitate -p trasabilitate
|
|
|
|
clean: ## Stop services and remove containers (keeps data)
|
|
docker-compose down
|
|
|
|
reset: ## Complete reset - removes all data including database
|
|
@echo "⚠️ WARNING: This will delete all data!"
|
|
@read -p "Are you sure? [y/N] " -n 1 -r; \
|
|
echo; \
|
|
if [[ $$REPLY =~ ^[Yy]$$ ]]; then \
|
|
docker-compose down -v; \
|
|
rm -rf logs/*; \
|
|
rm -f instance/external_server.conf; \
|
|
echo "✅ Reset complete"; \
|
|
fi
|
|
|
|
deploy: build up ## Build and deploy (fresh start)
|
|
@echo "✅ Deployment complete!"
|
|
@sleep 5
|
|
@make status
|
|
|
|
rebuild: ## Rebuild and restart web application
|
|
docker-compose up -d --build web
|
|
|
|
backup-db: ## Backup database to backup.sql
|
|
docker-compose exec -T db mariadb-dump -u trasabilitate -pInitial01! trasabilitate > backup_$(shell date +%Y%m%d_%H%M%S).sql
|
|
@echo "✅ Database backed up"
|
|
|
|
restore-db: ## Restore database from backup.sql (provide BACKUP=filename)
|
|
@if [ -z "$(BACKUP)" ]; then \
|
|
echo "❌ Usage: make restore-db BACKUP=backup_20231215_120000.sql"; \
|
|
exit 1; \
|
|
fi
|
|
docker-compose exec -T db mariadb -u trasabilitate -pInitial01! trasabilitate < $(BACKUP)
|
|
@echo "✅ Database restored from $(BACKUP)"
|
|
|
|
install: ## Initial installation and setup
|
|
@echo "=== Installing Recticel Quality Application ==="
|
|
@if [ ! -f .env ]; then \
|
|
cp .env.example .env; \
|
|
echo "✅ Created .env file"; \
|
|
fi
|
|
@mkdir -p logs instance
|
|
@echo "✅ Created directories"
|
|
@make deploy
|
|
@echo ""
|
|
@echo "=== Installation Complete ==="
|
|
@echo "Access the application at: http://localhost:8781"
|
|
@echo "Default login: superadmin / superadmin123"
|
|
@echo ""
|
|
@echo "⚠️ Remember to change the default passwords!"
|