Vamos a montar un servidor casero en FreeBSD con los servicios que voy a enumerar. Seguro que faltan algunos, pero estoy contento con lo que hace.

El fierro en el que instalar todo no tiene que tener mucha potencia, el mío tiene 4 GB de memoria y un procesador celeron modesto. Un portátil viejo sirve también, sé que es una opinión con la que no todo el mundo está de acuerdo, argumentando que un portátil no está preparado para estar 24/7 trabajando, que se va a viciar la batería, que se va a calentar… A ver, hablamos de un servidor casero, en realidad va a tener poco trabajo la mayor parte del tiempo, la batería ya está viciada ahora, que estamos hablando de un portátil viejo y si se calienta que se caliente. El portátil ya lo tenías tirado por ahí, así que aprovéchalo hasta que reviente. De todas maneras, he tenido portátiles haciendo de servidores años y cambiarlos porque ya tenía otro portátil que se había convertido en viejo. Las ventajas de un portátil son que ya lo tienes por ahí, que le consumo es bajo para tenerlo encendido día y noche, si le queda un hálito a la batería te sirve en caso de que un corte eléctrico cortito; la configuración se hace siempre por ssh, pero tienes la opción de una pantalla y un teclado en el mismo servidor. A mí me parece buena opción. También podría ir bien una Raspberry con suficiente RAM, o una con solo un giga de memoria, pero en ese caso tendríamos que renunciar al sistema de ficheros ZFS y utilizar UFS, pero algunas cosas serían más difíciles.

Qué hace el servidor:

  • Descargas de ficheros, sea por torrent o por la red eDonkey. Esto siempre ficheros sobre los que tengas propiedad, nada de piratear que eso está feo.
  • No se anima desde aquí a piratear nada de nada. El torrent está bien, no digo que no, pero la red eDonkey, con cualquiera de los clientes que se pueden conectar a ella (Emule, Amule, MlDonkey, etc.) es lo que mejor funciona y le da mil patadas al torrent, pero allá cada cual con sus costumbres.
  • VPN con WireGuard. Si quieres conectarte a una WiFi pública en una biblioteca, hotel o centro comercial, lo mejor es que lo hagas a través de una VPN si no quieres que espíen todas las páginas que visitas.
  • Los documentos que tengas en el servidor querrás que sean accesibles desde los otros dispositivos que tengas en tu red, se puede hacer por Samba, pero a mí me gusta más NFS, así que tengo una carpeta compartida con ese sistema.
  • Nextcloud. Puedes tener unos pocos documentos accesibles desde cualquier lugar del mundo, puedes configurar tu móvil para que suba aquí las fotos que hagas automáticamente, y los contactos que añadas. Puedes editar documentos online sin depender de servicios de terceros.
  • Ghost. La web que estás leyendo está escrita en esta plataforma para escribir blogs, yo la utilizo de forma simplísima, pero se pueden añadir usuarios, permitir comentarios y no sé cuantos servicios más que no tengo implementados.
  • Servidor multimedia. Aquí uso dos:
    • El más sencillo, pero el que uso más, es el MiniDLNA, la tele reconoce el servicio, y simplemente veo las películas o las series sin complicaciones.
    • *arr. Internet está lleno de manuales de cómo instalar este tipo de servidor, pero lo hice solo por el reto de hacerlo, no me parece que me aporte mucho más allá de que siempre se aprende algo al configurarlo, pero ya tenía mis necesidades cubiertas sin esto. Transmission, Sonarr, Prowlarr, Bazarr y Jellyfin, son las aplicaciones que tengo instaladas.
  • AdguardHome. Filtra los anuncios en todos los dispositivos que tengas conectados a tu red, entre los móviles y los ordenadores de la familia son unos cuantos, y para ellos es transparente, simplemente no ven los anuncios.

Todo esto necesita de otros servicios complementarios para que todo pueda funcionar:

  • Cortafuegos.
  • Envío de correos para que me avise si el disco duro está teniendo problemas o si hay alguna vulnerabilidad en las aplicaciones instaladas.
  • Bastille para las jaulas (jails). Todos los servicios corren en jaulas independientes de forma que si alguno de los servidores tiene un fallo de seguridad no pueda aprovecharlo para atacar todo el sistema, solo uno de ellos. Al estar todo compartimentado la seguridad es mucho mayor. Este sistema inventado por FreeBSD tiene más años que el hilo negro, luego Docker hizo lo correcto copiando las cosas buenas que hay en el mundo y lo implementó para linux.
  • Proxy invertido. Según lleguen las peticiones web a una url u otra traslada las peticiones a una jaula u otra.
  • Copias de seguridad. Que no falten nunca.
  • No pago por una IP estática, así que tengo que comunicar a DuckDNS cada vez que mi proveedor de telefonía me la cambie para seguir conectándome desde el exterior a Nextcloud, al blog o al servidor multimedia.

Creo que está bien aprovechado ese portátil viejo que muchos tenemos por ahí.

Un servicio típico de los servidores caseros que no está en mi lista es servidor de ficheros. Para ello sí que necesitamos una máquina más potente, una caja para discos duros, otra máquina externa (más pequeña, pero otra distinta) para las copias de seguridad… En definitiva ese es otro follón distinto que hay que abordar de manera más seria porque los datos son lo más querido y hay que tratarlos bien. El proyecto del que os hablo no es crítico, en realidad si mañana revienta todo, una vez que tengo copia de seguridad de Nextcloud, no perdería gran cosa más allá del tiempo invertido.