68 puntos por GN⁺ 2025-04-03 | 4 comentarios | Compartir por WhatsApp
  • El self-hosting ha ganado popularidad recientemente como alternativa a los servicios centralizados enfocados en la recolección de datos
  • Basado en la experiencia de haber probado distintas herramientas y apps, y de operarlas de forma estable durante más de un año, se presentan las herramientas que resultaron más útiles
    • Recomendaciones de runtimes de contenedores, herramientas de administración web, proxy inverso y VPN, además de una recopilación de otras herramientas de self-hosting
  • No es un texto para decidir cuál solución es mejor que otra, sino para enfatizar que distintos problemas tienen distintas soluciones

Runtime de contenedores

  • Hoy en día los contenedores se han vuelto la base del hosting, y las formas tradicionales cada vez son menos comunes
  • Esta es una tendencia muy positiva para los usuarios de servidores caseros (homelabbers), ya que los contenedores simplifican el despliegue de software y ofrecen un rendimiento más eficiente que las máquinas virtuales
  • La mayoría usa Docker, pero aquí se presentan distintos runtimes alternativos que pueden usarse en casa
  • Docker

    • El runtime de contenedores original y más utilizado
    • Gracias a su amplia documentación y comunidad, incluso alguien no tan familiarizado con TI puede copiar un docker-compose.yml desde GitHub y ponerlo a correr
    • Aun así, conviene revisar por separado la configuración de seguridad
  • Podman

    • Un runtime de contenedores de nueva generación que ha llamado la atención por su arquitectura rootless y compatibilidad con la CLI de Docker
    • Como funciona sin daemon, es ideal para quienes priorizan la seguridad o quieren aprender tecnologías relacionadas
    • Se pueden usar directamente la mayoría de los comandos de Docker, y la transición es sencilla gracias al alias compatible con el comando docker
    • Al principio tiene cierta curva de entrada, pero con la mejora de la documentación y la comunidad, cada vez es más accesible
    • Además, con Podman Quadlets también es posible gestionar contenedores de forma declarativa basada en systemd en lugar de docker compose
  • Kubernetes

    • Para los usuarios de servidores caseros curiosos y experimentales, es una herramienta avanzada que despierta el deseo de asumir un reto
    • Como herramienta de orquestación capaz de administrar elegantemente muchísimas instancias, ofrece una experiencia de gestión de nivel empresarial
    • Sin embargo, tiene tantas funciones y tanta complejidad que resulta excesivo para la mayoría de los usuarios
    • En entornos caseros, el objetivo principal suele ser el aprendizaje mismo, más que el uso práctico

Herramientas web para administrar contenedores

  • Algunas personas prefieren guardar y gestionar sus archivos compose en el disco local, pero eso implica la molestia de conectarse por SSH al servidor cada vez para revisar logs
  • Como alternativa, usar herramientas web para administración de contenedores permite trabajar con mucha más comodidad
  • Portainer

    • La herramienta de administración con interfaz web más estable, compatible con Docker, Kubernetes y Podman
    • Se usa ampliamente desde homelabs hasta entornos empresariales, y también es muy útil para aprender con experiencia práctica
    • Existe una versión open source comunitaria y una versión empresarial con funciones extra (se ofrecen gratis 3 licencias)
    • Su interfaz intuitiva y variedad de funciones la vuelven muy conveniente para administrar contenedores
  • Dockge

    • Una nueva herramienta web para administrar Docker Compose creada por el desarrollador de Uptime Kuma
    • Todavía no está tan madura como Portainer, pero su punto fuerte es una UI muy simple e intuitiva
    • El desarrollador responde rápidamente a los issues en GitHub, y hay actualizaciones regulares
    • Ideal para quienes prefieren herramientas ligeras y minimalistas

Proxy inverso y VPN

  • Para acceder desde fuera a aplicaciones autoalojadas, hay dos enfoques principales:
    • Exponer el servicio directamente a Internet
    • Acceder a la red interna mediante una VPN
  • La VPN es más segura desde el punto de vista de seguridad, pero exponer servicios a Internet también puede ser bastante útil si se configura bien
  • Pangolin

    • Una solución innovadora que combina VPN y proxy inverso en una sola herramienta
    • Funciona como una especie de Cloudflare para self-hosting
    • Basta con instalar un servidor de ingreso en un VPS o similar para conectarse fácilmente desde distintos entornos usando un cliente VPN
    • Incluye integración con CrowdSec y funciones básicas de SSO
    • Es una herramienta tan impresionante que fue el motivo por el que el autor terminó escribiendo este artículo, y con el tiempo podría convertirse en una alternativa estándar frente a las soluciones actuales
  • Nginx Proxy Manager (NPM)

    • Un frontend de Nginx que permite configurar fácilmente proxies TCP/UDP/HTTP(S) desde una interfaz web
    • Mucha gente lo usa, pero el autor considera que algunas funciones (por ejemplo, la protección con contraseña) son inestables
    • No le dejó la mejor primera impresión al autor, aunque cuando funciona cumple bien su cometido
  • Caddy

    • Con un archivo de configuración simple (Caddyfile), automatiza desde la configuración del proxy hasta la emisión de certificados HTTPS
    • Como no tiene interfaz web, no se recomienda a principiantes, pero para quienes disfrutan la filosofía UNIX es una de las mejores opciones
    • Soporta Let’s Encrypt por defecto, y su ventaja es que no requiere configuraciones complejas
  • NetBird

    • Si ya conoces Tailscale, te adaptarás enseguida a esta solución VPN
    • Configura automáticamente una red basada en WireGuard, reduciendo la necesidad de ajustes complicados
    • Ofrece flexibilidad, ya que puede usarse tanto con el free tier en la nube como en self-hosting

