Configurar un servidor Mastodon autoalojado en un VPS por 5 €

Evaluez cet article !
[Total: 0 Moyenne : 0]


Configurar un servidor Mastodon autoalojado en un VPS a 5 €

Autoalojar Mastodon con un presupuesto ajustado puede parecer arriesgado, pero con un VPS a 5 €, algunas optimizaciones y un método estructurado, es totalmente posible disponer de una red social descentralizada estable. Este artículo explora cada paso, desde los prerrequisitos hasta la puesta en producción segura, pasando por Docker, la configuración SSL y el mantenimiento diario.

En resumen

🔑 En un **VPS a 5 €**, se privilegia **Ubuntu 22.04 LTS**, Docker y un proxy inverso. Esta combinación asegura una **simplicidad de despliegue** y un **coste controlado**.

⚙️ La **instalación** se realiza mediante Docker Compose: recuperación del repositorio Mastodon, edición del archivo **.env**, luego lanzamiento de los servicios. En 15 minutos, su contenedor dispondrá de **PostgreSQL**, **Redis**, y del servicio web.

🔒 Para garantizar una **seguridad mínima**, se utiliza Let’s Encrypt (Certbot) detrás de un **proxy inverso Nginx**. Los certificados se renuevan automáticamente y el tráfico HTTP se redirige a HTTPS.

💾 Las **copias de seguridad programadas** en forma de dumps PostgreSQL y archivos de los volúmenes Docker protegen sus datos. Un script cron puede enviar las copias a un almacenamiento remoto.

1. Elegir y preparar su VPS

1.1 Ofertas a 5 €: criterios de selección

Proveedores como Scaleway, OVHcloud o Hetzner ofrecen VPS de entrada a 5 € al mes, generalmente con 1 vCPU, 2 GB de RAM y 20 GB de almacenamiento SSD. Aunque estos recursos son limitados, Mastodon sigue siendo funcional si se limita la carga (número de usuarios, frecuencia de tareas en segundo plano). Antes de comenzar, verifique:

  • El tipo de almacenamiento (SSD vs HDD): un SSD mejora notablemente las I/O básicas de la base de datos.
  • El ancho de banda y la política de ráfagas.
  • La localización del servidor para la latencia respecto a sus usuarios objetivo.

1.2 Preparar Ubuntu 22.04 LTS

Una distribución estable y reciente garantiza las actualizaciones de seguridad. Después de crear su instancia:

  • Conéctese por SSH: ssh root@votre-ip.
  • Actualice el sistema: apt update && apt upgrade -y.
  • Crear un usuario no root: adduser mastoadmin && usermod -aG sudo mastoadmin.
  • Instale las dependencias básicas: apt install curl git ufw -y.
  • Active el firewall: ufw allow OpenSSH && ufw enable.

2. Instalación de Mastodon con Docker

2.1 Instalar Docker y Docker Compose

Docker simplifica el despliegue aislando los servicios en contenedores. Ejecute:

curl -fsSL https://get.docker.com | sh  
usermod -aG docker mastoadmin  
apt install docker-compose -y

Cierre sesión y vuelva a conectarse para que el usuario se integre en el grupo Docker.

2.2 Clonar el repositorio y configurar el entorno

Cambie a mastoadmin y despliegue Mastodon:

git clone https://github.com/mastodon/mastodon.git ~/mastodon  
cd ~/mastodon  
cp .env.production.sample .env.production

Abra .env.production y ajuste:

  • LOCAL_DOMAIN = su-dominio.tld
  • DB_USER, DB_PASS, DB_NAME
  • REDIS_URL y STREAMING_CLUSTER
Arquitectura Docker de Mastodon en VPS

2.3 Iniciar los servicios

Construya y arranque todos los contenedores:

docker-compose build  
docker-compose up -d

Después de unos momentos, debería ver:

Contenedor Puerto Descripción
web 3000 Interfaz Rails
streaming 4000 WebSocket
sidekiq Tareas en segundo plano
postgres 5432 Base de datos
redis 6379 Cache y colas de tareas

3. Configuración avanzada y optimización

3.1 Configurar SSL con Let’s Encrypt

La seguridad TLS es innegociable. Instale Certbot y un proxy inverso Nginx:

apt install nginx certbot python3-certbot-nginx -y

Creé un bloque de servidor en /etc/nginx/sites-available/mastodon :

server {  
    listen 80; server_name votre-domaine.tld;  
    location / {  
        proxy_pass http://127.0.0.1:3000;  
        include proxy_params;  
    }  
}

Active el sitio y genere el certificado:

ln -s /etc/nginx/sites-available/mastodon /etc/nginx/sites-enabled/  
systemctl reload nginx  
certbot --nginx -d votre-domaine.tld --agree-tos --no-eff-email --redirect

3.2 Optimización del rendimiento

En un VPS pequeño, cada recurso cuenta:

  • Limite la RAM de Docker: en /etc/docker/daemon.json, agregue "default-memory": "1G".
  • Configure sidekiq con un número reducido de hilos (ej. threads: 5).
  • Active el modo producción de assets de Rails para reducir la carga de CPU.

3.3 Copias de seguridad y mantenimiento

Ejemplo de script de backup (cron diario):

#!/bin/bash  
TIMESTAMP=$(date +%F)  
docker exec mastodon_postgres pg_dumpall -U postgres > /var/backups/db_$TIMESTAMP.sql  
tar czf /var/backups/masto_data_$TIMESTAMP.tar.gz ~/mastodon/public/system

Envíe estos archivos a un almacenamiento remoto (rsync, S3, Nextcloud) para evitar cualquier pérdida.

FAQ

  • ¿Se necesita un VPS más potente si la comunidad crece?

    Sí, pase a 4 GB de RAM y 2 vCPU tan pronto como observe un aumento significativo de la carga.

  • ¿Cómo actualizar Mastodon?

    En la carpeta ~/mastodon, ejecute git pull, luego docker-compose build y docker-compose up -d. No olvide migrar la base si es necesario.

  • ¿Puedo personalizar la interfaz?

    Modifique los archivos CSS/JS en app/javascript y reconstruya la imagen Docker. Tenga cuidado con los conflictos en las actualizaciones oficiales.

  • ¿Cómo gestionar los picos de tráfico?

    Active el escalado horizontal de los contenedores web y streaming distribuyendo la carga mediante un balanceador de carga.

Evaluez cet article !
[Total: 0 Moyenne : 0]
Lire aussi  Tutorial paso a paso: Asegura tus transferencias de archivos con SwissTransfer
Julie - auteure Com-Strategie.fr

Julie – Auteure & Fondatrice

Étudiante en journalisme et passionnée de technologie, Julie partage ses découvertes autour de l’IA, du SEO et du marketing digital. Sa mission : rendre la veille technologique accessible et proposer des tutoriels pratiques pour le quotidien numérique.

Deja un comentario