- En 2024, cuando la nube y los servicios por suscripción ya son la norma, vale la pena volver a intentar como hobby el self-hosting centrado en software, aprendiendo al configurar sistemas por cuenta propia
- El self-hosting puede ser una forma de resistirse a los servicios privativos, pero como el costo en tiempo y energía mental es alto, la motivación más importante es la diversión y la exploración
- Quienes empiezan no necesitan un servidor físico; pueden arrancar con hosting compartido como Uberspace, conectándose por SSH a un entorno con 10 GB de almacenamiento y 1.5 GB de RAM
- En Uberspace no se puede usar Docker, pero con ayuda de Uberspace Labs y Awesome-Selfhosted es posible operar servicios como Actual Budget y Miniflux
- Al conectar un dominio personal, se pueden configurar subdominios por servicio, direcciones de correo personalizadas y hosting público de archivos para mostrar y mantener más fácilmente lo que se haya montado con self-hosting
La sensación de la computación personal antes de la nube
- En los años 2000, el software y los juegos se distribuían en DVD, y la computadora personal tenía con más fuerza el carácter de ser una máquina de cálculo controlada directamente por su usuario
- En los años 2010, con la expansión de Chromebook y los servicios en la nube, mucho software pasó a ejecutarse en la computadora de otra persona
- A medida que las suscripciones se volvieron, después de la publicidad, la principal forma de monetización en línea, creció también la tendencia de ceder control a cambio de comodidad
- Como resultado, parte de la generación que aprende ciencias de la computación ha tenido menos oportunidades de empezar como entusiasta de las computadoras, y esa actitud hacker de los inicios también se ha ido debilitando
Acercarse al self-hosting como hobby
- El self-hosting puede ser una forma de recuperar el control sobre la identidad digital en un entorno dominado por monopolios
- Si se mira solo desde la practicidad, puede que sea mejor dejar el hosting en manos de otros
- Se puede delegar al proveedor la gestión de estabilidad, concurrencia, redundancia y disponibilidad
- En vez de ahorrar dinero, uno puede terminar pagando con más tiempo y carga mental
- En lo intelectual, se parece más a un garaje digital en constante ajuste
- Puede convertirse en un hobby de llegar al final del día y ponerse a trastear con un sistema que funciona como un juguete favorito
- Más que discutir con rigidez qué cuenta como “self-hosting de verdad”, lo importante es empezar de una forma disfrutable, aunque sea solo en el nivel del software
Crear el primer entorno con hosting compartido
- Para empezar con self-hosting, primero hace falta un lugar donde alojar lo que se quiera montar
- Se recomienda Uberspace como opción de hosting
- Es un tipo de hosting más cercano a “te damos las llaves, solo no incendies el edificio y diviértete”
- Funciona con cobro al final del mes, así que el primer mes se puede usar en la práctica como una prueba gratuita
- Al crear una cuenta, se obtiene acceso por SSH a una computadora conectada a internet
- El entorno ofrecido incluye 10 GB de almacenamiento y 1.5 GB de RAM
- Si ejecutas
ls, verás un directorio de usuario nuevo y vacío
Cómo elegir el software que vas a instalar
- Al buscar software para usar en Uberspace, hay dos recursos especialmente útiles
- Uberspace Labs: una guía dedicada a cómo instalar distintos programas en Uberspace
- Awesome-Selfhosted: una lista amplia de software que se puede autoalojar, ideal para encontrar proyectos con cierto nivel de comunidad
- En Uberspace no se puede usar Docker
- Por las limitaciones de memoria, es difícil ejecutar una suite completa de virtualización
- Esto puede ser incómodo para software grande o instalaciones pensadas solo para Docker, pero hay formas de rodearlo, como instalar desde el código fuente o usar el runtime final del proceso de dockerización como si fuera una imagen de compilación
Ejemplo 1: administrar tus datos financieros con Actual Budget
- Actual Budget es una app de finanzas rápida y centrada en la privacidad
- Es adecuada para quienes quieren seguir sus gastos, patrimonio neto y patrones de consumo
- Permite operar sin confiar información financiera sensible a otros servicios, manteniendo acceso desde cualquier lugar a través del navegador
- En el centro de su enfoque presupuestario está la metodología de Envelope Budgeting
- La guía de instalación para Uberspace puede verse en guide_actual
- En la sección de reportes, se pueden recortar y analizar los datos financieros de distintas maneras
- Incluso compras que parecían pequeñas pueden volverse significativas al sumarse durante un mes
- Se pueden obtener insights como descubrir que el costo del traslado diario es mayor de lo esperado
Ejemplo 2: recuperar tus feeds con Miniflux y RSS
- Miniflux es un lector de feeds minimalista y con una visión muy clara
- Con RSS, se pueden revisar en un solo lugar las actualizaciones de medios, revistas y blogs favoritos
- Incluso los canales a los que estás suscrito en YouTube pueden organizarse como una línea de tiempo de feeds dedicada y sin anuncios
- YouTube ofrece feeds RSS
- El reproductor de YouTube incrustado no tiene anuncios
- Después de instalar Miniflux en Uberspace, puedes agregar los feeds de tus canales favoritos de YouTube
- Si activas la Fever API en la configuración, los clientes RSS capaces de leer Fever API podrán acceder al agregador RSS en la nube
- En el ecosistema de Apple, se recomienda Unread de Golden Hill Software
- También se pueden separar categorías de feeds para noticias y webcómics
Crear un espacio para mostrarlo con un dominio personal
- Parte de la diversión del self-hosting es poder mostrar lo que uno construye
- Un dominio personal funciona como tu propio espacio en línea
- Se recomienda Porkbun como servicio de registro de dominios
- Si tienes un dominio como
awesauce.com, puedes hacer varias configuraciones- Puedes conectar servicios alojados en Uberspace a subdominios como
actual.awesauce.comyminiflux.awesauce.com - Si tu proveedor de correo admite dominios personalizados, puedes crear una dirección como
contact@awesauce.com- Aunque cambies de proveedor de correo más adelante, la dirección se puede conservar
- El correo con dominio personalizado puede ser de pago
- También puedes vincular un subdominio o una ruta de URL a un repositorio de GitHub para publicar archivos como un currículum en
awesauce.com/files/resume.pdf
- Puedes conectar servicios alojados en Uberspace a subdominios como
Próximas exploraciones dejadas a propósito
- El objetivo de este texto no es ofrecer un tutorial detallado paso a paso, sino despertar la curiosidad por experimentar directamente
- Como tarea para que cada lector la explore por su cuenta, queda pendiente cómo enviar notificaciones al móvil cuando un producto específico vuelva a estar disponible o cuando cambie un sitio web
- La conversación relacionada en Hacker News continúa en este hilo
1 comentarios
Opiniones en Hacker News
Desde una perspectiva antigua, sorprende que pagar por hosting compartido ahora se llame “self-hosting”. No quiero decir que eso sea malo en sí, pero hace 10 años creo que jamás lo habríamos llamado self-hosting.
Es parecido a cómo cambió el significado de “cocinar desde cero”. Un libro de cocina del siglo XIX quizá habría puesto “1 cerdo” como ingrediente y te habría dicho que lo sacrificaras, pero hoy obviamente compras cortes de cerdo en una charola de unicel.
Pero también hay un gran mercado de personas que pueden obtener los beneficios del self-hosting sin necesidad de entender todos los detalles. Por ejemplo, usar servicios administrados con tu propio dominio te da bastantes ventajas como propiedad de los datos, software de código abierto y competencia entre proveedores. Por eso parece hacer falta un término más amplio, y últimamente se está usando la expresión hosting indie.
La excepción generalmente aceptada es la protección de red. Si es posible, no quieres exponer la dirección IP de tu casa al exterior, así que mucha gente usa Tailscale, Cloudflare Tunnel o un VPS como proxy.
Y si eso no fuera suficiente, en el congelador también tengo carne de cerdo de un animal que crié y preparé yo mismo, y tocino curado en casa. La frase “un alma vieja viviendo en un mundo nuevo” me queda bastante bien.
Ya sea que hayas alquilado ese hardware, armado tu propio servidor o usado una máquina virtual proporcionada por el proveedor, la carga de mantenimiento es similar. Aun así, sigue siendo distinto de usar Wix/Squarespace, Geocities o plataformas de redes sociales.
“Así que aquí va una introducción suave al self-hosting que no es ‘self-hosting de verdad’, pero en fin, es sobre self-hosting. Demándenme si quieren.” Eso dijo :)
Me encanta el self-hosting y en los últimos meses me metí bastante a fondo. Ahora opero varios servicios para la empresa y un homelab, y despliego en Hetzner VPS con Ansible + archivos de Docker Compose o con https://github.com/coollabsio/coolify/
El repositorio awesome-selfhosted también es bueno para encontrar proyectos para self-hosting, pero le faltan funciones de facilidad de uso, así que armé un directorio con algunas mejoras de experiencia de usuario en https://selfhostedworld.com. Tiene búsqueda, filtros por número de estrellas/popularidad/fecha y modo oscuro.
Me pregunto si con herramientas modernas y máquinas virtuales es relativamente seguro, o si hay que estar pendiente todo el tiempo, como revisar actualizaciones de software cada semana. Desde hace mucho quiero montar un servidor, y ahora que tengo una laptop de sobra estoy pensando en correr al menos un NAS.
https://ptah.sh
Para autenticación también preparé una comparación de servidores OIDC: https://github.com/lastlogin-net/obligator#comparison-is-the...
Hay quienes dicen que “lo que ahorras en dinero lo pierdes en tiempo y salud mental, así que en términos prácticos es una tontería”, y en las comunidades de self-hosting Kubernetes suele recibir muchas miradas de desaprobación. Pero el self-hosting en general ya tiene algo de eso, así que tampoco está mal ir hasta el final.
Tengo NixOS en 3 Dell R720XD y los estoy corriendo como k3s multi-master. Para almacenamiento uso rook/ceph, con unos 12 discos duros de tamaños variados. Mi truco favorito para las reuniones es sacar cualquier disco duro del clúster mientras hago streaming de video, y no pasa nada. Lo vuelvo a insertar y todo regresa como si nada hubiera pasado; todavía me queda mucho espacio, así que sigo buscando cosas útiles para alojar
En lo personal, incluso con una configuración de 4 desktops pequeñas uso Docker Swarm. Con el hardware que tienes, diría que solo en electricidad fácilmente te puede salir unos 200 dólares al mes. Docker Swarm es viejo y no es popular, pero es apenas un poco más complejo que Docker puro y cubre todo lo necesario para despliegues multinodo y orquestación
Así obtienes las ventajas de la configuración de NixOS, pero puedes ejecutar aplicaciones arbitrarias que quizá no estén en nixpkgs. Para almacenamiento uso ZFS en Proxmox, que es el hipervisor, y lo expongo localmente vía NFS.
[1] https://github.com/aksiksi/compose2nix
El artículo original acierta bien en esto: “Es 2024, así que ya es hora de volver a mirar el placer fundamental de configurar nuestros propios sistemas”.
El self-hosting es realmente divertido. Porque mezcla aprendizaje, desafío y utilidad práctica. +1 para Actual Budget y Changedetection.io. Pero -1 por no tratar el modelado de amenazas y la seguridad. El autor original usa HTTPS, pero deja el sitio web abierto a Internet público. Quien esté empezando debería alojar solo en la LAN o cerrarlo con mucha fuerza. Dicho eso, en hosting compartido puede ser complicado si no hay restricciones por IP o tunneling, y no sé si uberspace ofrece algo así. Para quienes ya pasaron la etapa inicial, recomendaría algo como Docker para correr más aplicaciones en paralelo. Las dependencias empaquetadas son lo máximo. Haciendo un poco de promoción de mi libro, que también cubre el enfoque con Docker: https://selfhostbook.com
Estoy de acuerdo con los otros veteranos.
Si no hay hardware propio corriendo en un espacio que posees o rentas, no es self-hosting. Ahora uso una pequeña caja Micro-ITX, pero antes tenía un rack de servidor de verdad con un servidor 6U, UPS y equipo de red. Eso fue antes de casarme
Me encanta el self-hosting. Aprendí mucho haciendo pequeños proyectos de hobby.
Para quien tenga curiosidad por mi configuración: compré barato en eBay un Dell R630 usado. Tiene SSD de 1 TB en RAID 1, 32 GB de RAM y 32 cores, y me divierto corriendo pequeñas apps de hobby con Docker, virsh y minikube. Aprendí los tres. Tengo fibra de 1 Gbps, y un cron job revisa cada minuto si cambió la IP; si cambió, actualiza el registro DNS A mediante la API de Linode
¿1.5 GB de RAM y 10 GB de disco? El VPS cloud básico de Hetzner da 4 GB de RAM y 40 GB de disco por 4.51 euros
Para cómputo dice: “cada tenencia recibe gratis cada mes las primeras 3,000 horas de OCPU y 18,000 horas de GB para crear instancias Ampere A1 Compute. Ese uso de la capa gratuita se comparte entre bare metal, máquinas virtuales e instancias de contenedor”. Para almacenamiento en bloque es algo como: “la asignación de la capa gratuita del servicio Block Volume es de un total de 200 GB para toda la tenencia. Si hay varias estimaciones en la misma tenencia, solo se aplican 200 GB en total”. O sea que, en la práctica, tienes 4 cores de CPU ARM + 24 GB de RAM + 200 GB de espacio gratis
Spoiler: este artículo no trata sobre self-hosting, sino sobre hosting compartido
Pero si alguien te susurra K8S al oído…
Cuando te gradúes de esta guía, también conviene revisar /r/homelab y /r/homedatacenter ;)