ES/ Monta tu propia nube con Nextcloud y servicio de streaming de música con Navidrome en un viejo ordenador // EN/ Set up your own cloud with Nextcloud and music streaming service Navidrome on an old computer
ES/ Aquí el boletín que hace referencia a este post. // EN/ Here is the newsletter which refers to this post.
🇪🇸 Español
Introducción
Este documento es una guía para convertir un portátil viejo en una nube autosuficiente, equipada con:
- Nextcloud (tu Dropbox libre)
- Navidrome (tu Spotify privado)
- Tailscale (conexión remota sin dolores de cabeza)
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 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
- Conéctate a la IP Tailscale: http://: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, estaré encantado de que contactes conmigo e intentemos resolver cualquier problema que te surja.
¡Disfruta la independencia digital!
🇬🇧 English
Introduction
This guide will walk you through converting an old laptop into a self-hosted cloud, featuring:
- Nextcloud (your own open-source Dropbox)
- Navidrome (your private Spotify)
- Tailscale (headache-free remote access)
Requirements
-
A computer (I used an HP Elitebook from 2015).
-
An external hard drive (mine is a 4TB HDD).
-
Debian 12 with the XFCE desktop environment installed. This guide should also work with any Debian-based Linux distribution. I used Debian itself (not Ubuntu or Tails, for example) for its stability and because XFCE is a lightweight desktop environment—perfect for older laptops. I’m assuming you already know how to download any Linux distribution and make a bootable USB with something like Balena Etcher.
-
Internet connection.
-
Willingness to tinker!
Step 1: Install Debian 12 + XFCE
- Select XFCE as your desktop environment (light and functional).
- Partition the disk as needed (use expert mode if you feel brave).
- Create your user.
Step 2: Plug in and mount the external hard drive
- Plug it in and create a permanent mount point:
sudo mkdir -p /mnt/nube
sudo blkid # Identify your disk's UUID
sudo nano /etc/fstab
# Add a line with the UUID, mount point, and filesystem type
Step 3: Install and configure Nextcloud
Dependencies:
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
Database:
sudo mysql -u root
CREATE DATABASE nextcloud;
CREATE USER 'nextclouduser'@'localhost' IDENTIFIED BY 'your_strong_password';
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextclouduser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Install 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
Configure Apache:
sudo nano /etc/apache2/sites-available/nextcloud.conf
Content:
<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
Now go to http://localhost and complete the graphic installation.
Step 4: Add your Tailscale domain as a “trusted domain”
Edit the config file:
sudo nano /var/www/nextcloud/config/config.php
Add your Tailscale IP or domain to trusted_domains
.
Step 5: Install Tailscale
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
Sign in with your account and note down the generated IP.
Step 6: Install 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
Create config file:
sudo nano /opt/navidrome/navidrome.toml
Basic content:
MusicFolder = "/mnt/nube/Music"
Port = "4533"
Create systemd service:
sudo nano /etc/systemd/system/navidrome.service
Content:
[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 should now be available at http://localhost:4533 or via your Tailscale IP.
Step 7: Use Symfonium on your mobile
- Download from F-Droid or Google Play
- Connect to your Tailscale IP: http://:4533
- Username and password as set up in Navidrome
Done
You now have your own private cloud and music streaming system running on a recycled machine. Spotify? Dropbox? No, thanks. Now you’ll only pay for your computer’s electricity. If you have any questions, I’ll be happy if you get in touch and we’ll try to solve any issues you might have together.
Enjoy your digital independence!