Installazione di Discourse per principianti disposti a far parte della community

Ciao Dan,
Ancora una volta, da quello che riesco a vedere visivamente, tutto è andato bene fino all’ultimo, ma ancora senza successo!
L’intero file di log è enorme, quindi riporto solo alcune righe selezionate, in particolare quelle con gli errori menzionati:
(Ho modificato alcune credenziali per mantenere la privacy su una piattaforma pubblica, ovvero IP, indirizzi email, password, chiavi, ecc.

Questo è anche per la gentile considerazione di @pfaffman

root@ExampleBeta:~# sudo -s
root@ExampleBeta:~# git clone https://github.com/discourse/discourse_docker.git /var/discourse
Cloning into '/var/discourse'...
remote: Enumerating objects: 22, done.
remote: Counting objects: 100% (22/22), done.
remote: Compressing objects: 100% (22/22), done.
remote: Total 4545 (delta 7), reused 9 (delta 0), pack-reused 4523
Receiving objects: 100% (4545/4545), 981.86 KiB | 896.00 KiB/s, done.
Resolving deltas: 100% (2902/2902), done.
root@ExampleBeta:~# cd /var/discourse
root@ExampleBeta:/var/discourse# ./discourse-setup
Docker non installato. Premi Invio per installare da https://get.docker.com/ o Ctrl+C per uscire
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 13185  100 13185    0     0  60760      0 --:--:-- --:--:-- --:--:-- 61041
# Esecuzione dello script di installazione di Docker, commit: 6bf300318ebaab958c4adc341a8c7bb9f3a54a1a
+ sh -c apt-get update -qq > /dev/null
+ sh -c apt-get install -y -qq apt-transport-https ca-certificates curl > /dev/null
+ sh -c curl -fsSL "https://download.docker.com/linux/ubuntu/gpg" | apt-key add -qq - > /dev/null
Avviso: l'output di apt-key non dovrebbe essere analizzato (stdout non è un terminale)
+ sh -c echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu disco stable" > /etc/apt/sources.list.d/docker.list
+ sh -c apt-get update -qq > /dev/null
+ [ -n  ]
+ sh -c apt-get install -y -qq --no-install-recommends docker-ce > /dev/null
+ sh -c docker version
Client: Docker Engine - Community
 Versione:           19.03.2
 Versione API:       1.40
 Versione Go:        go1.12.8
 Commit Git:        6a30dfca03
 Costruito:             Thu Aug 29 05:29:17 2019
 OS/Arch:           linux/amd64
 Sperimentale:      false

Server: Docker Engine - Community
 Motore:
  Versione:          19.03.2
  Versione API:      1.40 (versione minima 1.12)
  Versione Go:       go1.12.8
  Commit Git:       6a30dfca03
  Costruito:            Thu Aug 29 05:27:52 2019
  OS/Arch:          linux/amd64
  Sperimentale:     false
 containerd:
  Versione:          1.2.6
  Commit Git:        894b81a4b802e4eb2a91d1ce216b8817763c29fb
 runc:
  Versione:          1.0.0-rc8
  Commit Git:        425e105d5a03fabd737a126ad93d62a9eeede87f
 docker-init:
  Versione:          0.18.0
  Commit Git:        fec3683
Se desideri utilizzare Docker come utente non root, dovresti ora considerare
di aggiungere il tuo utente al gruppo "docker" con qualcosa come:

  sudo usermod -aG docker tuo-utente

Ricorda che dovrai uscire e rientrare affinché ciò abbia effetto!

AVVISO: Aggiungere un utente al gruppo "docker" concederà la possibilità di eseguire
         container che possono essere utilizzati per ottenere privilegi root sul
         host Docker.
         Consulta https://docs.docker.com/engine/security/security/#docker-daemon-attack-surface
         per ulteriori informazioni.
AVVISO: Discourse richiede almeno 2GB di swap quando eseguito con 2GB di RAM
o meno. Questo sistema non sembra avere spazio swap sufficiente.

Senza spazio swap sufficiente, il tuo sito potrebbe non funzionare correttamente e futuri
aggiornamenti di Discourse potrebbero non completarsi con successo.

Premi Ctrl+C per uscire o attendi 5 secondi per creare un file di swap da 2GB.
Impostazione dello spazio swap versione 1, dimensione = 2 GiB (2147479552 byte)
nessuna etichetta, UUID=07661ca9-c844-4212-a99e-4b1f601a97d3
/swapfile       swap    swap    auto      0       0
vm.swappiness = 10
Le porte 80 e 443 sono libere per l'uso
'samples/standalone.yml' -> 'containers/app.yml'
Rilevati 2GB di memoria e 1 core CPU fisico
impostazione db_shared_buffers = 256MB
impostazione UNICORN_WORKERS = 4
Parametri di memoria di containers/app.yml aggiornati.

Nome host per il tuo Discourse? [discourse.example.com]: beta.example.com
Indirizzo email per gli account amministratore? [me@example.com,you@example.com]: earlieid@gmail.com
Indirizzo server SMTP? [smtp.example.com]: smtp.mailgun.org
Porta SMTP? [587]: 587
Nome utente SMTP? [postmaster@beta.example.com]: postmaster@beta.example.com
Password SMTP? [pa$$word]: 3475b78b3d6947510bad6895ca3475b78b-3475b78b-3475b78b
Indirizzo email opzionale per configurare Let's Encrypt? (INVIO per saltare) [me@example.com]: earlieid@gmail.com

Controllo del nome di dominio . . .

Connessione a beta.example.com riuscita.

Sembra corretto?

Nome host      : beta.example.com
Email         : earlieid@gmail.com
Indirizzo SMTP  : smtp.mailgun.org
Porta SMTP     : 587
Nome utente SMTP : postmaster@beta.example.com
Password SMTP : 3475b78b3d6947510bad6895ca3475b78b-3475b78b-3475b78b
Let's Encrypt : earlieid@gmail.com

INVIO per continuare, 'n' per riprovare, Ctrl+C per uscire:
Let's Encrypt sarà abilitato per earlieid@gmail.com
web.ssl.template.yml abilitato
letsencrypt.ssl.template.yml abilitato

File di configurazione aggiornato con successo!

Aggiornamenti riusciti. Ricostruzione tra 5 secondi.
Costruzione dell'app

AVVISO: Stiamo per iniziare il download dell'immagine base di Discourse
Questo processo può richiedere da pochi minuti a un'ora, a seconda della velocità della tua rete

Sii paziente

Impossibile trovare l'immagine 'discourse/base:2.0.20190906-0522' localmente
2.0.20190906-0522: Download da discourse/base
1ab2bdfe9778: Download del livello fs
a313ca07f056: Download del livello fs
1ab2bdfe9778: Verifica checksum
1ab2bdfe9778: Download completato
1ab2bdfe9778: Download completato
a313ca07f056: Verifica checksum
a313ca07f056: Download completato
a313ca07f056: Download completato
Digest: sha256:8c58bd323c80b464b2634d2aa8c322772d0c7bff3e08eff06cf2b66d37fe623d
Stato: Immagine aggiornata scaricata per discourse/base:2.0.20190906-0522
Verifica che il launcher sia aggiornato
Recupero dell'origine
Il launcher è aggiornato
cd /pups && git pull && /pups/bin/pups --stdin
Già aggiornato.
I, [2019-09-17T20:28:10.378799 #1]  INFO -- : Caricamento --stdin
I, [2019-09-17T20:28:10.383859 #1]  INFO -- : > locale-gen $LANG && update-locale
I, [2019-09-17T20:28:10.430937 #1]  INFO -- : Generazione delle località (questo potrebbe richiedere del tempo)...
Generazione completata.

Log degli errori:

    I, [2019-09-17T20:28:37.168409 #1]  INFO -- : > cd /var/www/discourse && bash -c "touch -a           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log"
I, [2019-09-17T20:28:37.173532 #1]  INFO -- :
I, [2019-09-17T20:28:37.174038 #1]  INFO -- : > cd /var/www/discourse && bash -c "ln    -s           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log /var/www/discourse/log"

    HTTP 429 Troppe richieste https://index.rubygems.org/info/memory_profiler
Bundler::HTTPError: Net::HTTPTooManyRequests: <html>
<head><title>429 Troppe richieste</title></head>

    -- add_index(:incoming_emails, :error)
   -> 0.0019s

    == 20170419193714 AddErrorToThemeFields: in migrazione ============================
-- add_column(:theme_fields, :error, :string, {})
   -> 0.0003s
== 20170419193714 AddErrorToThemeFields: migrato (0.0013s) ===================

    == 20170425172415 AddErrorToSchedulerStats: in migrazione =========================
-- add_column(:scheduler_stats, :error, :text, {})
   -> 0.0003s
== 20170425172415 AddErrorToSchedulerStats: migrato (0.0016s) ================
    == 20180907075713 AddLastErrorTextToRemoteThemes: in migrazione ===================
-- add_column(:remote_themes, :last_error_text, :text)
   -> 0.0003s
== 20180907075713 AddLastErrorTextToRemoteThemes: migrato (0.0016s) ==========

Bene, quegli errori Too Many Requests sono un problema. Non è del tutto chiaro quando si presentano e quando scompaiono. A quanto pare è perché stai colpendo rubygems.org troppo velocemente, ma non dovrebbe succedere. Dovrai solo aspettare un po’, poi riprovare.

Se condividi il tuo hostname, potremmo essere in grado di darti qualche indizio sul problema con Let’s Encrypt.

Ho inviato quel dettaglio nel messaggio.