El GitOps de GenericSuite
GitOps de GenericSuite proporciona los scripts y configuraciones necesarios para desplegar en varias plataformas (servidores de desarrollo locales, VPS) usando tecnologías de orquestación como Kubernetes, y gestionar artefactos y repositorios con Docker y GitHub.
Características
- Despliegue en VPS: Preparar un servidor VPS con un entorno completamente configurado para ejecutar tu App.
- K8: Despliega tu App en un clúster de Kubernetes.
- Docker: Construye y empuja tu App a un registro de Docker.
- Ollama: instala y configura un servicio local de Ollama.
- WebUI: Ejecuta el servicio WebUI local.
- Stable Diffusion: instala y configura un servicio local de Stable Diffusion, y ejecuta su WebUI.
- N8n: instala y configura un servicio local de N8n.
Requisitos previos
- Servidor Linux (Debian, Ubuntu, RHEL, Centos, Fedora) con acceso root.
Inicio
Generar acceso con clave privada al servidor
Si aún no lo has hecho, genera acceso con clave privada al servidor:
-
Copiar el script vps/generate_client_private_key.sh en tu PC local
-
Ejecuta el script:
IMPORTANTE: Este script debe ejecutarse en la PC local, no en el servidor.
sh generate_client_private_key.sh
- Y sigue las instrucciones.
Los siguientes pasos se ejecutarán en el servidor.
Actualizar el sistema
# Debian, Ubuntu
sudo apt -y update
sudo apt -y upgrade
# RHEL, Centos, Fedora
sudo yum -y update
sudo yum -y upgrade
Instalar Git
# Debian, Ubuntu
sudo apt install -y git
# RHEL, Centos, Fedora
sudo yum install -y git
Clonar el repositorio GenericSuite GitOps
cd ~
git clone https://github.com/tomkat-cr/genericsuite-gitops.git
cd ~/genericsuite-gitops
Instalar requisitos del sistema
# Crear usuarios y grupos del servidor
sh vps/create_server_users_and_groups.sh
Instalar Docker
Docker le permite ejecutar contenedores en tu servidor.
sudo sh docker/install_docker_service.sh
Después de la instalación, necesitarás reiniciar el servidor.
sudo reboot
Instalar Minikube (opcional)
Minikube es una herramienta de código abierto que permite configurar un clúster de Kubernetes de un solo nodo en tu máquina local. El clúster se ejecuta dentro de una máquina virtual e incluye Docker, lo que te permite ejecutar contenedores dentro del nod.
sh k8/k8_install_minikube.sh
sh k8/k8_start_minikube.sh
Instalar Kubernetes (opcional)
Si quieres algo más complejo, puedes instalar Kubernetes en tu servidor.
Kubernetes es un sistema de código abierto para automatizar la implementación, el escalado y la gestión de aplicaciones en contenedores.
sudo sh k8/k8_install_kubernetes.sh
Instalar Ollama
Ollama te permite ponerse en marcha con modelos de lenguaje grandes localmente. Ejecuta Meta Llama, Microsoft Phi 3, Mistral, Google Gemma y otros modelos. Personaliza y crea tus propios modelos.
sudo sh ollama/install_ollama_service.sh
Hacer que el servicio de Ollama esté disponible en la LAN
sudo sh ollama/open_ollama_port_to_lan.sh
Instalar Stable Diffusion
Stable Diffusion es un modelo de texto a imagen que puede generar fotografías a partir de descripciones de texto.
Sitio oficial de Stable Diffusion
sudo sh ollama/install_stable_diffusion.sh
Uso
Ejecutar el contenedor Docker de Open WebUI
Open WebUI es una interfaz autocontenida y extensible para IA (como ChatGPT) que se adapta a tu flujo de trabajo, y funciona completamente sin conexión.
sh ~/genericsuite-gitops/ollama/run_webui.sh
Ejecutar Stable Diffusion WebUi
sh ~/genericsuite-gitops/ollama/run_stable_diffusion.sh
Monitorear el rendimiento de la GPU
Para supervisar el estado de la GPU, su rendimiento, usa porcentajes y temperaturas:
sh ~/genericsuite-gitops/ollama/watch_gpu.sh
Ejecutar n8n
n8n es una plataforma de automatización de flujos de trabajo y colaboración para equipos.
- Cambia al directorio de n8n
cd ~/genericsuite-gitops/n8n
- Copiar la plantilla .env.example a tu archivo
.env:
cp .env.example .env
- Establece las variables de entorno
vi .env
# Asigna las variables necesarias
- Ejecuta n8n en modo desacoplado
make run
- Detiene n8n
make stop
- Detiene y elimina los contenedores de n8n
make down
- Muestra los logs de n8n y postgres
make logs
- Actualiza n8n, Postgres y pg_admin
make update
- Reinicia los contenedores de Docker
make restart
- Abre el puerto de n8n (Linux)
make open
- Cierra el puerto de n8n (Linux)
make close
- Ejecuta n8n con force-recreate
make force-recreate
- Accede al contenedor n8n-postgres
make enter_pg
- Accede al contenedor n8n
make enter_n8n
Licencia
GenericSuite es software de código abierto con licencia ISC.
Créditos
Este proyecto es desarrollado y mantenido por Carlos Ramirez. Para obtener más información o para contribuir al proyecto, visita El GitOps de GenericSuite en GitHub.
¡Feliz codificación!