FAILED -------------------- Pups::ExecError: cd /var/www/discourse & su discourse -c ‘bundle exec rake db:migrate’ fallito con ritorno #<Process::Status: pid 690 exit 1> Posizione del fallimento: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn’ exec fallito con i parametri {“cd”=>“$home”, “hook”=>“db_migrate”, “cmd”=>[“su discourse -c ‘bundle exec rake db:migrate’”]} 7027ff0ccd166f831f9728472676ad91704fdd4caa6833a219d44697e740acdc ** FAILED TO BOOTSTRAP ** si prega di scorrere verso l’alto e cercare messaggi di errore precedenti, potrebbero essercene più di uno. ./discourse-doctor potrebbe aiutare a diagnosticare il problema.
Ok, come posso identificarli? Cerco la parola “errore”? Se mi dici come eseguire il log, lo allegherò. Sono nuovo nell’uso dei server. Grazie mille per il tuo aiuto.
Mi dispiace, ero al lavoro. Questo è il mio app.yml:
## questo è il template del container Docker Discourse tutto in uno e standalone
##
## Dopo aver apportato modifiche a questo file, DEVI ricostruire
## /var/discourse/launcher rebuild app
##
## FAI MOLTA ATTENZIONE QUANDO EDITI!
## I FILE YAML SONO ESTREMAMENTE SENSIBILI A ERRORI DI SPAZIATURA O ALLINEAMENTO!
## visita http://www.yamllint.com/ per convalidare questo file secondo necessità
templates:
- "templates/postgres.template.yml"
- "templates/redis.template.yml"
- "templates/web.template.yml"
- "templates/web.ratelimited.template.yml"
## Decommenta queste due righe se desideri aggiungere Lets Encrypt (https)
- "templates/web.ssl.template.yml"
- "templates/web.letsencrypt.ssl.template.yml"
## quali porte TCP/IP dovrebbe esporre questo container?
## Se vuoi che Discourse condivida una porta con un altro webserver come Apache o nginx,
## vedi https://meta.discourse.org/t/17247 per i dettagli
expose:
- "80:80" # http
- "443:443" # https
params:
db_default_text_search_config: "pg_catalog.spanish"
## Imposta db_shared_buffers al massimo del 25% della memoria totale.
## verrà impostato automaticamente da bootstrap in base alla RAM rilevata, o puoi sovrascriverlo
db_shared_buffers: "2048MB"
## può migliorare le prestazioni di ordinamento, ma aumenta l'utilizzo della memoria per connessione
#db_work_mem: "40MB"
## Quale revisione Git dovrebbe usare questo container? (default: tests-passed)
#version: tests-passed
env:
LC_ALL: es_ES.UTF-8
LANG: es_ES.UTF-8
LANGUAGE: es_ES.UTF-8
DISCOURSE_DEFAULT_LOCALE: es
## Quante richieste web concorrenti sono supportate? Dipende da memoria e core CPU.
## verrà impostato automaticamente da bootstrap in base alle CPU rilevate, o puoi sovrascriverlo
UNICORN_WORKERS: 8
## TODO: Il nome di dominio a cui risponderà questa istanza di Discourse
## Obbligatorio. Discourse non funzionerà con un semplice numero IP.
DISCOURSE_HOSTNAME: EDITED
## Decommenta se vuoi che il container venga avviato con lo stesso
## hostname (-h option) specificato sopra (default "$hostname-$config")
#DOCKER_USE_HOSTNAME: true
## TODO: Elenco di email separate da virgola che diventeranno amministratori e sviluppatori
## alla prima registrazione esempio 'user1@example.com,user2@example.com'
DISCOURSE_DEVELOPER_EMAILS: 'EDITED'
## TODO: Il server di posta SMTP utilizzato per convalidare 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: EDITED
DISCOURSE_SMTP_PORT: EDITED
DISCOURSE_SMTP_USER_NAME: EDITED
DISCOURSE_SMTP_PASSWORD: EDITED
DISCOURSE_SMTP_ENABLE_START_TLS: true # (opzionale, default true)
DISCOURSE_SMTP_DOMAIN: EDITED
DISCOURSE_NOTIFICATION_EMAIL: EDITED
## Se hai aggiunto il template Lets Encrypt, decommenta qui sotto per ottenere un certificato SSL gratuito
LETSENCRYPT_ACCOUNT_EMAIL: EDITED
## L'indirizzo CDN http o https per questa istanza di Discourse (configurato per il pull)
## vedi https://meta.discourse.org/t/14857 per i dettagli
#DISCOURSE_CDN_URL: https://discourse-cdn.example.com
## La chiave dell'indirizzo IP di geolocalizzazione Maxmind per la ricerca dell'indirizzo IP
## vedi https://meta.discourse.org/t/-/137387/23 per i dettagli
DISCOURSE_MAXMIND_LICENSE_KEY: EDITED
## Il container Docker è stateless; tutti i dati sono memorizzati 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
## vedi 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-reactions
## Qualsiasi comando personalizzato da eseguire dopo la build
run:
- exec: echo "Inizio comandi personalizzati"
## Se vuoi impostare l'indirizzo email 'Da' per la tua prima registrazione, decommenta e cambia:
## Dopo aver ricevuto la prima email di registrazione, ricommenta la riga. Deve essere eseguita solo una volta.
#- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
- exec: echo "Fine comandi personalizzati"
La verità è che non ho mai avuto alcun problema con l’aggiornamento. Non stavo facendo nulla di strano, ho semplicemente aggiornato il sistema e ho ricevuto l’avviso che si era verificato un errore.
Ha problemi nell’esecuzione di una migrazione di maggio 2021. Questo sito è stato spostato tra i canali di rilascio (beta/stabile/test-superati) o ripristinato da un backup in qualche momento?
Mi sembra di ricordare che siamo migrati da mybb in quella data (21 maggio)
Sì, è vero che oggi ho provato a recuperare un backup di inizio mese per provare ad avere una copia funzionante prima dell’errore, ma quando ho cliccato su avvia, è apparsa una schermata di errore.
Il mio forum è andato offline dopo l’aggiornamento. L’aggiornamento sembra essere andato a buon fine, ma quando sono andato alla pagina del forum, la pagina era bianca.
L’ho aggiornato manualmente e il forum ha funzionato. Non so se questo ti sarà d’aiuto o meno.
Grazie per la tua risposta. Penso che il mio problema sia correlato a un errore del database relativo alla migrazione dei forum. La ricostruzione dell’app non funziona.
Ho controllato le FAQ e i manuali, ma non riesco a trovare alcuna soluzione.
Ho alcuni backup precedenti (penso) all’errore, ma non posso caricarli perché l’app non si avvia. Posso solo pensare di cancellare tutto, fare un’installazione pulita e caricare un backup…
Avendo un backup e considerando che non posso eseguire l’app (per ripristinare il backup), cosa posso fare? Non vedo alternative se non eliminare Docker e ricominciare da capo?
L’unico argomento che ho trovato con un problema simile è stato Unable to login into discourse suddenly - #8 by Tarek_Khalil, e il consiglio è stato di ripristinare un backup da prima del pasticcio della migrazione, che potrebbe non essere l’opzione migliore nel tuo caso, dato che è passato un po’ di tempo.
Temo che gli errori del database siano al di fuori delle mie competenze. @pfaffman e @RGJ sono normalmente molto bravi in queste cose (anche se non so se si sono già imbattuti in questo). Avete qualche trucco da suggerire?
Prego! Quando svuoto una tabella, un’altra mi dà un errore. Ho già svuotato circa 3 tabelle… Devo continuare così una per una? Grazie mille per il tuo aiuto.
Mi do una risposta da solo. Dopo aver svuotato 7 tabelle (discourse_reactions_reactions, directory_columns, external_upload_stubs, associated_groups, user_associated_groups, group_associated_groups, discourse_reactions_reaction_users) il sito è di nuovo operativo. Ho anche ripristinato l’ultimo backup!
Grazie a tutti per il vostro aiuto! Buon fine settimana