Herramientas de monitoreo de estado y alertas

  • Uptime Kuma

    • Permite monitorear fácilmente el estado de los servicios sin necesidad de stacks pesados como Zabbix o Grafana
    • Con un solo despliegue se pueden configurar alertas a través de varios canales
    • Es excelente para comprobar la disponibilidad de sistemas autoalojados
  • Gotify

    • Un servidor de notificaciones que puede enviar alertas push con una simple solicitud HTTP
    • Después de instalar la app móvil, se pueden recibir notificaciones, y también es posible la integración con Uptime Kuma y otras herramientas
    • Es práctico porque puede usarse junto con distintas herramientas de self-hosting

Recursos adicionales para descubrir apps de self-hosting

  • Una recopilación de recursos útiles para encontrar distintas aplicaciones de self-hosting
  • Awesome-Selfhosted

    • Una enorme lista de software disponible en GitHub
    • Está algo desordenada y también incluye algunos proyectos que ya no se desarrollan
  • Selfh.st

    • Es la fuente de recursos favorita del autor
    • Ofrece un newsletter con recomendaciones de aplicaciones de nicho y un gran directorio de aplicaciones con funciones de ordenamiento
    • Es un sitio muy útil
  • awesome-docker-compose

    • Una colección de archivos Docker Compose listos para ejecutar
    • Algunas aplicaciones pueden tener problemas de compatibilidad por actualizaciones, pero en general es una muy buena referencia

4 comentarios

 
ifmkl 2025-04-04

Compré una N100 en la última oferta de Ali, le instalé promox y por ahora ya respaldé todos los datos del servidor ARM de Oracle que venía usando. Además, dejé instalados Xpenology y pfSense, y aunque todavía no lo estoy poniendo a trabajar en serio, pronto planeo moverlo para usarlo como principal.

 
bus710 2025-04-04

A finales del año pasado contraté una suscripción a un servicio de VPN que estaba en oferta. Empecé a decidirme por hacer self-hosting poco a poco porque ya se ven señales de que se vienen varios cambios en los servicios grandes. Por ahora tendré que ir probando de a poco, migrando las contraseñas y los marcadores del navegador.

 
wedding 2025-04-04

Docker + Portainer + Cloudflare + Uptime Kuma
Así lo estoy usando.

 
GN⁺ 2025-04-03
Comentarios de Hacker News
  • Me gusta la idea del self-hosting. Mantengo varios sitios web y proyectos pequeños, así que los recursos no son un gran problema

    • El problema es la seguridad. No sé bien cómo operar de forma segura un sitio self-hosted desde casa
    • Sigo aprendiendo, pero mientras más aprendo, más preguntas tengo. Me preocupa que, si digo algo incorrecto, alguien pueda entrar a mi red
    • Por esa ansiedad termino usando servicios como Akamai, Linode y DO
    • Estoy buscando recursos sobre seguridad para self-hosting
  • Estoy configurando un VPS nuevo

    • Uso la suscripción para desarrolladores de RHEL 9. Instalé dnf-automatic y automaticé las actualizaciones con reboot = when-changed
    • Para los servicios uso podman y quadlets. Los uso como reemplazo de docker-compose
    • Planeo operar nginx, vaultwarden, postfix, webmail, etc.
    • Estoy desperdiciando mucho espacio en disco por los datos de las imágenes
  • Me preocupa el aumento del self-hosting

    • Los usuarios de self-hosting van a recibir cada vez más atención
    • Sería interesante un artículo sobre cómo rentar un VPS en China
  • Planeo seguir usando dokku para hospedar apps web

  • Administro Hashicorp Nomad, Consul y Traefik con OpenTofu

    • Docker independiente no funciona bien. Si quieres cambiar las propiedades de un contenedor, tienes que recrearlo
    • Quadlet dificulta la administración de clústeres de servicios. Las diferencias sutiles de Podman causan problemas
    • Kubernetes es demasiado pesado. Incluso las distribuciones ligeras siguen siendo pesadas
    • Con mi configuración actual puedo ofrecer servicios HTTPS fácilmente
  • Probé Portainer, pero docker compose me resultó más fácil

    • Si quieres pasarte al modo rootless, Podman es una buena opción. Docker también puede funcionar en modo rootless
    • Docker rootless es estable en Debian y Ubuntu
    • No hace falta Watchtower. Puedes configurar docker compose pull automático con crontab
  • Al hacer self-hosting, recomiendo no usar contenedores y optar por un generador de sitios estáticos

    • Si necesitas funciones dinámicas, puedes usar PHP. También puedes reforzar la seguridad con la configuración de nginx
    • Para datos importantes, recomiendo usar datasets de zfs para los respaldos
  • Hago self-hosting con FreeBSD jails y scripts de shell

    • Renuncié a la comodidad, pero mantengo una interfaz estable
  • Este artículo me motivó a mejorar mi forma de hospedar

    • Tenía proyectos personales corriendo en un VPS de DigitalOcean
    • Me cambié a Portainer + Caddy para implementar administración de contenedores y automatización de certificados SSL
    • Gracias por llevarme a 2025