I file del database sono incompatibili con il server (aggiornamento all'interno di Linode)

Ho i sintomi descritti su Error Updating from 3.4.0.beta3-dev to 3.4.0.beta3
Solo che l’errore è diverso.

Non posso quotare la tua immagine.

Ma sembra che tu debba eliminare la vecchia directory postgres_data_old. Se hai spazio e sei paranoico, puoi rinominarla.

Non riesco a capire come copiare l’output dello schermo di Weblish

1 Mi Piace

Questa è la parte saliente del mio messaggio.

Forse prima controlla che sia vecchia
ls -l /var/discourse/shared/standalone/
e assicurati che quella directory di backup non sia datata di oggi.

Se hai molto spazio su disco puoi fare qualcosa come

cd /var/discourse
cd shared/standalone
mv postgres_data_old postgres_data_delete_me

e poi riprova

1 Mi Piace

Nessun risultato.
Penso di duplicare Upgrade failed spectacularily

Potresti condividere il contenuto del tuo file app.yml? Rimuovi qualsiasi informazione sensibile prima di pubblicarlo.

da root@localhost: /var/discourse/containers

## questo è il template del container Docker di Discourse all-in-one, standalone
##
## Dopo aver apportato modifiche a questo file, DEVI ricostruire
## /var/discourse/launcher rebuild app
##
## FAI *MOLTA* ATTENZIONE QUANDO EDIITI!
## I FILE YAML SONO SUPER SUPER 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 deve 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.english"

  ## Imposta db_shared_buffers al massimo del 25% della memoria totale.
  ## verrà impostato automaticamente da bootstrap in base alla RAM rilevata, oppure puoi sovrascriverlo
  db_shared_buffers: "256MB"

  ## 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:
  LANG: en_US.UTF-8
  # DISCOURSE_DEFAULT_LOCALE: en

  ## Quante richieste web concorrenti sono supportate? Dipende da memoria e core CPU.
  ## verrà impostato automaticamente da bootstrap in base alle CPU rilevate, oppure puoi sovrascriverlo
  UNICORN_WORKERS: 4

  ## TODO: Il nome di dominio a cui risponderà questa istanza di Discourse
  DISCOURSE_HOSTNAME: <mydomain>

  ## 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: <myemail>

  ## TODO: Il server di posta SMTP utilizzato per convalidare nuovi account e inviare notifiche
  DISCOURSE_SMTP_ADDRESS: <mymailorg>
  DISCOURSE_SMTP_PORT: <myport>
  DISCOURSE_SMTP_USER_NAME: <mysmpremail>
  DISCOURSE_SMTP_PASSWORD: <mypassword>
  #DISCOURSE_SMTP_ENABLE_START_TLS: true           # (opzionale, default true)

  ## Se hai aggiunto il template Lets Encrypt, decommenta sotto per ottenere un certificato SSL gratuito
  LETSENCRYPT_ACCOUNT_EMAIL: <myemail>

  ## L'indirizzo CDN per questa istanza di Discourse (configurato per il pull)
  ## vedi https://meta.discourse.org/t/14857 per i dettagli
  #DISCOURSE_CDN_URL: //discourse-cdn.example.com

## 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-solved.git
          - git clone https://github.com/discourse/discourse-math.git

## 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, ri-commenta la riga. Deve essere eseguita solo una volta.
  #- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
  - exec: echo "Fine comandi personalizzati"

Potresti confermare la tua versione di Docker? Se hai una versione precedente alla nostra versione consigliata 24.0.7, ti suggerirei di aggiornare Docker e riprovare.

Ci sono stati problemi simili segnalati in un argomento separato e sembra che l’aggiornamento di Docker abbia risolto il problema lì.

Docker versione 20.10.7, build f0df350

cat /etc/os-release
NAME="Ubuntu"
VERSION="16.04.7 LTS (Xenial Xerus)"

Sembra che tu possa riscontrare un problema simile con Docker a quello segnalato in quell’altro argomento.

Ti suggerisco di aggiornare sia Ubuntu che Docker a versioni più recenti, quindi riprova a ricompilare.

Se il tuo vecchio container app esiste ancora e non hai modificato i file di dati esistenti in shared/standalone/postgres_data, puoi provare a eseguire ./launcher start app per avviare il sito sul vecchio container nel frattempo.

2 Mi Piace

Ho seguito i passaggi per aggiornare Ubuntu e infine ho premuto su questo.


Ma lo schermo si è bloccato su

Riconnettendomi vedo che ho Ubuntu 18.0.4.6 LTS (Bionic Beaver)

Sarà molto più facile se crei una nuova VM con un sistema operativo aggiornato. 18.04 ha superato la fine del suo ciclo di vita e 20.04 scadrà ad aprile.

Se hai un backup aggiornato, crea un nuovo server e ripristina quel backup, evitando completamente i problemi di aggiornamento di postgres.

Discourse non ha bisogno di postgres installato sul sistema operativo. Questo è un altro motivo per iniziare con un sistema operativo nuovo.

1 Mi Piace

Grazie Jay
Sono riuscito a ripristinare un backup di linode su un altro linode (linode2)
Ora devo aprire Discourse su linode2 in modo da poter ottenere da Discourse un backup via email.
Ho creato una nuova impostazione DNS per linode2 ma ottengo 502 Bad Gateway quando ci vado.
Forse devo aspettare un po’?
Stranamente discbak.softwarebydesign.com.au (linode2) sta attualmente reindirizzando a discourse.softwarebydesign.com.au (sul linode originale)

Puoi copiare il backup con scp/rsync. È più facile e veloce (a meno che tu non sappia cosa significhi).

Vuoi davvero creare una VM nuova con un nuovo sistema operativo (non un backup di un server con un sistema operativo obsoleto) e spostarti su di essa come descritto in Sposta un sito Discourse su un altro VPS con rsync. Anche quello che ho appena copiato aveva alcuni problemi di proprietà. Probabilmente li avrai anche tu.

Se discbak sta eseguendo la stessa immagine del server, mi aspetterei che ti dia un errore di certificato (a meno che tu non abbia visitato http://) e poi reindirizzi a qualunque cosa sia in HOSTNAME.

È giusto dire che non so davvero cosa sto facendo.
Ho creato un nuovo VPS che esegue Ubunto 24.0.1 LTS e sono arrivato alle istruzioni per

rsync -rvz example.com:/var/discourse /var

A causa del mio aggiornamento fallito, example.com restituisce 502 bad gateway.
Sono in una curva di apprendimento cercando di capire come concedere comunque l’accesso.