# Variables comunes COMPOSE=docker compose # Comandos para levantar la app en diferentes entornos up-dsv: cp .env.dsv .env $(COMPOSE) up --build --force-recreate -d up-dsv-fast: cp .env.dsv .env $(COMPOSE) up -d up-hml: cp .env.hml .env $(COMPOSE) -f docker-compose.yml -f docker-compose.hml.yml up --build --force-recreate -d up-prd: cp .env.prd .env $(COMPOSE) -f docker-compose.yml -f docker-compose.prd.yml up --build --force-recreate -d # Bajar contenedores down: $(COMPOSE) down # Reiniciar solo la API restart-api: $(COMPOSE) restart api # Ver logs en tiempo real logs: $(COMPOSE) logs -f # Ver últimos X logs del contenedor api logs-api-tail: @read -p "¿Cuántas líneas deseas ver? " N && $(COMPOSE) logs --tail=$$N api logs-api: $(COMPOSE) logs -f api # Ver estado de los contenedores ps: $(COMPOSE) ps # Eliminar todo el entorno de Docker Compose: contenedores, volúmenes y redes nuke: @echo "Esto eliminará todos los contenedores, volúmenes y redes creados por docker-compose" @read -p "¿Estás seguro? (s/N): " CONFIRM && [ "$$CONFIRM" = "s" ] && \ $(COMPOSE) down -v --remove-orphans && \ docker volume prune -f && \ docker network prune -f && \ echo "Entorno eliminado completamente." || echo "Cancelado."