Come aggiornare un sito Discourse molto vecchio?

1. Qual è il modo più semplice per ripartire?
2. Se ho eseguito backup su S3, questo ha coperto tutti i dati pertinenti, incluse immagini, metadati, ecc.?

Ho trovato questo articolo, ma non è stato aggiornato da 5 anni:

Quindi, prima di perdere altro tempo oggi, vorrei sapere se qualcuno può fornire alcuni consigli utili. Forse posso offrire una birra virtuale a qualcuno, dare qualche consiglio gratuito su GitHub - shakacode/react_on_rails: Integration of React + Webpack + Rails including server-side rendering of React, enabling a better developer experience and faster client performance. · GitHub o su altro?

C’è qualcuno disponibile a fare pair programming con me su questo, e io documenterò il lavoro svolto?

Ecco cosa so:

  1. La mia directory per Discourse è /var/docker e non /var/discourse.
  2. Ho un backup recente su S3.
  3. Ho provato a [cambiare “templates/postgres.template.yml” in “templates/postgres.9.5.template.yml”](http://Change “templates/postgres.template.yml” TO “templates/postgres.9.5.template.yml”)
  4. Successivamente il database non è compatibile:
2020-04-04 20:53:42.164 UTC [1601] FATAL: database files are incompatible with server
2020-04-04 20:53:42.164 UTC [1601] DETAIL: The data directory was initialized by PostgreSQL version 9.3, which is not compatible with this version 9.5.21.

Log pertinenti

Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-148-generic x86_64)
  System load:  0.08               Processes:              137
  Usage of /:   69.3% of 29.40GB   Users logged in:        0
  Memory usage: 77%                IP address for eth0:    192.241.224.165
  Swap usage:   24%                IP address for docker0: 172.17.0.1
187 packages can be updated.
19 updates are security updates.

*** System restart required ***

root@forum:~# cd /var/docker/
root@forum:/var/docker# git pull

Updating 67f34b8..b0c92ba

