Ciao a tutti,
Come dice il titolo, discourse-doctor si connette al mio server di posta (in esecuzione sulla macchina host) tramite la sua interfaccia esterna e accessibile da Internet (ma non localhost), mentre Discourse stesso non lo fa.
Non viene registrato alcun tentativo da parte di Discourse, né nel log di produzione di Rails né nei log del mio server di posta. Ho persino eseguito un packet sniffer sull’interfaccia Docker e non vedo alcun traffico di posta.
discourse-doctor, invece, genera voci di log sul mio server di posta, come previsto, e riesco a leggere l’email nel mio client di posta.
Ho ricreato più volte il contenitore Docker con la seguente configurazione:
## questo è il template del contenitore Docker Discourse all-in-one, standalone
##
## Dopo aver apportato modifiche a questo file, DEVI ricostruire
## /var/discourse/launcher rebuild app
##
## FAI MOLTA MOLTA ATTENZIONE DURANTE LA MODIFICA!
## I FILE YAML SONO MOLTO, MOLTO SENSIBILI A ERRORI NELLO SPAZIAMENTO O NELL'ALLINEAMENTO!
## visita 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"
## Scommenta queste due righe se desideri aggiungere Lets Encrypt (https)
### - "templates/web.ssl.template.yml"
### - "templates/web.letsencrypt.ssl.template.yml"
## quali porte TCP/IP deve esporre questo contenitore?
## Se desideri che Discourse condivida una porta con un altro server web come Apache o nginx,
## consulta https://meta.discourse.org/t/17247 per i dettagli
expose:
- "127.0.0.1:1234:80" # http
### - "127.0.0.1:1235:443" # https
params:
db_default_text_search_config: "pg_catalog.english"
## Imposta db_shared_buffers a un massimo del 25% della memoria totale.
## verrà impostato automaticamente da bootstrap in base alla RAM rilevata, oppure puoi sovrascrivere
db_shared_buffers: "256MB"
## può migliorare le prestazioni di ordinamento, ma aumenta l'uso di memoria per connessione
#db_work_mem: "40MB"
## Quale revisione Git dovrebbe utilizzare questo contenitore? (predefinito: tests-passed)
#version: tests-passed
env:
LANG: en_US.UTF-8
# DISCOURSE_DEFAULT_LOCALE: en
## Quanti richieste web simultanee sono supportate? Dipende dalla memoria e dai core della CPU.
## verrà impostato automaticamente da bootstrap in base alle CPU rilevate, oppure puoi sovrascrivere
UNICORN_WORKERS: 4
## TODO: Il nome di dominio a cui risponderà questa istanza di Discourse
## Obbligatorio. Discourse non funzionerà con un semplice numero IP.
DISCOURSE_HOSTNAME: example.com
## Scommenta se vuoi che il contenitore venga avviato con lo stesso
## nome host (opzione -h) specificato sopra (predefinito "$hostname-$config")
#DOCKER_USE_HOSTNAME: true
## TODO: Elenco di email separate da virgola che diventeranno amministratori e sviluppatori
## all'iscrizione iniziale, ad esempio 'user1@example.com,user2@example.com'
DISCOURSE_DEVELOPER_EMAILS: 'me@another.com'
## TODO: Il server 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: submission.example.com # Un record A funziona ma non un CNAME
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: somedumbuser
DISCOURSE_SMTP_PASSWORD: somedumbpass
#DISCOURSE_SMTP_ENABLE_START_TLS: true # (opzionale, predefinito true)
## Se hai aggiunto il template Lets Encrypt, scommenta qui sotto per ottenere un certificato SSL gratuito
LETSENCRYPT_ACCOUNT_EMAIL: ssl@yetanother.com
## L'indirizzo CDN http o https per questa istanza di Discourse (configurato per il recupero)
## consulta https://meta.discourse.org/t/14857 per i dettagli
#DISCOURSE_CDN_URL: https://discourse-cdn.example.com
## Il contenitore 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
## consulta 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
## Qualsiasi comando personalizzato da eseguire dopo la costruzione
run:
- exec: echo "Inizio dei comandi personalizzati"
## Se desideri impostare l'indirizzo email 'From' per la tua prima registrazione, scommenta e modifica:
## Dopo aver ricevuto la prima email di iscrizione, ricommenta la riga. Deve essere eseguita solo una volta.
#- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
- replace:
filename: /etc/nginx/conf.d/discourse.conf
from: "types {"
to: |
set_real_ip_from 0.0.0.0/0;
real_ip_header X-Forwarded-For;
real_ip_recursive on;
types {
- exec: echo "Fine dei comandi personalizzati"