Come aggiornare se `/var/discourse` contiene solo `shared` e non è un repository git

Gentili tutti,

ho un’istanza di Discourse configurata dal precedente amministratore sul nostro server web dipartimentale. Non conosco molto Discourse, ma richiede un aggiornamento e suggerisce di eseguire

        cd /var/discourse
        git pull
        ./launcher rebuild app

Tuttavia, quando eseguo cd su /var/discourse, vedo solo la directory shared e git pull fallisce di conseguenza (non è un repository git). Cosa dovrei fare?

Dovresti eseguire un’installazione pulita su una nuova VM, creare un backup e ripristinarlo sulla nuova installazione.

Se non ti piace questa risposta, dovresti chiedere a chi ha configurato quel sistema di venire a risolverlo.

@pfaffman Cosa intendi per una nuova VM? Un’immagine Docker per Discourse? Il problema è che non riesco a trovare una guida su come gestire Discourse tramite Docker.

Una nuova VM significa un nuovo server virtuale, assumendo che la tua istanza non sia su hardware dedicato.

Se hai Discourse in esecuzione ma /var/discourse è vuoto, si tratta o di un’installazione molto molto vecchia o di un pacchetto non supportato.

In ogni caso, dovresti creare un backup, avviare un nuovo server virtuale, seguire le linee guida di installazione standard e poi ripristinare dal backup.

Fai così: https://meta.discourse.org/t/discourse-official-standard-installation/142537

È effettivamente molto probabile che sia questo il caso. Sta eseguendo Discourse 2.1.0 (se questo rende le cose più chiare).

Proprio questo è il punto: la mia istanza È su hardware dedicato.

Quindi, come ho capito, al momento non è coinvolto Docker. O almeno, non manualmente. È comunque utile sapere che esiste un solo modo per configurarlo e che utilizza solo git clone e lo script di installazione.

Ciò che mi preoccupa è come rimuovere delicatamente la vecchia versione, dato che tutto avviene su una macchina fisica reale (cioè nulla di “virtuale”). Ho fatto il backup, è facile. E ora?

Ora installa su un’altra macchina. Una VM è preferibile in quanto è più facile scalare le risorse. I requisiti di sistema sono riportati nella documentazione di installazione.

Una volta avviata la nuova installazione, ripristina il backup.

Di che tipo di istanza si tratta? Quanto è utilizzata? È in uso costante?

Oh mio… è di metà 2018. Vuoi assolutamente aggiornare. Oltre a perdere numerose ottime funzionalità, sono state rilasciate diverse correzioni di sicurezza, alcune critiche, che non hai.

Purtroppo, non ho una macchina diversa.

Grazie per il feedback, ma non è in discussione: sto cercando di aggiornare. Non ero l’amministratore di questa istanza prima di ieri e conosco l’importanza degli aggiornamenti.

Grazie a tutti per le risposte! Ho chiesto al vecchio e mi ha aiutato. Il repo Git era dentro /var/docker invece di /var/discourse per qualche motivo. Da lì, è stato possibile applicare la procedura standard. Ora siamo all’ultima versione (2.6), evviva! :tada:

Ahah! Quella era la posizione consigliata un tempo, molto tempo fa (prima che iniziassi a usare Discourse, 4 anni fa).

Sembra che la mia soluzione “chiedi al vecchio esperto” abbia davvero funzionato!

Consiglio di lasciare qualche documentazione, tanto per essere sicuri:

echo "è in /var/docker" > where-is-launcher

È una buona idea. O forse

 cd /var/
 ln -s /var/docker discourse

Anche se questo potrebbe confondere launcher.

Non è una buona idea perché /var/discourse esiste già e contiene shared