I, [2020-04-04T20:34:13.023086 #1]  INFO -- : > apt-get update && apt-get install -y postgresql-9.3 postgresql-client-9.3 postgresql-contrib-9.3
E: Unable to locate package postgresql-client-9.3
E: Couldn't find any package by glob 'postgresql-client-9.3'
E: Couldn't find any package by regex 'postgresql-client-9.3'
E: Unable to locate package postgresql-contrib-9.3
E: Couldn't find any package by glob 'postgresql-contrib-9.3'
E: Couldn't find any package by regex 'postgresql-contrib-9.3'
I, [2020-04-04T20:34:17.590352 #1]  INFO -- : Hit:1 http://deb.debian.org/debian buster InRelease

FAILED
--------------------
Pups::ExecError: apt-get update && apt-get install -y postgresql-9.3 postgresql-client-9.3 postgresql-contrib-9.3 failed with return #<Process::Status: pid 18 exit 100>
Location of failure: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec failed with the params "apt-get update && apt-get install -y postgresql-9.3 postgresql-client-9.3 postgresql-contrib-9.3"
159a5389071c2e398c9f426ae0853f11f662503190b648f0390fdb14dd9a057e

WARNING! This will remove all stopped containers.
Are you sure you want to continue? [y/N] y
Deleted Containers:
5fd4cef4498a5ad12efb2f27373e3950e83b106d8ab7095177862511b10a0366

Total reclaimed space: 1.494GB
WARNING! This will remove all images without at least one container associated to them.
Are you sure you want to continue? [y/N] y
Deleted Images:
untagged: local_discourse/app:latest

Total reclaimed space: 9.848GB
root@forum:/var/docker# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            477M     0  477M   0% /dev
tmpfs           100M   11M   89M  11% /run
/dev/vda1        30G  9.6G   19G  35% /
tmpfs           497M     0  497M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           497M     0  497M   0% /sys/fs/cgroup
cgmfs           100K     0  100K   0% /run/cgmanager/fs
tmpfs           100M     0  100M   0% /run/user/0

LOG:  skipping missing configuration file "/shared/postgres_data/postgresql.auto.conf"
2020-04-04 20:53:42.164 UTC [1601] FATAL: database files are incompatible with server
2020-04-04 20:53:42.164 UTC [1601] DETAIL: The data directory was initialized by PostgreSQL version 9.3, which is not compatible with this version 9.5.21

FAILED
--------------------
Pups::ExecError: su postgres -c 'psql discourse -c "alter schema public owner to discourse;"' failed with return #<Process::Status: pid 1627 exit 2>
Location of failure: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec failed with the params "su postgres -c 'psql $db_name -c \"alter schema public owner to $db_user;\"'"
e5ea7eeecd58ef02a19254a299700fe2146b447c6eda637a4fe64df373348953

Ciao Justin! È un piacere rivederti. Come gesto di cortesia, dato che usi Discourse da molto tempo, sarò felice di pagare @pfaffman per aiutarti qui. :hugs:

Fagli sapere di contattarmi per il pagamento.

Ciao, @justin_gordon. Il sito è online ora? Se no, puoi inviarmi le informazioni S3?

Puoi inviarmele in modo ragionevolmente sicuro all’indirizzo Redirecting…

Confido che non si tratti di un’emergenza e che iniziare lunedì vada bene? Se è urgente, specificalo nel tuo messaggio e cercherò di iniziare prima.

Puoi anche inviarmi un messaggio privato qui con il tuo indirizzo email.

OMG @codinghorror, mi hai fatto la giornata!

@pfaffman, sì, nessuna urgenza. Stavo aggiornando per rispondere a una richiesta su “come hai reso così bello l’intestazione su talksurf.com”.

Non appena talksurf.com sarà di nuovo operativo, mi assicurerò di aggiungere qui alcune note che saranno utili per gli altri.

Justin, ora mi sento in colpa :slightly_frowning_face:
Sono passati solo 3 giorni dall’uso di Discourse e ho già creato il caos!

Ciao @Paul-Reed e @codinghorror,

@pfaffman mi ha rimesso in piedi… ha fatto un lavoro incredibile! Il sito è tutto nuovo e lucente, e Discourse è fantastico perché tutto il necessario era nei backup!

Che tecnologia straordinaria da parte di Discourse!

@pfaffman mi ha aggiornato con quanto segue:

  1. Un’installazione a 2 container descritta qui.
  2. Il ripristino dal backup su un’installazione fresca sembrava la strada di minor resistenza per un’installazione molto vecchia.
  3. In realtà c’è solo un file utile al di fuori dei backup, ovvero il file /var/discourse/containers/app.yml. E dovrei fare backup quotidiani, non ogni 7 giorni!

Una lezione chiave che conoscevo e avrei dovuto ricordare:

Solo perché pensi che qualcosa richieda 10 minuti, a volte non è così. Mi sono imbattuto in questo aggiornamento perché volevo assicurarmi di dare a @Paul-Reed un buon consiglio sull’intestazione. Ops! E non l’ho solo imparato, ma spesso lo dimentichiamo. La mia specialità è far funzionare meglio i siti web utilizzando React e Ruby on Rails attraverso la mia consulenza https://www.shakacode.com e il mio open source GitHub - shakacode/react_on_rails: Integration of React + Webpack + Rails including server-side rendering of React, enabling a better developer experience and faster client performance. · GitHub.

Le operazioni di sviluppo di tipo Docker sono qualcosa che posso fare, ma richiedono molto tempo rispetto a ciò che sto cercando di ottenere!

Quindi, per tutto questo, sto pensando di chiedere a @pfaffman di aiutarmi con un aggiornamento della mia home page per https://forum.shakacode.com/.

Quindi un ENORME grazie a @codinghorror e @pfaffman per tutto l’aiuto!


E se siete interessati, ecco la soluzione per l’intestazione personalizzata che ha dato il via a questo aggiornamento del mio vecchio sito Discourse.

Intestazione personalizzata

Prima di tutto, invece di perdere tempo in dettagli inutili, vi consiglio di contattare @pfaffman su https://support.literatecomputing.com/. In effetti, se volessi creare qualcosa di più raffinato in quest’area, mi farebbe aiutare da @pfaffman!

Ma, per voi appassionati del fai-da-te, credo che tutte le parti utili siano qui:

Per quanto ne so, tutto il resto è vuoto.

CSS

#top-navbar-container {
    background: black;
    height: 25px;
}

#top-navbar-links .spacer {
    display: inline-block;
    margin-left: 12px;
    margin-right: 12px;
}


