Despliega tu propio Homelab con Rem Homelab
¿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.
