Ripristino password non funziona per Discourse 2.6.0.beta2

Ciao a tutti!

Sto utilizzando l’installazione Docker di Discourse 2.6.0.beta2 dietro un proxy Nginx. Purtroppo gli utenti non possono reimpostare le proprie password. Arriva un’email con un link, ma il link sembra essere rotto indipendentemente da quanto velocemente si prova a utilizzarlo. Quando si clicca sul link per reimpostare la password dall’email, appare una faccina triste :frowning: e il messaggio “Qualcosa è andato storto”.

Nel pannello di amministrazione (https://mysite/logs/) non riesco a vedere alcun log relativo a quell’evento. E ciò che è anche strano è che il container Docker non registra nulla:

Questo è l’output di

dokcer logs app


run-parts: executing /etc/runit/1.d/00-ensure-links
run-parts: executing /etc/runit/1.d/00-fix-var-logs
run-parts: executing /etc/runit/1.d/anacron
run-parts: executing /etc/runit/1.d/cleanup-pids
Cleaning stale PID files
run-parts: executing /etc/runit/1.d/copy-env
Started runsvdir, PID is 39
chgrp: invalid group: ‘syslog’
ok: run: redis: (pid 52) 0s
ok: run: postgres: (pid 50) 0s
rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted.
rsyslogd: activation of module imklog failed [v8.1901.0 try https://www.rsyslog.com/e/2145 ]
supervisor pid: 55 unicorn pid: 78
(55) Reopening logs

Il mio file app.yml



## Questo è il modello del container Docker Discourse "all-in-one", autonomo
##
## Dopo aver apportato modifiche a questo file, DOVETE eseguire la ricompilazione
## /var/discourse/launcher rebuild app
##
## SIATE *MOLTO* ATTENTI DURANTE LA MODIFICA!
## I FILE YAML SONO SUPER SUPER SENSIBILI A ERRORI NEGLI SPAZI O NELL'ALLINEAMENTO!
## Visitare http://www.yamllint.com/ per convalidare questo file quando necessario

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  - "templates/web.ratelimited.template.yml"
## Scommentate queste due righe se desiderate aggiungere Lets Encrypt (https)
#  - "templates/web.ssl.template.yml"
#  - "templates/web.letsencrypt.ssl.template.yml"

## Quali porte TCP/IP deve esporre questo container?
## Se desiderate che Discourse condivida una porta con un altro server web come Apache o nginx,
## consultate https://meta.discourse.org/t/17247 per i dettagli
expose:
#  - 3040
  - "127.0.0.1:3040:80"

params:
  db_default_text_search_config: "pg_catalog.english"
  upload_size: 20m

  ## Impostate db_shared_buffers al massimo al 25% della memoria totale.
  ## verrà impostato automaticamente da bootstrap in base alla RAM rilevata, oppure potete sovrascriverlo
  db_shared_buffers: "128MB"

  ## può migliorare le prestazioni di ordinamento, ma aumenta l'utilizzo della memoria per connessione
  #db_work_mem: "40MB"

  ## Quale revisione di Git dovrebbe utilizzare questo container? (default: tests-passed)
  #version: tests-passed

env:
  LANG: en_US.UTF-8
  # DISCOURSE_DEFAULT_LOCALE: en

  ## Quante richieste web simultanee sono supportate? Dipende dalla memoria e dai core della CPU.
  ## verrà impostato automaticamente da bootstrap in base alle CPU rilevate, oppure potete sovrascriverlo
  UNICORN_WORKERS: 2

  ## TODO: Il nome di dominio a cui risponderà questa istanza di Discourse
  ## Obbligatorio. Discourse non funzionerà con un semplice indirizzo IP.
  VIRTUAL_HOST: $$$$$$$$$$$$$$$$$$$$$$
  VIRTUAL_PORT: 80
  LETSENCRYPT_HOST: $$$$$$$$$$$$$$$$$$$$$44
  LETSENCRYPT_EMAIL: $$$$$$$$$$$$$$$$$$$4
  DISCOURSE_HOSTNAME: $$$$$$$$$$$$$$$$$

  ## Scommentate se desiderate che il container venga avviato con lo stesso
  ## nome host (opzione -h) specificato sopra (default "$hostname-$config")
  #DOCKER_USE_HOSTNAME: true

  ## TODO: Elenco di email separate da virgola che diventeranno amministratori e sviluppatori
  ## all'iscrizione iniziale, esempio 'user1@example.com,user2@example.com'
  DISCOURSE_DEVELOPER_EMAILS: '$$$$$$$$$$$'

  ## TODO: Il server di posta SMTP utilizzato per validare nuovi account e inviare notifiche
  ## INDIRIZZO SMTP, nome utente e password sono obbligatori
  ## ATTENZIONE: il carattere '#' nella password SMTP può causare problemi!
  DISCOURSE_SMTP_ADDRESS: $$$$$$$$$$$$$$$
  DISCOURSE_SMTP_PORT: $$$$$$$$$$$$
  DISCOURSE_SMTP_USER_NAME: $$$$$$$$$$$$$$$$$$$
  DISCOURSE_SMTP_PASSWORD: "$$$$$$$$$$$$$$$$"
  #DISCOURSE_SMTP_ENABLE_START_TLS: true           # (opzionale, default true)

  ## Se avete aggiunto il modello Lets Encrypt, scommentate qui sotto per ottenere un certificato SSL gratuito
 # LETSENCRYPT_ACCOUNT_EMAIL: $$$$$$$$$$$$$$$

  ## L'indirizzo http o https CDN per questa istanza di Discourse (configurato per il recupero)
  ## consultate https://meta.discourse.org/t/14857 per i dettagli
  #DISCOURSE_CDN_URL: https://discourse-cdn.example.com

## Il container Docker è senza stato; tutti i dati sono archiviati in /shared
volumes:
  - volume:
      host: /var/discourse/shared/standalone
      guest: /shared
  - volume:
      host: /var/discourse/shared/standalone/log/var-log
      guest: /var/log

## I plugin vanno qui
## consultate https://meta.discourse.org/t/19157 per i dettagli
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

## Qualsiasi comando personalizzato da eseguire dopo la compilazione
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 Mi Piace

Stai ricevendo il link corretto? Dovrebbe essere simile a questo: https://forum.example.com/u/password-reset/6a34c2454cf11a6707a23591e6c417ba

2 Mi Piace

Ciao Gerhard, grazie per la tua risposta.

Il link sembra corretto. Nel mio link c’è “users” invece di “u”.

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

3 Mi Piace

Ciao,
Ho testato su due delle mie istanze. Stesso errore.
Sembra che il link generato sia errato.
Se modifico:
users → u
funziona :slight_smile:

2 Mi Piace

Posso confermare che l’alternativa proposta da @napcok funziona. Tuttavia, non la definirei una soluzione. Potresti darmi un consiglio su come risolvere questo problema?

Sembra che riguardi solo le lingue polacca e turca.

2 Mi Piace

Ho inviato una pull request con la correzione per questo.

Credo che dovrebbe essere fatto qui:

e qui:

Poiché non conosco il turco, il polacco né Crowdin, mi asterrò dal tentare qualsiasi cosa :sweat_smile:

1 Mi Piace

Modificato su Crowdin.
Chiusa la mia pull request su Github.

2 Mi Piace

Grazie! Ho aggiornato le traduzioni nel repository di Discourse. Dovrebbero arrivare sul ramo tests-passed molto presto.

3 Mi Piace

Grazie! Aggiornati entrambi i forum, tutto funziona bene :slight_smile:

2 Mi Piace