Spero che qualcuno possa aiutarmi. Non ho avuto problemi da oltre 12 mesi con gli aggiornamenti del mio forum, che gira in un contenitore Docker su EC2.
Ho provato:
Pulizia del launcher, ma non ci sono problemi di spazio su disco
Ultimo git pull
Diversi rebuild dell’app
Ho anche provato un discourse-setup e stavo per tentare un ripristino del DB
Riavvio del server
apt-get update; apt-get upgrade
Ecco la coda del log:
Done compressing all JS files : 88.88 secs
rake aborted!
SocketError: Failed to open TCP connection to geolite.maxmind.com:443 (getaddrinfo: No address associated with hostname)
/var/www/discourse/lib/final_destination.rb:411:in `safe_session'
/var/www/discourse/lib/final_destination.rb:362:in `safe_get'
/var/www/discourse/lib/final_destination.rb:131:in `get'
/var/www/discourse/lib/file_helper.rb:51:in `download'
/var/www/discourse/lib/discourse_ip_info.rb:30:in `mmdb_download'
/var/www/discourse/lib/tasks/assets.rake:220:in `block (3 levels) in <top (required)>'
/var/www/discourse/lib/tasks/assets.rake:219:in `each'
/var/www/discourse/lib/tasks/assets.rake:219:in `block (2 levels) in <top (required)>'
Caused by:
SocketError: getaddrinfo: No address associated with hostname
/var/www/discourse/lib/final_destination.rb:411:in `safe_session'
/var/www/discourse/lib/final_destination.rb:362:in `safe_get'
/var/www/discourse/lib/final_destination.rb:131:in `get'
/var/www/discourse/lib/file_helper.rb:51:in `download'
/var/www/discourse/lib/discourse_ip_info.rb:30:in `mmdb_download'
/var/www/discourse/lib/tasks/assets.rake:220:in `block (3 levels) in <top (required)>'
/var/www/discourse/lib/tasks/assets.rake:219:in `each'
/var/www/discourse/lib/tasks/assets.rake:219:in `block (2 levels) in <top (required)>'
Tasks: TOP => assets:precompile
(See full trace by running task with --trace)
I, [2019-12-30T18:56:27.608998 #1] INFO -- : Downloading MaxMindDB...
Compressing Javascript and Generating Source Maps
I, [2019-12-30T18:56:27.633923 #1] INFO -- : Terminating async processes
I, [2019-12-30T18:56:27.637383 #1] INFO -- : Sending INT to HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/10/bin/postmaster -D /etc/postgresql/10/main pid: 49
I, [2019-12-30T18:56:27.639770 #1] INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 166
166:signal-handler (1577732187) Received SIGTERM scheduling shutdown...
2019-12-30 18:56:27.639 UTC [49] LOG: received fast shutdown request
2019-12-30 18:56:27.654 UTC [49] LOG: aborting any active transactions
166:M 30 Dec 2019 18:56:27.666 # User requested shutdown...
166:M 30 Dec 2019 18:56:27.694 * Saving the final RDB snapshot before exiting.
2019-12-30 18:56:27.702 UTC [49] LOG: worker process: logical replication launcher (PID 58) exited with exit code 1
2019-12-30 18:56:27.711 UTC [53] LOG: shutting down
2019-12-30 18:56:27.819 UTC [49] LOG: database system is shut down
166:M 30 Dec 2019 18:56:27.885 * DB saved on disk
166:M 30 Dec 2019 18:56:27.886 # Redis is now ready to exit, bye bye...
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake assets:precompile' failed with return #<Process::Status: pid 507 exit 1>
Location of failure: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"assets_precompile", "cmd"=>["su discourse -c 'bundle exec rake assets:precompile'"]}
fcf17d793c27c4e87616420ead222cc3f4a9fc163f239a5542b1c9a092579b30
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
Spero davvero che qualcuno possa fare luce su questa situazione.
Ora supportiamo il metodo ufficialmente supportato per ottenere i database, come indicato qui:
Se desideri ricevere gli aggiornamenti regolari di MaxMind, dovrai visitare GeoLite sign up | MaxMind per registrare un account e generare una chiave di licenza.
Successivamente, dovrai modificare il tuo container per includerla nella sezione env::
La correzione garantisce che non ci sia più una bomba a tempo. Se non abbiamo una chiave di licenza, non tenteremo mai di scaricare i file.
Stiamo discutendo con MaxMind la possibilità di includere i database aggiornati nelle nostre nuove immagini base. Per chi effettua l’hosting autonomo, ci sono due alternative a seconda dell’esito:
Nessuna risoluzione IP nella pagina del profilo utente e nella pagina di amministrazione fino a quando non viene aggiunta una licenza
Risoluzione IP non aggiornata per un massimo di N giorni dall’ottenimento dell’immagine base (cioè dopo aver eseguito ./launcher rebuild app)
È molto probabile che l’opzione (1) sia l’esito per chi effettua l’hosting autonomo.
Stiamo anche esaminando altre alternative, ma le nostre mani sono piuttosto legate.
Sono fortemente contrario all’aggiunta di funzionalità al core che effettuano ricerche IP tramite un servizio web, poiché ciò espone informazioni a terze parti. Esistono solo due grandi alternative reali e entrambe richiedono la registrazione.
@sam Ho una piccola richiesta di funzionalità: è possibile aggiungere un’impostazione nel pannello di amministrazione per inserire la chiave di licenza MaxMind?
Posso confermare che siamo riusciti a registrarci per un account senza problemi. Dovrai contattare MaxMind per il supporto relativo ai problemi dell’account; qui non possiamo fornirti assistenza.
Grazie a tutti coloro che hanno lavorato alla correzione rapida nelle ultime settimane. Ho dovuto fare la stessa cosa con Matomo, il che è stato molto più doloroso (manuale).
Questo mi porta alla mia domanda: Dov’è utilizzata esattamente la MaxMind? Solo nei casi in cui gli amministratori visualizzano gli indirizzi IP degli utenti? Qualcos’altro a cui non sto pensando?
Ovviamente ho già un account MM, ma mi chiedo se valga la pena impegnarsi a farlo con urgenza.
Esegue ricerche geografiche sugli indirizzi IP. Ho eseguito diverse installazioni e aggiornamenti di recente senza impostare una chiave API e i rebuild funzionano correttamente. (la versione corrente è la beta 10)
Inoltre, non è difficile ottenere una chiave per scaricare il database.
Spero di aggiornare discourse-setup per permettere l’impostazione della chiave la prossima settimana.
Esatto, vengono utilizzati per la ricerca degli indirizzi IP degli utenti da parte degli amministratori. Inoltre, per l’elenco dei “dispositivi utilizzati di recente” nelle preferenze dell’utente e per gli avvisi agli amministratori quando viene rilevato un nuovo accesso al loro account da una posizione diversa.
Scusa l’intrusione, ma volevo chiedere se è previsto mantenere la possibilità di disabilitare la ricerca dell’IP. Mi sembra che obbligare gli amministratori a iscriversi a un servizio di terze parti non sia una buona idea. Io stesso ho già una chiave di licenza per altri utilizzi, quindi mi esprimo in senso generale.
Se non inserisci una chiave di licenza, la funzionalità verrà disabilitata. Non c’è nulla che costringa gli amministratori a configurarla.
Inoltre, solo per evitare qualsiasi confusione, Discourse non invia mai indirizzi IP a terze parti. Discourse scarica un intero database di località degli IP da MaxMind ed esegue quindi la ricerca internamente.