¡Hola a todos!
Uso una instalación de Discourse 2.6.0.beta2 mediante Docker detrás de un proxy Nginx. Lamentablemente, los usuarios no pueden restablecer sus contraseñas. Se envía un correo electrónico con un enlace, pero parece estar roto sin importar lo rápido que intentes usarlo. Aparece una carita triste
y un mensaje de “Algo salió mal” al hacer clic en el enlace de restablecimiento de contraseña del correo.
En el panel de administración (https://mysite/logs/) no puedo ver ningún registro relacionado con ese evento. Y lo que también es extraño es que el contenedor Docker tampoco registra nada:
Este es el resultado de
dokcer logs app
run-parts: ejecutando /etc/runit/1.d/00-ensure-links
run-parts: ejecutando /etc/runit/1.d/00-fix-var-logs
run-parts: ejecutando /etc/runit/1.d/anacron
run-parts: ejecutando /etc/runit/1.d/cleanup-pids
Limpiando archivos PID obsoletos
run-parts: ejecutando /etc/runit/1.d/copy-env
runsvdir iniciado, PID es 39
chgrp: grupo no válido: ‘syslog’
ok: run: redis: (pid 52) 0s
ok: run: postgres: (pid 50) 0s
rsyslogd: imklog: no se puede abrir el registro del kernel (/proc/kmsg): Operación no permitida.
rsyslogd: falla en la activación del módulo imklog [v8.1901.0 consultar https://www.rsyslog.com/e/2145 ]
supervisor pid: 55 unicorn pid: 78
(55) Reabriendo registros
mi app.yml
## Esta es la plantilla del contenedor Docker Discourse todo en uno, independiente
##
## Después de realizar cambios en este archivo, DEBES reconstruir
## /var/discourse/launcher rebuild app
##
## TEN *MUCHO* CUIDADO AL EDITAR!
## ¡LOS ARCHIVOS YAML SON SUPER SUPER SENSIBLES A ERRORES EN ESPACIOS EN BLANCO O ALINEACIÓN!
## visita http://www.yamllint.com/ para validar este archivo según sea necesario
templates:
- "templates/postgres.template.yml"
- "templates/redis.template.yml"
- "templates/web.template.yml"
- "templates/web.ratelimited.template.yml"
## Descomenta estas dos líneas si deseas agregar Lets Encrypt (https)
# - "templates/web.ssl.template.yml"
# - "templates/web.letsencrypt.ssl.template.yml"
## ¿Qué puertos TCP/IP debe exponer este contenedor?
## Si deseas que Discourse comparta un puerto con otro servidor web como Apache o nginx,
## consulta https://meta.discourse.org/t/17247 para obtener detalles
expose:
# - 3040
- "127.0.0.1:3040:80"
params:
db_default_text_search_config: "pg_catalog.english"
upload_size: 20m
## Establece db_shared_buffers en un máximo del 25% de la memoria total.
## se establecerá automáticamente durante el arranque según la RAM detectada, o puedes sobrescribirlo
db_shared_buffers: "128MB"
## puede mejorar el rendimiento de ordenación, pero aumenta el uso de memoria por conexión
#db_work_mem: "40MB"
## ¿Qué revisión de Git debe usar este contenedor? (predeterminado: tests-passed)
#version: tests-passed
env:
LANG: en_US.UTF-8
# DISCOURSE_DEFAULT_LOCALE: en
## ¿Cuántas solicitudes web simultáneas se admiten? Depende de la memoria y los núcleos de CPU.
## se establecerá automáticamente durante el arranque según las CPU detectadas, o puedes sobrescribirlo
UNICORN_WORKERS: 2
## TODO: El nombre de dominio al que responderá esta instancia de Discourse
## Obligatorio. Discourse no funcionará con una dirección IP desnuda.
VIRTUAL_HOST: $$$$$$$$$$$$$$$$$$$$$$
VIRTUAL_PORT: 80
LETSENCRYPT_HOST: $$$$$$$$$$$$$$$$$$$$$44
LETSENCRYPT_EMAIL: $$$$$$$$$$$$$$$$$$$4
DISCOURSE_HOSTNAME: $$$$$$$$$$$$$$$$$
## Descomenta si deseas que el contenedor se inicie con el mismo
## nombre de host (opción -h) que se especificó anteriormente (predeterminado "$hostname-$config")
#DOCKER_USE_HOSTNAME: true
## TODO: Lista de correos electrónicos separados por comas que se convertirán en administradores y desarrolladores
## en el registro inicial, por ejemplo 'user1@example.com,user2@example.com'
DISCOURSE_DEVELOPER_EMAILS: '$$$$$$$$$$$'
## TODO: El servidor de correo SMTP utilizado para validar nuevas cuentas y enviar notificaciones
## Se requieren la dirección, el nombre de usuario y la contraseña del SMTP
# ADVERTENCIA: el carácter '#' en la contraseña de SMTP puede causar problemas!
DISCOURSE_SMTP_ADDRESS: $$$$$$$$$$$$$$$
DISCOURSE_SMTP_PORT: $$$$$$$$$$$$
DISCOURSE_SMTP_USER_NAME: $$$$$$$$$$$$$$$$$$$
DISCOURSE_SMTP_PASSWORD: "$$$$$$$$$$$$$$$$"
#DISCOURSE_SMTP_ENABLE_START_TLS: true # (opcional, predeterminado true)
## Si agregaste la plantilla de Lets Encrypt, descomenta abajo para obtener un certificado SSL gratuito
# LETSENCRYPT_ACCOUNT_EMAIL: $$$$$$$$$$$$$$$
## La dirección http o https de la CDN para esta instancia de Discourse (configurada para extraer)
## consulta https://meta.discourse.org/t/14857 para obtener detalles
#DISCOURSE_CDN_URL: https://discourse-cdn.example.com
## El contenedor Docker no tiene estado; todos los datos se almacenan en /shared
volumes:
- volume:
host: /var/discourse/shared/standalone
guest: /shared
- volume:
host: /var/discourse/shared/standalone/log/var-log
guest: /var/log
## Los plugins van aquí
## consulta https://meta.discourse.org/t/19157 para obtener detalles
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- git clone https://github.com/discourse/docker_manager.git
# - git clone https://github.com/discourse/discourse-chat-integration.git
## Cualquier comando personalizado para ejecutar después de la construcción
run:
- replace:
filename: /etc/nginx/conf.d/discourse.conf
from: "types {"
to: |
set_real_ip_from 172.18.0.0/24;
real_ip_header X-Forwarded-For;
real_ip_recursive on;
types {
docker_args:
- "--network=nginx-proxy"