91 lines
3.3 KiB
Bash
91 lines
3.3 KiB
Bash
#!/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
|
|
sudo docker system prune -a
|
|
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 "WEB: ${GREEN}http://localhost:3000${NC}"
|
|
echo -e "${BLUE}======================${NC}"
|
|
;;
|
|
down)
|
|
sudo docker-compose down -v
|
|
sudo docker system prune -a
|
|
;;
|
|
*)
|
|
show_help
|
|
;;
|
|
esac
|