Saltar a contenido

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:

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.

Sitio web de Docker

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.

Sitio oficial de Minikube

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.

Sitio oficial de Kubernetes

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.

Sitio web de Ollama

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.

Sitio web de Open WebUI

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.

n8n

  • Cambia al directorio de n8n
cd ~/genericsuite-gitops/n8n
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!