Files
calendario_contactos/Makefile
T
2025-11-13 01:11:01 +01:00

58 lines
2.2 KiB
Makefile

.PHONY: help start stop restart logs config clean
# Archivo de configuración
ENV_FILE := .env
help: ## Mostrar esta ayuda
@echo "Comandos disponibles:"
@awk 'BEGIN {FS = ":.*?## "} /^[a-zA-Z_-]+:.*?## / {printf " \033[36m%-15s\033[0m %s\n", $$1, $$2}' $(MAKEFILE_LIST)
config: ## Generar config.js desde variables de entorno
@if [ ! -f $(ENV_FILE) ]; then \
echo "Error: Archivo .env no encontrado. Copia .env.example a .env y configura las variables."; \
exit 1; \
fi
@echo "Generando config.js desde variables de entorno..."
@bash -c 'source $(ENV_FILE) && sed "s|\$${RADICALE_USERNAME}|$$RADICALE_USERNAME|g; s|\$${RADICALE_PASSWORD}|$$RADICALE_PASSWORD|g; s|\$${RADICALE_BASE_URL}|$$RADICALE_BASE_URL|g; s|\$${INFCLOUD_BASE_URL}|$$INFCLOUD_BASE_URL|g" infcloud_config/config.js.template > infcloud_config/config.js'
@echo "✅ Config.js generado exitosamente"
start: config ## Generar configuración e iniciar servicios
docker compose up -d
stop: ## Detener servicios
docker compose down
restart: ## Reiniciar servicios
docker compose down && docker compose up -d
logs: ## Mostrar logs de todos los servicios
docker compose logs -f
logs-infcloud: ## Mostrar logs solo de InfCloud
docker compose logs -f infcloud
logs-radicale: ## Mostrar logs solo de Radicale
docker compose logs -f radicale
status: ## Mostrar estado de los servicios
@echo "=== Estado de servicios ==="
@docker compose ps
@echo ""
@echo "=== URLs de acceso ==="
@bash -c 'source $(ENV_FILE) && echo "InfCloud: http://localhost:$$INFCLOUD_PORT/"'
@bash -c 'source $(ENV_FILE) && echo "Radicale: http://localhost:$$RADICALE_PORT/"'
test-connection: ## Probar conexión con Radicale
@bash -c 'source $(ENV_FILE) && curl -u "$$RADICALE_USERNAME:$$RADICALE_PASSWORD" -X PROPFIND "http://localhost:$$RADICALE_PORT/$$RADICALE_USERNAME/" -H "Depth: 0" -v 2>&1 | grep "< HTTP"'
clean: ## Limpiar configuración generada
rm -f infcloud_config/config.js
setup: ## Configuración inicial (copia .env.example a .env)
@if [ ! -f $(ENV_FILE) ]; then \
cp .env.example $(ENV_FILE); \
echo "✅ Archivo .env creado desde .env.example"; \
echo "📝 Edita el archivo .env con tus credenciales antes de continuar"; \
else \
echo "⚠️ El archivo .env ya existe"; \
fi