Restablecimiento de contraseña no funciona para Discourse 2.6.0.beta2

¡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 :frowning: 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"
1 me gusta

¿Estás recibiendo el enlace correcto? Debería verse algo así: https://forum.example.com/u/password-reset/6a34c2454cf11a6707a23591e6c417ba

2 Me gusta

Hola Gerhard, gracias por tu respuesta.

El enlace parece estar bien. En mi enlace aparece “users” en lugar de “u”.

https://forum.example.com/users/password-reset/23e410a2c11e576c38b1df68f112f88d

3 Me gusta

Hola,
lo probé en dos de mis instancias. El mismo error.
Parece que el enlace generado es incorrecto.
Si cambio:
users → u
funciona :slight_smile:

2 Me gusta

Puedo confirmar que funciona el arreglo propuesto por @napcok. Sin embargo, no lo consideraría una solución. ¿Podrías aconsejarme cómo resolver este problema?

Parece que afecta solo a los idiomas polaco y turco.

2 Me gusta

He enviado una solicitud de extracción con la corrección para esto.

Creo que debería hacerse allí:

y allí:

Como no conozco el turco, el polaco ni Crowdin, me abstendré de intentar cualquier cosa :sweat_smile:

1 me gusta

Editado en Crowdin.
Cerré mi solicitud de extracción en GitHub.

2 Me gusta

¡Gracias! He actualizado las traducciones en el repositorio de Discourse. Deberían llegar a la rama tests-passed muy pronto.

3 Me gusta

¡Gracias! He actualizado ambos foros, todo funciona bien :slight_smile:

2 Me gusta