Tenho os sintomas descritos em Error Updating from 3.4.0.beta3-dev to 3.4.0.beta3
Apenas o erro é diferente.
Não posso citar sua imagem.
Mas parece que você precisa excluir seu antigo diretório postgres_data_old. Se você tiver espaço e estiver paranoico, pode renomeá-lo.
Não consigo descobrir como copiar a saída da tela do weblish
Esta é a parte saliente da minha mensagem.
Talvez primeiro verifique se é antigo
ls -l /var/discourse/shared/standalone/
e certifique-se de que esse diretório de backup não seja datado de hoje.
Se você tiver bastante espaço em disco, pode fazer algo como
cd /var/discourse
cd shared/standalone
mv postgres_data_old postgres_data_delete_me
e então tente novamente
Sem sucesso.
Acho que estou duplicando Upgrade failed spectacularily
Você poderia compartilhar o conteúdo do seu arquivo app.yml? Remova qualquer informação sensível antes de postar.
de root@localhost: /var/discourse/containers
## este é o template de container Docker do Discourse, autônomo e tudo-em-um
##
## Após fazer alterações neste arquivo, você DEVE reconstruir
## /var/discourse/launcher rebuild app
##
## TENHA *MUITO* CUIDADO AO EDITAR!
## ARQUIVOS YAML SÃO SUPER SUPER SENSÍVEIS A ERROS DE ESPAÇAMENTO OU ALINHAMENTO!
## visite http://www.yamllint.com/ para validar este arquivo conforme necessário
templates:
- "templates/postgres.template.yml"
- "templates/redis.template.yml"
- "templates/web.template.yml"
- "templates/web.ratelimited.template.yml"
## Descomente estas duas linhas se desejar adicionar Lets Encrypt (https)
- "templates/web.ssl.template.yml"
- "templates/web.letsencrypt.ssl.template.yml"
## quais portas TCP/IP este container deve expor?
## Se você quiser que o Discourse compartilhe uma porta com outro servidor web como Apache ou nginx,
## veja https://meta.discourse.org/t/17247 para detalhes
expose:
- "80:80" # http
- "443:443" # https
params:
db_default_text_search_config: "pg_catalog.english"
## Defina db_shared_buffers para um máximo de 25% da memória total.
## será definido automaticamente pelo bootstrap com base na RAM detectada, ou você pode substituir
db_shared_buffers: "256MB"
## pode melhorar o desempenho da ordenação, mas adiciona uso de memória por conexão
#db_work_mem: "40MB"
## Qual revisão Git este container deve usar? (padrão: tests-passed)
#version: tests-passed
env:
LANG: en_US.UTF-8
# DISCOURSE_DEFAULT_LOCALE: en
## Quantas requisições web concorrentes são suportadas? Depende da memória e núcleos da CPU.
## será definido automaticamente pelo bootstrap com base nas CPUs detectadas, ou você pode substituir
UNICORN_WORKERS: 4
## TODO: O nome de domínio que esta instância do Discourse responderá
DISCOURSE_HOSTNAME: <mydomain>
## Descomente se você quiser que o container seja iniciado com o mesmo
## nome de host (-h option) que o especificado acima (padrão "hostname-$config")
#DOCKER_USE_HOSTNAME: true
## TODO: Lista de e-mails delimitados por vírgula que se tornarão administradores e desenvolvedores
## na inscrição inicial, exemplo 'user1@example.com,user2@example.com'
DISCOURSE_DEVELOPER_EMAILS: <myemail>
## TODO: O servidor de e-mail SMTP usado para validar novas contas e enviar notificações
DISCOURSE_SMTP_ADDRESS: <mymailorg>
DISCOURSE_SMTP_PORT: <myport>
DISCOURSE_SMTP_USER_NAME: <mysmpremail>
DISCOURSE_SMTP_PASSWORD: <mypassword>
#DISCOURSE_SMTP_ENABLE_START_TLS: true # (opcional, padrão true)
## Se você adicionou o template Lets Encrypt, descomente abaixo para obter um certificado SSL gratuito
LETSENCRYPT_ACCOUNT_EMAIL: <myemail>
## O endereço CDN para esta instância do Discourse (configurado para puxar)
## veja https://meta.discourse.org/t/14857 para detalhes
#DISCOURSE_CDN_URL: //discourse-cdn.example.com
## O container Docker é sem estado; todos os dados são armazenados em /shared
volumes:
- volume:
host: /var/discourse/shared/standalone
guest: /shared
- volume:
host: /var/discourse/shared/standalone/log/var-log
guest: /var/log
## Plugins vão aqui
## veja https://meta.discourse.org/t/19157 para detalhes
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
## Quaisquer comandos personalizados para executar após a construção
run:
- exec: echo "Início dos comandos personalizados"
## Se você quiser definir o endereço de e-mail 'De' para seu primeiro registro, descomente e altere:
## Após receber o primeiro e-mail de inscrição, comente a linha novamente. Ela só precisa ser executada uma vez.
#- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
- exec: echo "Fim dos comandos personalizados"
Você poderia confirmar sua versão do Docker? Se você estiver em uma versão mais antiga que nossa versão recomendada 24.0.7, sugiro que atualize o Docker e tente novamente.
Houve problemas semelhantes relatados em um tópico separado e parece que a atualização do Docker resolveu o problema lá.
Docker version 20.10.7, build f0df350
cat /etc/os-release
NAME="Ubuntu"
VERSION="16.04.7 LTS (Xenial Xerus)"
Parece que você pode estar enfrentando um problema semelhante com o Docker ao relatado naquele outro tópico.
Sugiro que você atualize tanto o Ubuntu quanto o Docker para versões mais recentes e, em seguida, tente reconstruir novamente.
Se o seu contêiner app antigo ainda existir e você não modificou os arquivos de dados existentes em shared/standalone/postgres_data, você pode tentar executar ./launcher start app para iniciar o site no contêiner antigo enquanto isso.
Passei pelas etapas para atualizar o Ubuntu e finalmente pressionei nisso.
Mas a tela travou em
Reconectando, vejo que tenho Ubuntu 18.0.4.6 LTS (Bionic Beaver)
Será muito mais fácil se você criar uma nova VM com um sistema operacional atualizado. O 18.04 está além do fim de sua vida útil e o 20.04 expira em abril.
Se você tiver um backup atualizado, crie um novo servidor e restaure esse backup, evitando completamente os problemas de atualização do postgres.
O Discourse não precisa do postgres instalado no sistema operacional. Este é outro motivo para começar com um sistema operacional novo.
Obrigado, Jay
Consegui restaurar um backup do linode para outro linode (linode2)
Agora preciso abrir o Discourse no linode2 para que o Discourse possa me enviar um backup por e-mail.
Fiz uma nova configuração de DNS para o linode2, mas recebo 502 Bad Gateway quando acesso.
Talvez eu tenha que esperar um pouco?
Estranhamente, discbak.softwarebydesign.com.au (linode2) está atualmente redirecionando para discourse.softwarebydesign.com.au (no linode original)
Você pode copiar o backup com scp/rsync. É mais fácil e rápido (a menos que você não saiba o que isso significa).
Você realmente quer criar uma VM nova com um novo sistema operacional (não um backup de um servidor com um sistema operacional desatualizado) e migrar para ela, como descrito em Mover um site Discourse para outro VPS com rsync. Aquele que acabei de copiar também tinha alguns problemas de propriedade. Você provavelmente terá os mesmos.
Se discbak estiver executando a mesma imagem que o outro servidor, eu esperaria que ele lhe desse um erro de certificado (a menos que você visitasse http://) e, em seguida, redirecionasse para o que estiver em HOSTNAME.
É justo dizer que eu realmente não sei o que estou fazendo.
Criei um novo VPS executando o Ubunto 24.0.1 LTS e cheguei às instruções para
rsync -rvz example.com:/var/discourse /var
Devido à minha atualização falha, example.com retorna 502 bad gateway.
Estou em uma curva de aprendizado tentando descobrir como conceder acesso de qualquer maneira.


