58 lines
2.2 KiB
Makefile
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
|