Como atualizar um site Discourse muito antigo?

1. Qual é a maneira mais fácil de voltar a funcionar?
2. Se eu tiver backups no S3, isso cobriu todos os dados relevantes, incluindo imagens, metadados, etc.?

Encontrei este artigo, mas ele não foi atualizado há 5 anos:

Então, antes de continuar com qualquer tarefa secundária hoje, gostaria de saber se alguém pode fornecer algumas dicas úteis. Talvez eu possa oferecer uma cerveja virtual, dar conselhos gratuitos sobre 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 ou qualquer outra coisa?

Alguém tem tempo para trabalhar em parceria comigo nisso e eu documentarei os esforços?

Aqui está o que eu sei:

  1. Meu diretório para o Discourse é /var/docker e não /var/discourse.
  2. Tenho um backup recente no S3.
  3. Tentei [Alterar “templates/postgres.template.yml” para “templates/postgres.9.5.template.yml”](http://Alterar “templates/postgres.template.yml” para “templates/postgres.9.5.template.yml”)
  4. Em seguida, o banco de dados não é compatível:
2020-04-04 20:53:42.164 UTC [1601] FATAL: arquivos do banco de dados são incompatíveis com o servidor
2020-04-04 20:53:42.164 UTC [1601] DETAIL: O diretório de dados foi inicializado pela versão 9.3 do PostgreSQL, que não é compatível com esta versão 9.5.21.

Logs Relevantes

Bem-vindo ao Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-148-generic x86_64)
  Carga do sistema:  0.08               Processos:              137
  Uso de /:   69,3% de 29,40GB   Usuários logados:        0
  Uso de memória: 77%                Endereço IP de eth0:    192.241.224.165
  Uso de swap:   24%                Endereço IP de docker0: 172.17.0.1
187 pacotes podem ser atualizados.
19 atualizações são de segurança.

*** Reinicialização do sistema necessária ***

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

