#!/bin/bash # Colores para los mensajes GREEN='\033[0;32m' BLUE='\033[0;34m' RED='\033[0;31m' YELLOW='\033[1;33m' NC='\033[0m' # No Color # Función de ayuda show_help() { echo -e "${BLUE}===================== CONTROL DEL BLOG DE JOSEMI =================${NC}" echo " " echo " Uso: ./control.sh [comando] " echo "" echo "Comandos disponibles:" echo -e " ${GREEN}start${NC} -> Levanta todo el entorno (en segundo plano)" echo -e " ${GREEN}stop${NC} -> Detiene los contenedores (sin borrarlos)" echo -e " ${GREEN}restart${NC} -> Reinicia los contenedores" echo -e " ${GREEN}build${NC} -> Reconstruye las imágenes (útil si instalas nuevas librerías)" echo -e " ${GREEN}logs${NC} -> Ver logs de todo en tiempo real (Ctrl+C para salir)" echo -e " ${GREEN}status${NC} -> Ver estado de los contenedores" echo -e " ${GREEN}shell-be${NC} -> Entrar a la terminal del Backend" echo -e " ${GREEN}shell-fe${NC} -> Entrar a la terminal del Frontend" echo -e " ${RED}reset${NC} -> ¡PELIGRO! Borra la Base de Datos y la crea de cero (útil si cambias contraseñas)" echo -e " ${YELLOW}info${NC} -> Muestra las URLs y credenciales de acceso" echo -e " ${RED}down${NC} -> Deletea todo el container" echo "==================================================================" } # Lógica del script case "$1" in start) echo -e "${GREEN}Arrancando el sistema...${NC}" sudo docker-compose up -d echo -e "${BLUE}¡Listo! Usa './control.sh info' para ver los accesos.${NC}" ;; stop) echo -e "${YELLOW}Deteniendo contenedores...${NC}" sudo docker-compose stop ;; restart) echo -e "${YELLOW}Reiniciando...${NC}" sudo docker-compose restart ;; build) echo -e "${BLUE}Reconstruyendo imágenes (esto puede tardar)...${NC}" sudo docker-compose up -d --build ;; logs) echo -e "${BLUE}Mostrando logs (Ctrl+C para salir)...${NC}" sudo docker-compose logs -f ;; status) sudo docker-compose ps ;; shell-be) echo -e "${GREEN}Entrando al contenedor del Backend...${NC}" sudo docker exec -it blog_backend sh ;; shell-fe) echo -e "${GREEN}Entrando al contenedor del Frontend...${NC}" sudo docker exec -it blog_frontend sh ;; reset) echo -e "${RED}ATENCIÓN: Esto borrará todos los datos de la base de datos.${NC}" read -p "¿Estás seguro? (s/n): " confirm if [[ $confirm == [sS] || $confirm == [sS][yY] ]]; then echo -e "${YELLOW}Borrando todo...${NC}" sudo docker-compose down -v docker system prune -f echo -e "${GREEN}Levantando de nuevo...${NC}" sudo docker-compose up -d else echo "Operación cancelada." fi ;; info) echo -e "${BLUE}=== INFORMACIÓN DE ACCESO ===${NC}" echo -e "Frontend (Web): ${GREEN}http://localhost:9001${NC}" echo -e "Backend (API): ${GREEN}http://localhost:9002${NC}" echo -e "Base de Datos: ${GREEN}localhost:9003${NC}" echo -e "Usuario DB: ${YELLOW}josemi${NC}" echo -e "Contraseña DB: ${YELLOW}josemivi${NC}" ;; down) sudo docker-compose down -v sudo docker system prune -f ;; *) show_help ;; esac