Introducción

Esta es una guía para convertir un portátil viejo en una nube autosuficiente, equipada con:

Tu propia nube y streaming de música en un portátil reciclado.

Requisitos

  • Un ordenador (en mi caso, un portátil HP Elitebook de 2015).
  • Un disco duro externo (en mi caso, un HDD de 4TB).
  • Debian 12 con entorno XFCE instalado. Seguramente el proceso sea el mismo con cualquier distribución Linux basada en Debian. Yo usé Debian directamente (ni Ubuntu ni Tails… por decir algunas), por su estabilidad; y el entorno de escritorio XFCE por lo liviano, es ideal para portátiles viejos con pocos recursos.
  • Conexión a Internet.
  • ¡Ganas de cacharrear!

Paso 1: Instalar Debian 12 + XFCE

Doy por sentado que sabes descargar cualquier distribución Linux y que sabes crear un pendrive booteable con programas como Balena Etcher, por ejemplo.

  • Instala Debian en tu ordenador y selecciona XFCE como entorno de escritorio (ligero y funcional).
  • Particiona el disco según necesidad (modo experto si te atreves).
  • Crea tu usuario.

Paso 2: Conectar y montar el disco duro externo

Conéctalo y crea un punto de montaje permanente:

sudo mkdir -p /mnt/nube
sudo blkid # Identifica UUID del disco
sudo nano /etc/fstab
# Añade la línea con el UUID, punto de montaje y tipo de sistema de archivos

Paso 3: Instalar y configurar Nextcloud

Dependencias:

sudo apt update && sudo apt install apache2 mariadb-server libapache2-mod-php php php-mysql php-gd php-json php-curl php-mbstring php-xml php-zip unzip

Base de datos:

sudo mysql -u root
CREATE DATABASE nextcloud;
CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'tu_contra_segura';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextclouduser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Instalar Nextcloud:

cd /tmp
wget https://download.nextcloud.com/server/releases/latest.zip
unzip latest.zip
sudo mv nextcloud /var/www/
sudo chown -R www-data:www-data /var/www/nextcloud

Configurar Apache:

sudo nano /etc/apache2/sites-available/nextcloud.conf

Contenido:

<VirtualHost *:80>
    DocumentRoot /var/www/nextcloud/
    ServerName localhost

    <Directory /var/www/nextcloud/>
        Require all granted
        AllowOverride All
        Options FollowSymLinks MultiViews
    </Directory>
</VirtualHost>
sudo a2ensite nextcloud.conf
sudo a2enmod rewrite headers env dir mime
sudo systemctl restart apache2

Ahora entra a http://localhost y completa la instalación gráfica.

Paso 4: Añadir tu dominio Tailscale como "trusted domain"

Edita el archivo de configuración:

sudo nano /var/www/nextcloud/config/config.php

Agrega tu IP Tailscale o dominio en trusted_domains.

Paso 5: Instalar Tailscale

curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up

Inicia sesión con tu cuenta y apunta la IP generada.

Paso 6: Instalar Navidrome

cd /opt
sudo wget https://github.com/navidrome/navidrome/releases/latest/download/navidrome_0.55.2_linux_amd64.tar.gz
sudo tar -xvzf navidrome_0.55.2_linux_amd64.tar.gz
sudo rm navidrome_0.55.2_linux_amd64.tar.gz

Crear archivo de configuración:

sudo nano /opt/navidrome/navidrome.toml

Contenido básico:

MusicFolder = "/mnt/nube/Music"
Port = "4533"

Crear servicio systemd:

sudo nano /etc/systemd/system/navidrome.service

Contenido:

[Unit]
Description=Navidrome Music Server
After=network.target

[Service]
User=kasper8
ExecStart=/opt/navidrome/navidrome
Restart=on-failure

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl enable --now navidrome

Navidrome debería estar disponible en http://localhost:4533 o a través de tu IP Tailscale.

Paso 7: Usar Symfonium en el móvil

  • Descarga desde F-Droid o Google Play. O echa un ojo a su web para más información.
  • Conéctate a la IP Tailscale: http://<ip-tailscale>:4533
  • Usuario y contraseña según hayas definido en Navidrome.

Fin

Ya tienes tu propia nube privada y sistema de streaming de música funcionando en una máquina reciclada. ¿Spotify? ¿Dropbox? No, gracias. Ahora solo pagarás por el consumo eléctrico de tu ordenador. Si tienes cualquier duda, estaremos encantado de que contactes e intentemos resolver cualquier problema que te surja.

¿Por qué esto importa?.. No se trata solo de ahorrar dinero o evitar el rastreo de las grandes corporaciones: se trata de recuperar la soberanía digital. Cada vez que autohospedas un servicio, cada vez que eliges software libre, cada vez que reciclas hardware, estás votando por un internet más abierto y menos centralizado.

Pero antes de despedirnos, hablemos claro: Tailscale (así funciona) es increible y facilita un free-tier muy decente asegurando una conexión segura entre tus dispositivos, pero no es una solución 100% descentralizada. Aunque el contenido de tus datos sí está cifrado, la herramienta usa sus propios servidores DERP (Designated Encrypted Relay for Packets) para "coordinar la red". No es lo mismo que ceder el contenido de tus archivos, pero sí es una dependencia mínima. Si buscas soberanía absoluta, hay alternativas:

  • WireGuard: Configura una VPN manualmente (máximo control pero más complejo, cabe destacar que es lo que usa Tailscale bajo el capó).
  • Headscale: Auto-hospeda tu propio servidor de coordinación (compatible con el cliente de Tailscale, pero sin depender de sus servidores). Ideal si quieres control total.

Y un último apunte para los que quieran ir más allá: Hemos desplegado este mismo sistema en un equipo más pequeño y eficiente usando 3 contenedores Docker.

La ventaja: el despliegue y mantenimiento de los servicios es mucho más sencillos que en bare-metal. La desventaja: Hay que aprender los básicos de Docker, pero vamos, si has llegado hasta aquí puedes estar seguro de que esto no te resultará un problema.

En fin! Ahora si, gracias por la atención y disfruta de tu independencia digital.