Saltar al contenido principal

Despliega tu propio Homelab con Rem Homelab

· 4 min de lectura
katarem
Backend Developer

¿Quieres iniciarte en el mundo del homelab pero no quieres complicarte? Quédate aquí y te explicaré por qué Rem Homelab puede ser tu solución.

¿Qué es Rem Homelab?

Rem Homelab es un repositorio de github donde tengo guardadas todas mis configuraciones para múltiples servicios que utilizo en mi homelab. Con simples comandos puedes conectar servicios entre ellos separados por stacks por si no necesitas todo lo que uso.

Stacks

Como ya acabo de comentar, Rem Homelab se divide en diferentes stacks, haciéndolo modular y mucho más sencillo de mantener. Todo se coloca bajo Docker Compose pero no sé si en un futuro probaré K8s... (pero puede ser complicarme demasiado la vida)

En el momento de este blog tenemos los siguientes

Rem-AI

Despliega una interfaz web con modelos LLM de IA local importables desde la web de ollama o desde hugging face. Perfecto para reemplazar soluciones cloud como ChatGPT o Claude para generación de código, chat y/o uso en apps propias.

Servicios

  • OLlama
  • Open WebUI

Rem-Dashboard

Despliega servicios para crear dashboards de monitoreo. De momento simplemente usa Homarr, pero tengo pensado añadir servicios como Grafana y Loki para monitorear usos por servicio y otros datos.

Servicios

  • Homarr

Rem-Documentation

Despliega servicios para gestión documental. De manera opcional podemos desplegar un servicio que nos ayudará a clasificar los documentos y analizar el contenido con los metadatos usando IA. Para este servicio podemos usar lo desplegado en el stack de rem-ai.

Servicios

  • Paperless-ngx
  • Paperless-ai (Opcional con el profile ai)
  • PostgreSQL
  • Redis
  • Apache Tika
  • Gotenberg

Rem-Media

Despliega servicios para crear un servidor media (Ver películas u otros contenidos en dispositivos locales o remotos). Con este stack de servicios podemos automatizar mayormente la descarga, clasificación, obtención de metadatos y visualización del contenido. De manera opcional podemos desplegar un servicio que hará bypass en túneles de captcha (úsalo bajo tu riesgo).

Servicios

  • Jellyfin
  • Sonarr
  • Radarr
  • Seederr
  • Byparr (Opcional con profile bypass)
  • qBittorrent
  • Prowlarr
  • Jackett

Rem-Proxy

Despliega servicios para crear un reverse proxy y permitir la conexión a los servicios del homelab de manera externa. Puedes usar cualquier provider pero como es cómodo y gratis uso DuckDNS por eso tengo su servicio para que el DNS siempre apunte a la IP de nuestro router cuando cambie.

Servicios

  • Nginx Proxy Manager
  • DuckDNS

Instalación

Para instalar Rem Homelab en tu máquina, primero asegura que tienes Docker instalado y el daemon esté arrancado.

Clonamos el proyecto desde su enlace.

git clone https://www.github.com/katarem/rem-homelab
cd rem-homelab

Creamos la network para todos los servicios. Para tener los diferentes módulos conectados entre sí necesitamos que usen una network ya creada.

docker network create rem-network

Para desplegar un stack, debemos crear un .env en su respectiva carpeta y añadimos los valores si es que son necesarios.

cp [stack]/.env.example [stack]/.env

Una vez establecidas las variables de entorno del stack, debemos ejecutarlo con el comando

docker compose --env-file=[stack]/.env -f [stack]-compose.yaml up -d

Actualización

Tan sólo se necesita ir a la carpeta donde tengas instalado Rem Homelab y traer nuevos cambios del repositorio.

Nota: Si has hecho cambios en local, puede que tengas conflictos al hacer git pull. Está bajo tu responsabilidad saber resolver los conflictos.

cd rem-homelab
git pull

Ahora, una vez teniendo el repositorio en la última versión, ejecutamos los stacks que hayan recibido actualización y tengamos desplegados

docker compose --env-file=[stack]/.env -f [stack]-compose.yaml up -d

Al ejecutar este comando sólo se reiniciarán los contenedores que hayan recibido cambios en el yaml.

Conclusión

Con esta herramienta que hemos explorado hoy, el homelab puede ser una opción más sencilla para gente que no quiere indagar tanto en devops y tan sólo quiere ver sus servicios arrancar.