Atualizando 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: Não foi possível localizar o pacote postgresql-client-9.3
E: Não foi possível encontrar nenhum pacote pelo padrão 'postgresql-client-9.3'
E: Não foi possível encontrar nenhum pacote pela expressão regular 'postgresql-client-9.3'
E: Não foi possível localizar o pacote postgresql-contrib-9.3
E: Não foi possível encontrar nenhum pacote pelo padrão 'postgresql-contrib-9.3'
E: Não foi possível encontrar nenhum pacote pela expressão regular 'postgresql-contrib-9.3'
I, [2020-04-04T20:34:17.590352 #1]  INFO -- : Hit:1 http://deb.debian.org/debian buster InRelease

FALHA
--------------------
Pups::ExecError: apt-get update && apt-get install -y postgresql-9.3 postgresql-client-9.3 postgresql-contrib-9.3 falhou com retorno #<Process::Status: pid 18 exit 100>
Local da falha: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec falhou com os parâmetros "apt-get update && apt-get install -y postgresql-9.3 postgresql-client-9.3 postgresql-contrib-9.3"
159a5389071c2e398c9f426ae0853f11f662503190b648f0390fdb14dd9a057e

AVISO! Isso removerá todos os containers parados.
Tem certeza de que deseja continuar? [y/N] y
Containers excluídos:
5fd4cef4498a5ad12efb2f27373e3950e83b106d8ab7095177862511b10a0366

Espaço total recuperado: 1,494GB
AVISO! Isso removerá todas as imagens sem pelo menos um container associado a elas.
Tem certeza de que deseja continuar? [y/N] y
Imagens excluídas:
untagged: local_discourse/app:latest

Espaço total recuperado: 9,848GB
root@forum:/var/docker# df -h
Sistema de arquivos      Tamanho  Usado Disponível Uso% Montado em
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: ignorando arquivo de configuração ausente "/shared/postgres_data/postgresql.auto.conf"
2020-04-04 20:53:42.164 UTC [1601] FATAL: arquivos do banco de dados são incompatíveis com o servidor
2020-04-04 20:53:42.164 UTC [1601] DETAIL: O diretório de dados foi inicializado pela versão 9.3 do PostgreSQL, que não é compatível com esta versão 9.5.21

FALHA
--------------------
Pups::ExecError: su postgres -c 'psql discourse -c "alter schema public owner to discourse;"' falhou com retorno #<Process::Status: pid 1627 exit 2>
Local da falha: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec falhou com os parâmetros "su postgres -c 'psql $db_name -c \"alter schema public owner to $db_user;\"'"
e5ea7eeecd58ef02a19254a299700fe2146b447c6eda637a4fe64df373348953

Olá, Justin! Que bom vê-lo novamente. Como cortesia, já que você tem usado o Discourse há muito tempo, ficarei feliz em pagar ao @pfaffman para ajudá-lo aqui. :hugs:

Basta avisá-lo para entrar em contato comigo para o pagamento.

Olá, @justin_gordon. O site está no ar agora? Se não, pode me passar as informações do S3?

Você pode me enviar de forma razoavelmente segura em Redirecting…

Acredito que não seja uma emergência e que começar na segunda-feira esteja tudo bem? Se for urgente, diga na sua mensagem e eu tentarei começar mais cedo.

Você também pode me enviar uma mensagem privada aqui com seu endereço de e-mail.

Nossa, @codinghorror, você fez o meu dia!

@pfaffman, sim, sem pressa. Eu estava fazendo a atualização para atender a um pedido sobre “como você deixou o cabeçalho tão bonito no talksurf.com”.

Assim que o talksurf.com estiver de volta no ar, vou garantir de incluir algumas observações aqui que serão úteis para outros.

Justin, agora estou me sentindo culpado :slightly_frowning_face:
Já no terceiro dia usando o Discourse e já estou causando caos!

Olá @Paul-Reed e @codinghorror,

@pfaffman me deixou de volta no ar… fez um trabalho incrível! O site está todo renovado e brilhante, e o Discourse é fantástico, já que tudo o que era necessário estava nos backups!

Que tecnologia incrível do Discourse!

@pfaffman me atualizou com o seguinte:

  1. Uma instalação com 2 containers descrita aqui.
  2. Restaurar a partir do backup em uma instalação nova parecia ser o caminho de menor resistência para uma instalação muito antiga.
  3. Na verdade, há apenas um arquivo útil fora dos backups, que é o arquivo /var/discourse/containers/app.yml. E eu deveria ter backups diários, não a cada 7 dias!

Uma lição importante que eu já sabia e deveria ter lembrado:

Só porque você acha que algo vai levar 10 minutos, às vezes não leva. Entrei nessa atualização apenas porque queria garantir que desse a @Paul-Reed um bom conselho sobre o cabeçalho. Ops! E não foi só eu que aprendi isso, mas muitas vezes esquecemos. Minha especialidade é fazer sites usando React e Ruby on Rails funcionarem melhor por meio da minha consultoria https://www.shakacode.com e do meu projeto de código aberto 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.

DevOps do tipo Docker é algo que consigo fazer, mas isso consome muito tempo do que estou tentando realizar!

Por tudo isso, estou pensando em pedir a @pfaffman que me ajude com alguma atualização na minha página inicial para https://forum.shakacode.com/.

Então, um MUITO OBRIGADO a @codinghorror e @pfaffman por toda a ajuda!


E se você estiver interessado, aqui está a correção para o cabeçalho personalizado que motivou essa atualização do meu antigo site Discourse.

Cabeçalho Personalizado

Primeiro de tudo, em vez de perder tempo com isso, recomendo entrar em contato com @pfaffman em https://support.literatecomputing.com/. Na verdade, vou pedir a @pfaffman que me ajude se quiser criar algo mais bonito nessa área!

Mas, para vocês que gostam de fazer tudo por conta própria, acho que todas as partes úteis estão aqui:

Pelo que sei, todo o resto está em branco.

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;
}

CABEÇALHO

<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>

Sim, eu já tinha visto isso aqui, mas não sei onde a imagem do talksurf está incluída no código.

Consigo ver de onde vem a imagem de fundo, mas não a imagem do ‘talksurf’ à esquerda, que está flutuando acima da imagem de fundo.

Adicionar ‘talksurf’ como uma imagem em Configurações>Marca>logotipo resulta em uma imagem muito menor, pois o Discourse a redimensiona de 120px de altura original para apenas 31px. O Talksurf tem muito mais do que 31px de altura.

@Paul-Reed Talvez veja se pode contratar o @pfaffman para ajudar? Eu nunca configurei isso, então não tenho ideia.

Você pode deixar o cabeçalho mais alto com um pouco de CSS. Posso ajudar com isso, mas sugiro que crie um novo tópico em #suporte, já que isso está um pouco fora do assunto aqui.

Eu já tenho um tópico existente que criei há alguns dias - Image not filling header container
Está tudo bem continuar por lá?