Solución de Problemas
Se muestran diferentes problemas que pueden ocurrir en una nueva instancia, y cómo resolverlos.
Muchas características de Lemmy dependen de una correcta configuración del proxy inverso. Asegúrate de que tu configuración es equivalente a nuestra configuración de nginx.
Generalidades
Registros
Para los problemas del frontend, revisa la consola del navegador para ver si hay mensajes de error.
Para los registros del servidor, ejecuta docker-compose logs -f lemmy
en tu carpeta de instalación. También puedes hacer docker-compose logs -f lemmy lemmy-ui pictrs
para obtener los registros de los diferentes servicios.
Si eso no da suficiente información, intenta cambiar la línea RUST_LOG=error
en docker-compose.yml
a RUST_LOG=info
o RUST_LOG=verbose
, y luego hacer docker-compose restart lemmy
.
La creación del usuario administrador no funciona
Asegúrate de que el websocket está funcionando correctamente, revisa la consola del navegador en busca de errores. En nginx, las siguientes cabeceras son importantes para esto:
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
Error de limite de velocidad cuando muchos usuarios acceden al sitio
Revisa que las cabeceras X-Real-IP
y X-Forwarded-For
son enviadas a Lemmy por el proxy inverso. De lo contrario, se contarán todas las acciones hacia el limite de velocidad de la IP del proxy inverso. En nginx debería verse así:
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
Federación
Otras instancias no pueden obtener objetos locales (comunidad, publicaciones, etc)
Tu proxy reverso (ejemplo nginx) necesita reenviar las solicitudes con la cabecera Accept: application/activity+json
al backend. Esto es manejado por las siguientes líneas:
set $proxpass "http://0.0.0.0:{{ lemmy_ui_port }}";
if ($http_accept = "application/activity+json") {
set $proxpass "http://0.0.0.0:{{ lemmy_port }}";
}
if ($http_accept = "application/ld+json; profile=\"https://www.w3.org/ns/activitystreams\"") {
set $proxpass "http://0.0.0.0:{{ lemmy_port }}";
}
proxy_pass $proxpass;
Puedes probar que funciona correctamente ejecutando los siguientes comandos, todos ellos deberían devolver JSON válido:
curl -H "Accept: application/activity+json" https://your-instance.com/u/some-local-user
curl -H "Accept: application/activity+json" https://your-instance.com/c/some-local-community
curl -H "Accept: application/activity+json" https://your-instance.com/post/123 # the id of a local post
curl -H "Accept: application/activity+json" https://your-instance.com/comment/123 # the id of a local comment
La obtención de objetos remotos funciona, pero publicar/comentar en comunidades remotas falla
Comprueba que la federación está permitida en ambas instancias.
Asegúrate también de que la hora está ajustada con precisión en tu servidor. Las actividades están firmadas con una marca de tiempo, y serán descartadas si se desvía más de 10 segundos.