I, [2021-06-25T11:00:32.360020 #1] INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile'
Aggiornamento di Alternative Logos fallito
about.json contiene valori non validi: La versione massima di Discourse non è valida
/var/www/discourse/app/models/remote_theme.rb:169:in `update_from_remote'
/var/www/discourse/lib/tasks/themes.rake:61:in `block (2 levels) in <main>'
Avevo questo componente, ma poiché Discourse è offline non riesco ad accedere al pannello di amministrazione per eliminarlo. Come posso eliminare questo componente del tema da riga di comando?
Non sono sicuro di cosa faccia cleanup sui container fermi, ma potresti semplicemente eseguire ./launcher start app e disabilitare il colpevole (in https://your.domain/admin/customize/themes)?
So che il problema è causato da Alternative Logos:
I, [2021-06-25T11:00:32.360020 #1] INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile'
Aggiornamento di Alternative Logos fallito
about.json contiene valori non validi: La versione massima di Discourse non è valida
/var/www/discourse/app/models/remote_theme.rb:169:in `update_from_remote'
/var/www/discourse/lib/tasks/themes.rake:61:in `block (2 levels) in <main>'
Avevo questo componente, ma poiché Discourse è offline non riesco ad accedere al pannello di amministrazione per eliminarlo. Come posso rimuovere questo componente del tema dalla riga di comando? Non posso ricreare o avviare l’applicazione, quindi è un peccato.
Impossibile trovare l'immagine 'local_discourse/app:latest' in locale
docker: Errore di risposta dal demone: accesso al pull negato per local_discourse/app, il repository non esiste o potrebbe richiedere 'docker login': negato: accesso alla risorsa richiesto negato.
Vedi 'docker run --help'.
Tuttavia, se hai eseguito ./launcher cleanup mentre il vecchio container era spento e non hai più un container da avviare, ti trovi in una situazione piuttosto complicata. È quello che hai fatto? Sembra proprio di sì.
Penso che sia un bug il fatto che un componente del tema difettoso renda impossibile l’aggiornamento, quindi forse verrà presto trovata una soluzione.
Potresti modificare il database per rimuovere il componente del tema, ma se non hai un container in esecuzione che ti permetta di accedere al database, non sono sicuro di come potresti farlo.
L’unica altra soluzione di emergenza immediata sarebbe verificare se è possibile ripristinare il database esistente su un’installazione pulita.
Forse puoi ripristinare il database su un’installazione pulita (magari ignorerà il tema rotto?), poi eliminare il tuo database e ricreare un nuovo database vuoto con Discourse aggiornato, infine ripristinare il database dall’installazione pulita remota.
Un’altra soluzione sarebbe creare un’immagine contenente solo il database e utilizzare SQL per rimuovere il componente del tema difettoso.
Ok, quindi la soluzione è stata installare una nuova istanza di Discourse, ripristinare dal backup e poi eliminare il componente che causava il problema.
Ho riscontrato una situazione simile stamattina, ma sono riuscito a riavviare semplicemente l’applicazione.
Il mio sito ha circa 10 temi, tutti dei quali hanno utilizzato il componente Alternative Logos Component da quando ogni tema utilizza loghi di colori diversi per abbinarsi alla propria palette cromatica. Vedo che ora posso inserire i loghi per il tema scuro nelle impostazioni del sito. Tuttavia, se elimino questo componente deprecato, dove posso aggiungere tutti gli altri loghi personalizzati per gli altri temi?
Penso che il problema sia solo nel file about.json e che tu possa eseguire un fork del componente del tema per creare la tua versione. Ma non ho dato un’occhiata approfondita né l’ho provato personalmente.