Llevo algún tiempo dando vueltas a como enfocar este tutorial. El objetivo de este tutorial, es mostrarte diferentes servicios que vas a poder auto alojar. Se trata de servicios que pueden sustituir a servicios de terceros, o bien, servicios que te darán algún tipo de funcionalidad que actualmente no tienes, por ejemplo. Básicamente se trata de sacar el máximo partido a esto del self hosted, del auto alojamiento, y sobre todo encaminarnos hacia la soberanía digital. Se tu mismo el dueño de tus servicios, o mejor aún elige que servicios quieres gestionar tu y cuales un tercero.
Pero ¿de que estoy hablando?¿Que es eso de los servicios?¿Que es eso del self hosted y del auto alojamiento?. Me refiero a tener tu propio servicio de mensajería, o tener un blog alojado en una Raspberry, o una sala de voz para chats, o tu propio Spotify, o alojar tus fotografías…
Todo esto, que hasta el momento, puede ser, que lo tengas contratado, o gratis, con un tercero, lo puedes tener en tu propio equipo, o en una Raspberry o en un VPS… Eliges tu….
Self hosted, auto alojamiento y soberanía digital
Conocimientos
No te voy a engañar, para esto del self hosted, auto alojamiento y soberanía digital hacen falta unos conocimientos básicos. Conocimientos, que por otro lado, puedes obtener justo aquí, en atareao.es. Aunque trataré de que todo esto sea lo mas sencillo posible, lo cierto, es que en ocasiones, puede resultar frustrante.
Sin embargo, también te tengo que decir, que es precisamente en esos momentos de frustración, donde no sabes exactamente, porque algo no funciona, o no termina de funcionar del todo, es justo cuando mas se aprende.
Soporte físico
Con soporte físico me refiero a donde vas a instalar todos estos servicios. Donde tendrás tu Google Fotos o tu Spotify o tu Google Drive o toda tu nube.
Inicialmente, todo va a ir dirigido a un VPS. Creo que es la forma más práctica y cómoda. No tienes que tener ningún dispositivo en casa. Y el día que te canses, si es que ese día llega, simplemente, cierras el VPS y a otra cosa mariposa. Pero, de la misma forma, también lo puedes hacer en una Raspberry.
En cualquier caso, aquí en atareao.es puedes encontrar un tutorial para inicializar, tanto una Raspberry como un VPS,
Te recomiendo que te sumerjas en ellos antes de adentrarte en este nuevo tutorial. O también, tienes la opción de recurrir a estos dos tutoriales cuando te encuentres en un callejón sin salida.
Sobre lo necesario
Además del soporte físico donde vas a instalar cada uno de estos servicios, también necesitas un ordenador o una terminal, desde la que puedas trabajar y poner todo esto en funcionamiento.
En mi caso estoy utilizando una distribución Linux para trabajar, pero de la misma forma se podría hacer desde Windows o MacOS, simplemente necesitas una terminal, acceso a la Raspberry o al VPS y muy recomendable es acceso a Internet.
Igualmente, como terminal utilizo Kitty, y un entorno de escritorio del tipo tiling window manager, por comodidad o costumbre. Evidentemente tu utiliza aquello con lo que te encuentres mas cómodo.
Lo que si que te recomiendo encarecidamente es que utilices clave público privada, para acceder al lugar donde estén alojados los servicios. Y te lo recomiendo, tanto por seguridad como por comodidad.
Sobre el software
En el VPS o la Raspberry, o donde alojes todos los servicios, como te puedes imaginar necesitarás un sistema operativo. En mi caso yo siempre utilizo,
- Ubuntu para el VPS
- Raspberry Pi OS para la Rasbperry (en ocasiones también instalo otras distribuciones).
Prácticamente no hay diferencia entre los comandos a utilizar en Ubuntu y Raspberry Pi OS. Sin embargo, quiero aclararte que todo los comandos, instrucciones, instalaciones, etc, las voy a hacer sobre Ubuntu. Ante la duda, confirma que el comando o la instrucción es exactamente en el Sistema Operativo que estés utilizando.
Docker
Por otro lado, y como pieza fundamental para esto del Self hosted, auto alojamiento y soberanía digital, utilizaré Docker. Por supuesto que es posible montar todos estos servicios sobre la propia máquina, pero con Docker o Podman, levantar un servicio, además de ser mas sencillo, también es mas rápido y limpio.
De nuevo, recomendarte o invitarte a que le des un repaso al tutorial sobre Docker. O por lo menos, lo tienes que tener en cuenta para cuando te quedes atascado o tengas una duda.
Primeros pasos
Una vez tengas tu VPS o tu Raspberry preparada, lo primero que vamos a hacer es instalar un Proxy Inverso. ¿Que es eso de un Proxy Inverso? y ¿para que quiero un proxy inverso?.
Un proxy inverso es una pieza de nuestro puzzle que se encarga de dirigir el tráfico al destino adecuado. ¿A que me refiero?
Imagina que en tu VPS o Raspberry tienes un servicio de música y uno de fotos ¿Como puedes llegar a cada uno de ellos?. Este este es el trabajo del proxy inverso. El se encargará de esto. En mi caso yo lo tengo de la siguiente forma,
Para acceder a las fotos tengo: fotos.servidorlinux.es
, mientras que para acceder a la música tengo musica.servidorlinux.es
. Cuando una de estas peticiones llega al servidor, el proxy se encarga de dirigirme a un servicio o a otro. Es así de sencillo.
Y para continuar, montaremos un relay smtp. Pero esto creo que es adelantarme mucho…
Conclusión
Espero que disfrutes de este tutorial tanto como yo. Lo cierto, es que cuando se me ocurrió la idea, me pareció realmente interesante. No solo por el hecho de que que puedes ganar tu soberanía digital, sino porque además puedes mejorar en tu dominio de Raspberry, VPS, shell, Docker, y tantas otras tecnologías.
Más información,
Hey Lorenzo, para los que somos mas vagos, que opinas de Cloudron, Cleavr y compañía? Yo uso Cleavr porque no encuentro una buena alternativa open source
Hola Jacobo,
Pues me parece una tan buena solución como tenerlo alojado en un VPS. Si a ti te funciona, perfecto!
Un saludo.
Me refiero a que uso Cleavr para gestionar mis propios servidores locales y VPS. Me preguntaba si conocías alguna alternativa open source
Hola Jacobo,
La verdad es que no utilizo ninguno de esos servicios, lo hago «a mano».
Un saludo.
también he pensado algo parecido con un vpn de wireguard y el proxy inverso y un vps
Buenas Lorenzo, perdona la pregunta, que proveedor de VPS recomendarías tu y con qué características? Memoria, cpu, ram, hdd?
Buenas Lorenzo, perdona la pregunta, que proveedor de VPS recomendarías tu y con qué características? Memoria, cpu, ram, hdd?
Hola Ulises,
Actualmente estoy utilizando Contabo. Y respecto a las características, depende de lo que quieras hacer y el tráfico que vayas a tener. Si solo es para ti, con lo más básico 1 CPU y 1 GB es mas que suficiente, pero conforme vas pidiendo cada vez necesitas mas.
Un saludo.
¡Hola Lorenzo!
Me resultó curioso escuchar el otro día el episodio del podcast en el que hablabas de esto del «auto-alojamiento». Como curiosidad, sólo comentar que llevo unos meses escuchando el podcast «Self-Hosted», y me parece muy muy interesante. No sé si se pueden poner links por aquí, pero basta una búsqueda por «self hosted podcast» y se encuentra fácil.
Un saludo, y muchas gracias por tu magnífica labor en esto de la divulgación.
P.D: Ya tengo en casa 4 Raspberry Pi, dos «dockerizadas» y dos «a pelo», y no hay color, jejeje.
Hola Lorenzo,
¡Otro que se une a tu proyecto!. Me parece muy interesante.
Yo voy a intentar seguirte con una raspberry pi 4 de 2gb que tengo por aquí.
Me interesaría mucho intentan conseguir mandarme mensajes a través de telegram y la raspberry. Estoy mirando otra publicación que tienes de hace un par de años. Pero me interesaría hacerlo dentro de un contenedor Docker detrás de traefik. A ver si me pongo y consigo crear el contenedor.
Un saludo y enhorabuena por el currazo que haces.
Hola Miguel,
Ánimo con Telegram, Docker y Traefik…
Un saludo.
Hola, primero darte las gracias a ti por el tiempo que le dedicas al proyecto. Una sugerencia, para una aplicación del Self-hosted o para hacer un video, como instalar firefly III.
Por cierto, he seguido los pasos de «Mil servicios con Traefik» en mi VPS y me ha funcionado bien. Luego he intentando instalar firefly con la entrada 261 – SE EL DUEÑO DE TU ECONOMÍA CON FIREFLY,y no he conseguido que me muestre la web, pero creo que está el fallo está en mi configuración de traefik, . Me da los errores:
entryPoint «http» doesn’t exist
no valid entryPoint for this router
¿Qué podrá ser?
Mil gracias, un saludo!
Muchas gracias Charly por comentar…
El de Firefly lo tengo pendiente de hacer… o a lo mejor ya está subido al repositorio no lo recuerdo, pero si no está, estará en breve.
Lo que comentas es por en entrypoint, que creo que lo he cambiado de `http` a `web` respecto a la entra 261… Si no lo encuentras me lo dices y te lo pongo.
Saludos y gracias por comentar
Gracias a ti siempre.
A día de hoy Firefly III no lo tienes subido al repositorio.
El tutorial lo encuentro, lo que pasa que no se donde tengo que cambiar lo de entrypoint, de http a web. Aparte, ¿hay que borrar la regla en traefik?, o ¿solo en borrar el contenedor de Firefly sobra?
Un saludo!!
Hola, te consulto. Llevo tiempo buscando un reemplazo a M365, sobre todo lo referente al espacio que ofrece el paquete de 1 tb para guardas datos. Mi plan seria contratar un servicio para tener mi correo con dominio propio, almacenamiento de mis archivos que hasta hoy son casi 250 gb, proyectos web nada ostentoso, quizas un blog, tal vez montar un nextcloud para aprovechar todas las herramientas de gestión, es posible llevar a cabo con el proveedor que mencionas (Contabo).
Para cuando alguno como rocketchat o matrix o algun servicio de menssajeria con clientes para los dispositivos más tipicos? (android, ios, linux, macos y windows)