#top-navbar-links, #top-navbar-links a:visited, #top-navbar-links a {
    color: white;
}

header.d-header {
    background: black;
    background-image: url(/uploads/default/63/873a733a013f8208.jpg);
    padding-top: 0;
    box-shadow: none;
    top: 25px;
    height: 63px;
}

.ember-view > #main-outlet {
    padding-top: 97px;
}

header > .container {
    background-image: url(/uploads/default/63/873a733a013f8208.jpg);
    max-width: 1200px;
    padding-right: 50px;
}

header.d-header > .container > .contents {
    margin: 0;
}

header.d-header #site-logo, header.d-header .logo-small {
    max-height: 53px;
}

body #main .extra-info > a.star {
    color: #A5ACDD;
}

header .extra-info-wrapper h1 {
    margin-top: 18px;    
}

@media screen and (min-width: 1140px)  {
    header .extra-info-wrapper {
        max-width: 780px;
    }
}

@media screen and (min-width: 967px) and (max-width: 1139px)  {
    header .extra-info-wrapper {
        max-width: 647px;
    }
}

#user-notifications, #search-button, #site-map  {
    color: #AAA; 
}

@media screen and (max-width: 966px) {
    .extra-info-wrapper {
        max-width: 620px;
    }
}

header .current-username .username > a {
    color: white;
}

header.d-header .icons .icon:hover {
    background-color: #000000;
}

HEADER

<div id="top-navbar-container" class="d-header">
<div id="top-navbar" class="wrap">
<span id="top-navbar-links" style="height:20px;">
  <a href="http://forum.talksurf.com">Home</a><span class="spacer"> | </span>
  <a href="http://forum.talksurf.com/category/surfing/doug-silva">Doug Silva</a><span class="spacer"> | </span>
  <a href="http://forum.talksurf.com/category/surfing">Surfing</a><span class="spacer"> | </span>
  <a href="http://forum.talksurf.com/category/kitesurfing">Kitesurfing</a><span class="spacer"> | </span>
  <a href="http://forum.talksurf.com/category/standup-paddling">SUP</a><span class="spacer"> | </span>
  <a href="http://forum.talksurf.com/category/windsurfing">Windsurfing</a><span class="spacer"> | </span>
  <a href="http://forum.talksurf.com/t/pros-instructors-equipment-travel/264">Pros</a><span class="spacer"> | </span>
  <a href="http://forum.talksurf.com/t/what-is-talksurf-com/265">About</a><span class="spacer"> | </span>
  <a href="http://forum.talksurf.com/faq">FAQ</a>
</span>
</div>
</div>

Sì, l’avevo visto qui, ma non so dove l’immagine talksurf sia inclusa nel codice.

Posso vedere da dove proviene l’immagine di sfondo, ma non l’immagine ‘talksurf’ a sinistra, che galleggia sopra l’immagine di sfondo.

Aggiungere ‘talksurf’ come immagine in Impostazioni>Branding>logo risulta in un’immagine molto più piccola, poiché Discourse la ridimensiona da un’altezza originale di 120px a soli 31px. Talksurf è molto più alta di 31px.

@Paul-Reed Magari vedi se puoi assumere @pfaffman per dare una mano? Non ho mai configurato questa cosa, quindi non ne ho la minima idea.

Puoi rendere l’intestazione più alta con un po’ di CSS. Posso aiutarti con questo, ma ti suggerisco di creare un nuovo argomento in #supporto, dato che è un po’ fuori tema qui.

Ho già un argomento esistente che ho avviato qualche giorno fa - Image not filling header container
Va bene continuare lì?