Mastodon Server: cómo crear un servidor paso por paso
Tener tu propio servidor de Mastodon te permite controlar totalmente tus datos y la moderación de tu comunidad. Es una forma de lograr una experiencia de usuario personalizada, sin publicidad y con protección de datos.
Requisitos para tener un servidor de Mastodon
Puedes empezar con un servidor pequeño e ir ampliando según sea necesario para seguir el ritmo al crecimiento de tu comunidad. Para crear un servidor de Mastodon necesitas:
- VPS u otro servidor: Puedes operar Mastodon en un servidor local, pero un Virtual Private Server (VPS) es una solución más flexible y fácil de gestionar. Lo ideal sería que el servidor usara Ubuntu 20.04 o Debian 11 como sistema operativo y que te garantice acceso root para aplicar la configuración necesaria.
- Dominio o subdominio: Necesitas un dominio o subdominio propio para identificar a tu servidor Mastodon. Así, los usuarios podrán encontrar tu instancia y conectarse con ella.
- Disponibilidad web continua: Tu servidor debe estar conectado constantemente para que otras personas puedan usar tu instancia de Mastodon.
- Proveedor de correo electrónico: Mastodon envía notificaciones y enlaces de confirmación por email por lo que necesitas un proveedor de correo electrónico. Puedes instalar tu propio servidor SMTP aunque probablemente un software de terceros sea más práctico. Mastodon recomienda por ejemplo Mailgun, Sparkpost o Sendgrid.
- Object Storage Provider (opcional): Se recomienda usar un proveedor de almacenamiento de objetos compatible con Amazon S3, ya que Mastodon guarda imágenes, vídeos y otros archivos multimedia en el servidor. Si cuentas con espacio de almacenamiento adicional te aseguras de que tu instancia funciona sin problemas y de tener suficiente espacio para los datos de usuarios.
Asimismo, tu servidor debe cumplir con los siguientes requisitos técnicos:
- CPU/Potencia de cálculo: mín. 2 núcleos
- RAM/Memoria de trabajo: mín. 2 GB
- Disco duro: mín. 30 GB
Mastodon usa una base de datos (PostgreSQL) para almacenar los datos de usuario y otra información. Si tienes muchos usuarios, puede haber muchos accesos a la base de datos. Asegúrate de que tu base de datos esté lo suficientemente optimizada y de tener suficientes recursos (CPU y RAM) para procesar estos accesos de manera eficiente.
Alojar un Mastodon Server con un VPS de IONOS
Si quieres iniciar tu propia instancia de Mastodon pero no sabes qué plan de VPS es el idóneo, IONOS te ofrece potentes paquetes de VPS con recursos dedicados y tráfico ilimitado a muy buen precio.
Para un servidor Mastodon sencillo, el paquete VPS Linux S de IONOS es la opción perfecta. Te ofrece 80 GB de espacio y hasta 1 Gbit/s de ancho de banda. Si necesitas más recursos, solo tienes que subir al siguiente paquete de servicio.
Usos de servidores de Mastodon y las tarifas de IONOS correspondientes
Para decidir cuál es el paquete de VPS adecuado debes considerar el posible número de usuarios de tu instancia de Mastodon. Según el tráfico que esperes te recomendamos las siguientes tarifas de IONOS:
Uso de servidor de Mastodon | Servidor VPS IONOS adecuado |
---|---|
hasta 100 personas | VPS Linux M |
100-1000 personas | VPS Linux L |
1000-10000 personas | VPS Linux XL |
a partir de 10000 personas | VPS Linux XXL |
Además, puedes ejecutar tu servidor de Mastodon en paralelo a otros servicios. Por ejemplo, puedes iniciarte con una pequeña base de usuarios con estas tarifas:
Uso de servidor de Mastodon | Servidor VPS IONOS adecuado |
---|---|
Operar una página web sencilla en paralelo | VPS Linux M |
Operar en paralelo un servidor de voz | VPS Linux M |
Operar en paralelo una tienda web | VPS Linux L |
Cómo crear un Mastodon Server paso por paso
Paso 1: preparar el servidor
La mayoría de los proveedores de hosting ofrecen la posibilidad de elegir el sistema operativo durante la configuración. Mastodon funciona mejor con Ubuntu 20.04 y Debian 11. Si es posible, decántate por uno de estos sistemas operativos. Cuando tu VPS esté configurado, conéctate a tu servidor por SSH utilizando un terminal (Linux/Mac) o un cliente SSH como PuTTY (Windows).
Crea your_server_ip
mediante la dirección IP de tu VPS.
Para proteger tu sistema operativo usa SSH Keys y configura las normas de cortafuegos con iptables para liberar solo los puertos HTTP(S) y SSH. Luego apunta el registro A de tu dominio o subdominio a la dirección IP del VPS. Para IPv6 añade además un registro AAAA.
Actualiza el gestor de paquetes y los paquetes de sistema:
Paso 2: instalar paquetes necesarios
Mastodon requiere múltiples paquetes y dependencias para funcionar correctamente, por ejemplo: Node.js, Yarn, PostgreSQL, Redis y Nginx.
Primero instala los paquetes básicos:
Node.js
PostgreSQL
Paquetes de sistema
Yarn
Ruby
Mastodon está escrito en Ruby, por lo que necesita Ruby y Bundler. Primero, crea el usuario bajo el que se ejecutará Mastodon:
Ahora, cambia a la cuenta de usuario recién creada:
Instala rbenv
y rbenv-build
:
Una vez terminado, instala la versión correcta de Ruby y Bundler:
Vuelve con exit
al usuario root.
Paso 3: configurar PostgreSQL
El servidor de Mastodon usa PostgreSQL para almacenar y administrar datos. En el paso anterior ya instalaste el servidor de la base de datos. Pasa ahora al usuario de Postgre para acceder al shell de PostgreSQL:
Mastodon inicia sesión en el servidor de la base de datos sin contraseña, por lo que el nombre de usuario del sistema de Linux y el de la base de datos deben coincidir. Ejecuta los siguientes comandos en PostgreSQL para crear la base de datos:
Puedes mejorar el rendimiento de tu base de datos PostgreSQL ajustando los recursos de sistema disponibles. Para ello, una herramienta útil es el generador de configuraciones pgTune, donde introduciendo datos como la cantidad de núcleos de la CPU y el tamaño de la RAM recibes una configuración optimizada PostgreSQL que indicas en postgresql.conf
.
Paso 4: instalar Mastodon
Lo siguiente es volver al usuario de Mastodon:
Descarga la última versión estable de Mastodon:
Instala las dependencias de Ruby y JavaScript:
Ejecuta el asistente de configuración de Mastodon:
Ahora se te pedirán diversos ajustes que finalmente se guardarán en el archivo .env.production
.
- Domain name: indicar nombre de dominio del servidor VPS
- Do you want to enable single user mode?: N
- Are you using Docker to run Mastodon?: N
- PostgreSQL host: default - Enter
- PostgreSQL port: default - Enter
- Name of PostgreSQL database: default - Enter
- Name of PostgreSQL user: default - Enter
- Password of PostgreSQL user: dejar vacío - Enter
- Redis host: default - Enter
- Redis port: default - Enter
- Redis password: default – Enter
- Do you want to store uploaded files on the cloud?: N
- Do you want to send e-mails from localhost?: N
- SMTP server: indicar servidor SMTP
- SMTP port: indicar puerto del servidor SMTP
- SMTP username: nombre de usuario para el inicio de sesión
- SMTP authentication: plain
- SMTP OpenSSL verify mode: none
- E-mail address to send e-mails “from”: normalmente como el login de SMTP
- Send a test e-mail with this configuration right now?: Y
- Send test e-mail to: indicar dirección para recibir correos
- Save configuration?: Y
- Prepare the database now?: Y
- Compile the assets now?: Y
- Do you want to create an admin user straight away?: Y
- Username: admin
- E-Mail: correo propio
Vuelve a cambiar al usuario root:
Paso 5: instalar el certificado SSL
Los servidores VPS de IONOS ya incluyen por defecto un certificado SSL. Si el paquete que has elegido no tiene certificado, puedes instalarlo fácilmente.
Let’s Encrypt ofrece certificados SSL de manera gratuita, que además se instalan y renuevan fácilmente.
El certificado se guardará en la carpeta /etc/letsencrypt/live/example.com/
de tu Mastodon Server.
Paso 6: configurar Nginx
Copia la plantilla de configuración de Nginx del directorio de Mastodon y pégala en el directorio sites-available
de Nginx:
Crea un enlace simbólico del archivo de configuración en sites-enabled
para activarlo y elimina la configuración estándar:
Abre el archivo de configuración de tu servidor Mastodon:
Introduce tu nombre de dominio en example.com
.
Descomenta las líneas ssl_certificate
y ssl_certificate_key
y sustituye las rutas con las de tu certificado SSL. Si usas el certificado de autofirma estándar, no se modifican las rutas:
Una vez hechos los cambios en la configuración, reinicia Nginx para aplicarlos:
Paso 7: configurar los servicios de Systemd
Cuando actives los servidores de Systemd, la aplicación web de Mastodon y las funciones de streaming en tiempo real se activarán automáticamente cuando se inicie el servidor. Esto garantiza que tu servidor de Mastodon esté permanentemente disponible.
Copia las plantillas de servicio de Systemd de Mastodon en el directorio correspondiente:
Si en algún momento has cambiado los valores predeterminados, comprueba que el nombre de usuario y la ruta de las plantillas de servicio son correctas:
Inicia y activa los servicios Systemd:
- systemctl daemon-reload: actualiza la configuración de Systemd para tener en cuenta las nuevas plantillas de servicio.
- systemctl enable –now mastodon-web mastodon-sidekiq mastodon-streaming: estos servicios se encargan de la aplicación web, el procesamiento en segundo plano y las funciones de streaming en tiempo real.
Paso 8: modificar las restricciones de caracteres
Al operar tu propio servidor de Mastodon tienes la libertad de hacer cambios que normalmente no son posibles en los servidores públicos. Un ejemplo es la modificación de la limitación de caracteres de los mensajes. Normalmente está fijada en 500 caracteres, pero puede aumentarse o reducirse.
Primero debes cambiar al usuario de Mastodon en la consola, y luego editar dos archivos.
En los siguientes archivos introduce el valor al que quieres limitar los caracteres:
compose_form.js
en el directorio~/live/app/javascript/mastodon/features/compose/components/
status_length_validator.rb
en~/live/app/validators/
En el archivo instance_serializer.rb
del directorio ~/live/app/serializers/rest/
verás que está en las líneas de :languages, :registrations,
: añade después :max_toot_chars,
.
Bajo la línea que empieza por private
introduce el siguiente código donde escribes el valor deseado:
Una vez hechos estos cambios, reinicia los servicios de Mastodon desde el usuario root con el comando:
Ahora podrás escribir mensajes con hasta 1000 caracteres.
Paso 9: función de moderación
La función de moderación en “Configuración > Moderación” de tu Mastodon Server te permite como administrador controlar el contenido y las actividades de usuarios en tu instancia con el fin de cumplir con las normas de la comunidad y eliminar contenido no deseado.
Puedes bloquear o desbloquear cuentas, dominios, direcciones IP o servidores de correo electrónico o eliminar cuentas de usuario. Además, puedes moderar el contenido publicado por los usuarios eliminando o editando mensajes inapropiados u ofensivos.
¡Prueba tu servidor virtual durante 30 días! Si lo solicitas, te reembolsaremos todos los gastos incurridos.