La instalación de Lemmy en un VPS implica el despliegue de una instancia a través de Docker Compose, la configuración de un servidor web (Nginx o Caddy) para un proxy inverso y una conexión HTTPS segura, así como el mantenimiento posterior y las actualizaciones regulares para el funcionamiento estable de su comunidad descentralizada.
¿Qué es Lemmy y por qué debería implementarlo en un VPS?
Lemmy es una plataforma de código abierto y gratuita para crear agregadores de noticias y foros autoalojados y descentralizados, que funciona con el protocolo ActivityPub. En pocas palabras, es una alternativa a Reddit donde cualquiera puede iniciar su propio servidor (instancia), que luego puede interactuar con otras instancias dentro de una única red federada, conocida como Fediverse. Los usuarios pueden suscribirse a comunidades, publicar posts, comentar y votar, como en las plataformas tradicionales, pero manteniendo la independencia y el control sobre los datos.
La implementación de Lemmy en un VPS le otorga control total sobre su comunidad. Usted mismo define las reglas de moderación, elige los plugins, gestiona los datos y garantiza el rendimiento. Es una solución ideal para quienes buscan independencia de las grandes corporaciones y desean crear un espacio de comunicación resistente y a prueba de censura. La posibilidad de alojarlo en su propio servidor convierte a Lemmy self-hosted en una opción atractiva para entusiastas y administradores que buscan una autonomía total.
Ventajas de Lemmy self-hosted en un VPS
- Control total: Usted posee todos los datos, gestiona la configuración del servidor y la moderación sin la intervención de terceros.
- Flexibilidad y escalabilidad: Un VPS permite escalar fácilmente los recursos (CPU, RAM, espacio en disco) a medida que su comunidad crece, asegurando un funcionamiento estable incluso bajo alta carga.
- Privacidad: Usted mismo define la política de privacidad y puede garantizar la protección de los datos de los usuarios.
- Dominio único: Posibilidad de utilizar su propio dominio para la instancia de Lemmy, aumentando el reconocimiento y la confianza.
- Disponibilidad y rendimiento: Un VPS de calidad de Valebyte.com con discos NVMe y procesadores rápidos garantiza una alta velocidad de carga de páginas y una interfaz de Lemmy receptiva.
Arquitectura de Lemmy: ¿qué hay bajo el capó?
Lemmy consta de varios componentes clave, que suelen implementarse como contenedores Docker:
- Backend (lemmy-server): La aplicación principal, escrita en Rust, que maneja la lógica del servidor, la interacción con la base de datos y ActivityPub.
- Frontend (lemmy-ui): La interfaz de usuario, escrita en TypeScript/React, que proporciona la interfaz web para los usuarios.
- Base de datos (PostgreSQL): Almacena todos los datos de la instancia: usuarios, posts, comentarios, comunidades, etc.
- Procesador de imágenes (Pictrs): Un servicio para subir y procesar imágenes adjuntas a posts y comentarios.
- Redis (opcional): Se utiliza para el almacenamiento en caché y tareas en segundo plano, mejorando el rendimiento.
Precisamente esta arquitectura modular hace que la instalación de Lemmy a través de Docker sea tan conveniente y recomendada.
Requisitos del sistema para Lemmy en un VPS: ¿qué configuración elegir?
Elegir la configuración de VPS adecuada es crucial para el funcionamiento estable y rápido de su instancia de Lemmy. Los requisitos dependen de la carga esperada: el número de usuarios activos, posts y tráfico. Lemmy en un servidor puede ser bastante intensivo en recursos, especialmente al procesar imágenes y trabajar con la base de datos.
Características mínimas y recomendadas para Lemmy
- Procesador (CPU): Lemmy-server y PostgreSQL utilizan activamente el procesador. Para instancias pequeñas (hasta 50-100 usuarios activos) son suficientes 2 vCPU. Para medianas (varios cientos), 4 vCPU. Para grandes (miles o más), 6-8+ vCPU. La frecuencia de los núcleos también es importante; se prefieren procesadores modernos con alta frecuencia de reloj.
- Memoria RAM: PostgreSQL es el principal consumidor de RAM. Para una instancia mínima se requerirán 2 GB de RAM, pero 4 GB de RAM es un mínimo mucho más cómodo, especialmente teniendo en cuenta el sistema operativo y Docker. Para instancias medianas se recomiendan 8 GB de RAM, para grandes, 16 GB de RAM o más.
- Espacio en disco: Los discos NVMe son obligatorios para un buen rendimiento de la base de datos. Mínimo 40-60 GB para el SO y el volumen inicial de datos. Sin embargo, considerando el crecimiento de la base de datos, la caché de imágenes de Pictrs y los logs, se recomienda empezar con 100-200 GB NVMe. Para instancias activas con muchas imágenes y videos se necesitarán 500 GB o 1 TB.
- Ancho de banda de red: Para la federación y la entrega de contenido a los usuarios se requiere un canal estable. Mínimo 100 Mbit/s, pero 1 Gbit/s es el estándar para la mayoría de los proveedores de VPS, incluido Valebyte.com, lo que garantiza una excelente velocidad.
Estimación de carga y escalado de la instancia de Lemmy
Una correcta estimación de la carga es clave para el éxito. Si planea una instancia pequeña para amigos o un grupo reducido, una configuración mínima será suficiente. Sin embargo, si su objetivo es crecer y atraer a un gran número de usuarios, siempre es mejor prever un margen de seguridad.
Al aumentar la carga, puede encontrarse con cuellos de botella:
- CPU: Procesamiento lento de solicitudes, alta latencia.
- RAM: PostgreSQL comienza a usar activamente el swap, lo que ralentiza drásticamente el rendimiento.
- Disco: Las operaciones lentas de lectura/escritura provocan retrasos al trabajar con la base de datos y las imágenes.
Gracias a la arquitectura modular y a Lemmy Docker, es relativamente fácil escalar componentes individuales o migrarlos a servidores más potentes si es necesario. Por ejemplo, se puede trasladar la base de datos a un VPS separado con mayor RAM y IOPS.
Recomendaciones de planes de Valebyte.com para Lemmy
Valebyte.com ofrece una amplia gama de planes de VPS que son excelentes para alojar Lemmy. Aquí tiene algunas recomendaciones aproximadas:
| Tamaño de la instancia | CPU | RAM | Disco NVMe | Plan aproximado de Valebyte.com | Precio aproximado/mes. |
|---|---|---|---|---|---|
| Mínimo (hasta 50-100 usuarios) | 2 vCPU | 4 GB | 100 GB | Valebyte-Medium | desde $15 |
| Medio (100-500 usuarios) | 4 vCPU | 8 GB | 200 GB | Valebyte-Large | desde $30 |
| Grande (500-2000+ usuarios) | 6-8 vCPU | 16-32 GB | 400-800 GB | Valebyte-XLarge / Personalizado | desde $60 |
Para monitorear el rendimiento de su VPS y la instancia de Lemmy, le recomendamos consultar el artículo sobre Netdata en un VPS. Esta herramienta le ayudará a identificar cuellos de botella y a reaccionar a tiempo ante el aumento de la carga.
¿Busca un servidor fiable para sus proyectos?
VPS desde $10/mes y servidores dedicados desde $9/mes con NVMe, protección DDoS y soporte 24/7.
Ver ofertas →Preparación del VPS para la instalación de Lemmy: pasos básicos
Antes de proceder con la instalación de Lemmy, es necesario preparar su VPS. Utilizaremos el sistema operativo Ubuntu Server 22.04 LTS, ya que es uno de los más populares y mejor documentados para el despliegue de aplicaciones de servidor.
Selección del SO y configuración inicial
Después de obtener acceso a su VPS (normalmente a través de SSH), siga estos pasos básicos:
- Actualización del sistema: Siempre comience actualizando el gestor de paquetes y los paquetes instalados.
sudo apt update && sudo apt upgrade -y - Creación de un nuevo usuario (opcional, pero recomendado): Trabajar directamente como root no siempre es seguro.
Luego, salga de root e inicie sesión comosudo adduser lemmyuser sudo usermod -aG sudo lemmyuserlemmyuser. - Configuración del firewall (UFW): Abra solo los puertos necesarios. Para Lemmy, estos suelen ser 80 (HTTP), 443 (HTTPS) y 22 (SSH).
Confirme la activación del firewall.sudo ufw allow OpenSSH sudo ufw allow http sudo ufw allow https sudo ufw enable
Instalación de Docker y Docker Compose
Lemmy Docker es la forma más sencilla y recomendada de despliegue. Docker Compose permite gestionar aplicaciones multicontenedor con un único archivo de configuración.
- Instalación de Docker Engine:
Instale los paquetes necesarios:
sudo apt install ca-certificates curl gnupg lsb-release -yAñada la clave GPG oficial de Docker:
sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpgAñada el repositorio de Docker a las fuentes de APT:
echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/nullActualice la lista de paquetes e instale Docker Engine, Docker CLI y Containerd:
sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io -y - Añadir usuario al grupo Docker: Para ejecutar comandos Docker sin
sudo.sudo usermod -aG docker ${USER}Salga de la sesión SSH y vuelva a entrar para que los cambios surtan efecto, o ejecute
newgrp docker. - Instalación de Docker Compose:
Docker Compose ahora se distribuye como un plugin para Docker. Instálelo:
sudo apt install docker-compose-plugin -yVerifique la instalación:
docker compose versionDebería ver la versión de Docker Compose, por ejemplo,
Docker Compose version v2.x.x.
¿Buscas un servidor que simplemente funcione?
Valebyte VPS — NVMe, soporte 24/7, despliegue en 60 segundos.
Instalación de Lemmy en un VPS con Docker Compose: guía paso a paso
Ahora que su VPS está listo, pasamos a la parte principal: la instalación de Lemmy. Utilizaremos las imágenes oficiales de Docker y el archivo docker-compose.yml.
Creación del directorio para Lemmy y obtención de la configuración
Cree un directorio donde se almacenarán todos los archivos de Lemmy, y descargue el archivo de ejemplo docker-compose.yml y el archivo de configuración.
mkdir -p ~/lemmy
cd ~/lemmy
wget https://raw.githubusercontent.com/LemmyNet/lemmy/main/docker/docker-compose.yml
wget https://raw.githubusercontent.com/LemmyNet/lemmy/main/docker/lemmy.env
Estos archivos servirán como punto de partida para su instalación de Lemmy. Tenga en cuenta que el archivo docker-compose.yml puede contener enlaces a las versiones más recientes de las imágenes de Lemmy.
Configuración de las variables de entorno en lemmy.env
El archivo lemmy.env contiene variables de entorno importantes para la configuración de Lemmy. Ábralo para editarlo:
nano lemmy.env
Deberá modificar los siguientes parámetros:
LEMMY_HOSTNAME: Especifique su dominio, por ejemplo,lemmy.example.com. Esto es crucial para la federación.LEMMY_DATABASE_NAME,LEMMY_DATABASE_USER,LEMMY_DATABASE_PASSWORD: Establezca contraseñas seguras y únicas para la base de datos.LEMMY_SMTP_SERVER,LEMMY_SMTP_PORT,LEMMY_SMTP_USERNAME,LEMMY_SMTP_PASSWORD,LEMMY_SMTP_FROM_ADDRESS: Configure los parámetros para el envío de correo electrónico (confirmación de registro, restablecimiento de contraseña). Esto es opcional para el primer inicio, pero necesario para un funcionamiento completo. Si no tiene un servidor SMTP, puede utilizar servicios de terceros como SendGrid o Mailgun, o implementar el suyo propio, por ejemplo, Postfix.LEMMY_FEDERATION_SIGNING_PRIVATE_KEY_PATH: Normalmente no es necesario modificarlo, pero asegúrese de que la ruta sea correcta.
Ejemplo de lemmy.env editado (con marcadores de posición para contraseñas y dominio):
# Lemmy Instance Settings
LEMMY_HOSTNAME=your.lemmy.domain.com
LEMMY_SITE_NAME=My Awesome Lemmy Instance
LEMMY_SITE_DESCRIPTION="A place for awesome discussions."
[email protected]
[email protected]
# Database Settings
LEMMY_DATABASE_NAME=lemmy
LEMMY_DATABASE_USER=lemmy_user
LEMMY_DATABASE_PASSWORD=YOUR_STRONG_DB_PASSWORD_HERE
# Pictrs Settings (Image Uploads)
PICTRS_HOSTNAME=your.lemmy.domain.com # Should be the same as LEMMY_HOSTNAME
PICTRS_API_KEY=YOUR_STRONG_PICTRS_API_KEY_HERE
# SMTP Settings (for email verification, password resets)
LEMMY_SMTP_SERVER=smtp.example.com
LEMMY_SMTP_PORT=587
LEMMY_SMTP_USERNAME=smtp_user
LEMMY_SMTP_PASSWORD=YOUR_SMTP_PASSWORD_HERE
[email protected]
LEMMY_SMTP_SECURITY=tls # or ssl or none
# Other settings
# ... (el resto de los parámetros, como en el archivo original)
Asegúrese de reemplazar YOUR_STRONG_DB_PASSWORD_HERE, YOUR_STRONG_PICTRS_API_KEY_HERE, your.lemmy.domain.com y los datos SMTP con sus propios valores. Para generar contraseñas seguras, puede usar generadores en línea o el comando openssl rand -base64 32.
Primer inicio de Lemmy
Después de configurar lemmy.env, puede iniciar Lemmy. Asegúrese de estar en el directorio ~/lemmy, donde se encuentra docker-compose.yml.
docker compose up -d
Este comando descargará todas las imágenes Docker necesarias (Lemmy, PostgreSQL, Pictrs, Redis) y las iniciará en segundo plano (-d). El proceso puede tardar varios minutos dependiendo de la velocidad de su conexión a Internet y del rendimiento del VPS.
Puede verificar el estado de los contenedores en ejecución con el comando:
docker compose ps
Debería ver todos los contenedores en estado running. Si algún contenedor no se inicia, revise los logs:
docker compose logs [nombre_del_servicio]
Por ejemplo, docker compose logs lemmy o docker compose logs postgres.
Después de un inicio exitoso, Lemmy estará disponible en http://localhost:8536 (para el frontend) y http://localhost:8537 (para el backend) desde dentro del VPS. Sin embargo, para acceder desde el exterior a través de un nombre de dominio, necesitaremos configurar un proxy inverso.
Configuración del proxy inverso (Nginx o Caddy) y HTTPS para Lemmy
Para un acceso seguro y conveniente a su instancia de Lemmy desde Internet, es necesario configurar un servidor proxy inverso y asegurar una conexión HTTPS utilizando Let's Encrypt. Esto también le permite usar su propio dominio, lo cual es clave para Lemmy self-hosted.
Opción 1: Configuración de Nginx como proxy inverso
Nginx es un servidor web potente y ampliamente utilizado que es excelente para el rol de proxy inverso. Si ha trabajado con Nginx anteriormente, esta opción le resultará familiar.
Instalación de Nginx
sudo apt install nginx -y
Configuración de Nginx para Lemmy
Cree un nuevo archivo de configuración para su dominio:
sudo nano /etc/nginx/sites-available/your.lemmy.domain.com.conf
Pegue la siguiente configuración, reemplazando your.lemmy.domain.com con su dominio:
server {
listen 80;
listen [::]:80;
server_name your.lemmy.domain.com;
# Redirigir HTTP a HTTPS
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name your.lemmy.domain.com;
ssl_certificate /etc/letsencrypt/live/your.lemmy.domain.com/fullchain.pem; # Será creado por Certbot
ssl_certificate_key /etc/letsencrypt/live/your.lemmy.domain.com/privkey.pem; # Será creado por Certbot
ssl_trusted_certificate /etc/letsencrypt/live/your.lemmy.domain.com/chain.pem; # Será creado por Certbot
# Configuraciones SSL recomendadas
ssl_session_timeout 1d;
ssl_session_cache shared:SSL:10m;
ssl_session_tickets off;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384';
ssl_prefer_server_ciphers off;
ssl_stapling on;
ssl_stapling_verify on;
add_header Strict-Transport-Security "max-age=63072000" always;
add_header X-Content-Type-Options "nosniff";
add_header X-XSS-Protection "1; mode=block";
add_header X-Frame-Options "SAMEORIGIN";
add_header Referrer-Policy "no-referrer-when-downgrade";
# Frontend (UI)
location / {
proxy_pass http://localhost:8536;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_buffering off;
proxy_read_timeout 900s;
client_max_body_size 0; # Permitir subidas grandes
}
# Backend (API)
location /api {
proxy_pass http://localhost:8537;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_buffering off;
proxy_read_timeout 900s;
client_max_body_size 0; # Permitir subidas grandes
}
# Pictrs (Subidas de imágenes)
location /pictrs {
proxy_pass http://localhost:8538;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_buffering off;
proxy_read_timeout 900s;
client_max_body_size 0; # Permitir subidas grandes
}
# Websockets (para actualizaciones en tiempo real)
location /wss {
proxy_pass http://localhost:8536/wss;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 900s;
proxy_send_timeout 900s;
proxy_http_version 1.1;
}
}
Active la configuración y verifique la sintaxis:
sudo ln -s /etc/nginx/sites-available/your.lemmy.domain.com.conf /etc/nginx/sites-enabled/
sudo nginx -t
Si no hay errores, reinicie Nginx:
sudo systemctl restart nginx
Opción 2: Configuración de Caddy como proxy inverso
Caddy es un servidor web moderno que obtiene y renueva automáticamente los certificados SSL de Let's Encrypt, lo que simplifica mucho su configuración en comparación con Nginx. Es ideal para Lemmy en un servidor si valora la simplicidad.
Instalación de Caddy
Instale Caddy siguiendo las instrucciones oficiales para su SO. Para Ubuntu:
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy -y
Configuración de Caddy para Lemmy
Cree o edite el archivo /etc/caddy/Caddyfile:
sudo nano /etc/caddy/Caddyfile
Elimine todas las líneas existentes e inserte la siguiente configuración, reemplazando your.lemmy.domain.com con su dominio:
your.lemmy.domain.com {
# Emisión y renovación automática de certificados SSL
tls [email protected]
# Frontend (UI)
reverse_proxy / http://localhost:8536 {
header_up Host {host}
header_up X-Real-IP {remote_ip}
header_up X-Forwarded-For {remote_ip}
header_up X-Forwarded-Proto {scheme}
header_up Upgrade {http.request.header.Upgrade}
header_up Connection {http.request.header.Connection}
}
# Backend (API)
reverse_proxy /api/* http://localhost:8537 {
header_up Host {host}
header_up X-Real-IP {remote_ip}
header_up X-Forwarded-For {remote_ip}
header_up X-Forwarded-Proto {scheme}
header_up Upgrade {http.request.header.Upgrade}
header_up Connection {http.request.header.Connection}
}
# Pictrs (Subidas de imágenes)
reverse_proxy /pictrs/* http://localhost:8538 {
header_up Host {host}
header_up X-Real-IP {remote_ip}
header_up X-Forwarded-For {remote_ip}
header_up X-Forwarded-Proto {scheme}
header_up Upgrade {http.request.header.Upgrade}
header_up Connection {http.request.header.Connection}
}
# Websockets (para actualizaciones en tiempo real)
reverse_proxy /wss http://localhost:8536 {
header_up Host {host}
header_up X-Real-IP {remote_ip}
header_up X-Forwarded-For {remote_ip}
header_up X-Forwarded-Proto {scheme}
header_up Upgrade {http.request.header.Upgrade}
header_up Connection {http.request.header.Connection}
}
# Configuración para archivos grandes (opcional, si Pictrs no los maneja)
# client_max_body_size 0; # Caddy no limita el tamaño por defecto
}
Verifique la configuración de Caddy:
sudo caddy validate --config /etc/caddy/Caddyfile
Si no hay errores, reinicie Caddy:
sudo systemctl restart caddy
Obtención de certificados SSL con Let's Encrypt (para Nginx)
Si utiliza Nginx, necesitará Certbot para obtener y renovar automáticamente los certificados SSL. Caddy lo hace automáticamente.
- Instalación de Certbot:
sudo apt install certbot python3-certbot-nginx -y - Obtención del certificado:
sudo certbot --nginx -d your.lemmy.domain.comSiga las instrucciones en pantalla. Certbot modificará automáticamente su configuración de Nginx para usar HTTPS. Asegúrese de proporcionar un correo electrónico válido para las notificaciones.
- Verificación de la renovación automática:
sudo systemctl status certbot.timerEl temporizador de Certbot debe estar activo para renovar automáticamente los certificados antes de su vencimiento.
Después de configurar el proxy inverso y HTTPS, su instancia de Lemmy debería estar accesible en https://your.lemmy.domain.com. Ábrala en su navegador, registre al primer usuario (que se convertirá en administrador) y ¡empiece a crear comunidades!
Mantenimiento, copias de seguridad y actualizaciones de Lemmy en un VPS
Mantener Lemmy en un VPS actualizado y operativo requiere un mantenimiento regular, copias de seguridad fiables y actualizaciones oportunas. Estos son aspectos clave para la estabilidad a largo plazo de su instancia.
Estrategias de copia de seguridad de datos de Lemmy
La copia de seguridad es su seguro contra la pérdida de datos. Para Lemmy, dos tipos de datos son críticamente importantes: la base de datos PostgreSQL y los archivos subidos (imágenes) de Pictrs.
Copia de seguridad de la base de datos PostgreSQL
Realice un volcado de la base de datos. Asegúrese de usar el nombre de usuario y la contraseña correctos que especificó en lemmy.env.
cd ~/lemmy
docker compose exec postgres pg_dumpall -U lemmy_user > lemmy_backup_$(date +%F).sql
Este comando creará un archivo .sql con un volcado completo de la base de datos. Se recomienda automatizar este proceso utilizando tareas cron.
Copia de seguridad de archivos Pictrs
Los archivos de Pictrs se almacenan en un volumen de Docker. Para conocer la ruta a este volumen, ejecute:
docker volume inspect lemmy_pictrs_data
En la salida, busque el campo Mountpoint (por ejemplo, /var/lib/docker/volumes/lemmy_pictrs_data/_data). Luego puede archivar este directorio:
sudo tar -czvf lemmy_pictrs_data_backup_$(date +%F).tar.gz /var/lib/docker/volumes/lemmy_pictrs_data/_data
Importante: Las copias de seguridad no deben almacenarse solo en el mismo VPS. Utilice almacenamiento remoto (S3, Dropbox, otro VPS) o herramientas especializadas. Por ejemplo, puede usar Restic para copias de seguridad en un VPS, para guardar datos de forma segura y eficiente en la nube.
Proceso de actualización de Lemmy
La actualización de Lemmy generalmente se reduce a actualizar las imágenes de Docker y reiniciar los contenedores. Siempre revise las noticias oficiales de lanzamientos de Lemmy en GitHub antes de actualizar, ya que a veces pueden requerirse pasos adicionales (por ejemplo, migración de la base de datos).
- Cree una copia de seguridad: ¡Antes de cualquier actualización, siempre haga una copia de seguridad completa de la base de datos y de Pictrs!
- Detenga Lemmy:
cd ~/lemmy docker compose down - Descargue nuevas imágenes y actualice la configuración:
Descargue las versiones más recientes de
docker-compose.ymlylemmy.env, comparándolas con las suyas actuales. A veces, en las nuevas versiones dedocker-compose.yml, las versiones de las imágenes pueden cambiar o se pueden añadir nuevos servicios. Por lo tanto, es mejor descargar los nuevos archivos y fusionarlos con su configuración (especialmentelemmy.env):wget -O docker-compose.yml.new https://raw.githubusercontent.com/LemmyNet/lemmy/main/docker/docker-compose.yml wget -O lemmy.env.new https://raw.githubusercontent.com/LemmyNet/lemmy/main/docker/lemmy.envCompare
docker-compose.yml.newcon sudocker-compose.ymlylemmy.env.newcon sulemmy.envpara transferir los cambios necesarios. Preste especial atención a las versiones de las imágenes de Docker endocker-compose.yml.Después de la fusión, elimine los archivos temporales:
rm docker-compose.yml.new lemmy.env.new - Actualice las imágenes de Docker:
docker compose pullEste comando descargará las últimas versiones de todas las imágenes especificadas en su
docker-compose.yml. - Inicie Lemmy con la migración:
docker compose up -dDocker Compose iniciará los contenedores. El servidor Lemmy ejecutará automáticamente todas las migraciones de base de datos necesarias en el primer inicio de la nueva versión.
- Verifique el funcionamiento: Abra su instancia de Lemmy en el navegador y asegúrese de que todo funciona correctamente.
Monitoreo del estado de Lemmy
El monitoreo regular le ayudará a identificar problemas antes de que se vuelvan críticos. Utilice:
docker compose ps: Para una verificación rápida del estado de los contenedores.docker compose logs -f: Para ver los logs en tiempo real.htopotop: Para monitorear la carga de CPU y RAM en el VPS.- Prometheus/Grafana: Para un monitoreo más avanzado de las métricas de Lemmy y el VPS.
Mantenga el sistema operativo del VPS actualizado, aplicando regularmente las actualizaciones de seguridad: sudo apt update && sudo apt upgrade -y.
¿Buscas un servidor que simplemente funcione?
Valebyte VPS — NVMe, soporte 24/7, despliegue en 60 segundos.
Configuraciones avanzadas y optimización de Lemmy
Después de la instalación básica de Lemmy y de asegurar su funcionamiento estable, se pueden considerar pasos adicionales para la optimización y expansión de la funcionalidad. Esto es especialmente relevante para instancias de Lemmy en un servidor en crecimiento.
Optimización de la base de datos PostgreSQL
PostgreSQL es el corazón de Lemmy, y su rendimiento influye directamente en la velocidad de toda la instancia. Para optimizar, se puede:
- Configuración de
postgresql.conf:Dentro del contenedor de PostgreSQL, puede encontrar el archivo de configuración. Para Lemmy Docker, generalmente es mejor no modificarlo directamente en el contenedor, sino usar volúmenes de Docker o variables de entorno. Sin embargo, si ha trasladado PostgreSQL a un host separado, puede ajustar parámetros como
shared_buffers,work_mem,maintenance_work_memde acuerdo con la cantidad de RAM disponible en su VPS.shared_buffers: Generalmente el 25% de la RAM total del servidor.work_mem: Para cada sesión, afecta la clasificación y las tablas hash.maintenance_work_mem: Para operaciones VACUUM, CREATE INDEX.
Después de modificar
postgresql.conf, es necesario reiniciar el contenedor de PostgreSQL. - Limpieza regular (VACUUM):
PostgreSQL utiliza MVCC, lo que significa que las versiones antiguas de las filas permanecen visibles hasta que se limpian. El comando regular
VACUUM ANALYZEayuda a mantener el rendimiento, liberando espacio y actualizando las estadísticas del planificador de consultas.docker compose exec postgres psql -U lemmy_user -d lemmy -c "VACUUM ANALYZE;"PostgreSQL tiene un demonio autovacuum incorporado, pero a veces una ejecución manual puede ser útil, especialmente después de operaciones importantes.
- Índices: Asegúrese de que todos los índices necesarios estén creados y se utilicen. Lemmy generalmente los crea automáticamente, pero al analizar el rendimiento, puede verificar qué consultas son lentas y necesitan índices adicionales.
Configuración del servidor de correo para notificaciones
Como se mencionó anteriormente, la configuración de un servidor SMTP en lemmy.env permite a Lemmy enviar correos electrónicos para la confirmación de registro, restablecimiento de contraseña y notificaciones. Si no desea utilizar un servicio de terceros, puede configurar su propio servidor de correo en el VPS, por ejemplo, Postfix.
Instalación y configuración de Postfix:
sudo apt install postfix -y
Durante la instalación, seleccione "Internet Site" e introduzca su dominio. Después, configure Postfix para el envío de correo. Para una configuración más detallada del servidor de correo, puede consultar guías especializadas.
Asegúrese de que su VPS esté autorizado para enviar correo (verifique los registros SPF, DKIM, DMARC para su dominio) para evitar que los correos electrónicos terminen en spam.
Uso de Redis para el almacenamiento en caché
En el docker-compose.yml estándar para Lemmy, el servicio Redis ya está incluido. Se utiliza para el almacenamiento en caché de datos y el procesamiento de tareas en segundo plano, lo que mejora significativamente el rendimiento de la instancia, especialmente bajo alta carga. Asegúrese de que Redis esté funcionando y que Lemmy esté conectado a él (esto suele ocurrir automáticamente).
Expansión de la funcionalidad con herramientas de terceros
Aunque Lemmy es una plataforma completa por sí misma, puede integrarla con otros servicios que se ejecutan en su VPS para ampliar la funcionalidad o mejorar la gestión. Por ejemplo, para la gestión centralizada de archivos en el servidor, puede considerar Filebrowser en un VPS, que proporcionará una interfaz web conveniente.
Conclusiones
La instalación de Lemmy en un VPS utilizando Docker Compose es una forma potente y flexible de desplegar su propia comunidad descentralizada. Obtiene control total sobre los datos, alto rendimiento gracias a los discos NVMe y la capacidad de escalar. Elegir la configuración de VPS correcta, una configuración cuidadosa del proxy inverso y un mantenimiento regular garantizarán el funcionamiento estable y seguro de su instancia de Lemmy.
¿Listo para elegir un servidor?
VPS y servidores dedicados en más de 72 países con activación instantánea y acceso root completo.
Empezar ahora →