2023-01-04 20:48:05.355 UTC [41] LOG: iniciando PostgreSQL 13.9 (Debian 13.9-1.pgdg110+1) em x86_64-pc-linux-gnu, compilado por gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit
2023-01-04 20:48:05.377 UTC [41] LOG: escutando no endereço IPv4 \"0.0.0.0\", porta 5432
2023-01-04 20:48:05.377 UTC [41] LOG: escutando no endereço IPv6 \"::\", porta 5432
2023-01-04 20:48:05.566 UTC [41] LOG: escutando no soquete Unix \"/var/run/postgresql/.s.PGSQL.5432\"
2023-01-04 20:48:05.734 UTC [44] LOG: o sistema de banco de dados foi desligado em 2023-01-04 20:46:17 UTC
2023-01-04 20:48:05.878 UTC [41] LOG: o sistema de banco de dados está pronto para aceitar conexões
I, [2023-01-04T20:48:09.779985 #1] INFO -- :
I, [2023-01-04T20:48:09.780390 #1] INFO -- : > su postgres -c 'createdb discourse' || true
2023-01-04 20:48:10.014 UTC [54] postgres@postgres ERROR: o banco de dados \"discourse\" já existe
2023-01-04 20:48:10.014 UTC [54] postgres@postgres STATEMENT: CREATE DATABASE discourse;
createdb: error: falha na criação do banco de dados: ERROR: o banco de dados \"discourse\" já existe
I, [2023-01-04T20:48:10.017003 #1] INFO -- :
I, [2023-01-04T20:48:10.017425 #1] INFO -- : > su postgres -c 'psql discourse -c \"create user discourse;\"' || true
2023-01-04 20:48:10.188 UTC [58] postgres@discourse ERROR: a função \"discourse\" já existe
2023-01-04 20:48:10.188 UTC [58] postgres@discourse STATEMENT: create user discourse;
ERROR: a função \"discourse\" já existe
129:M 04 Jan 2023 20:48:21.224 # Falha ao escutar na porta 6379 (TCP), abortando.
Dentro do contêiner, tento iniciar o serviço postgresql e recebo um erro.
root@server /var/discourse # ./launcher enter app
x86_64 arch detected.
root@discourse:/var/www/discourse# service postgresql start
[FAIL] Starting PostgreSQL 13 database server: main[....] Error: Config owner (postgres:105) and data owner (systemd-timesync:101) do not match, and config owner is not root ... failed!
failed!
root@discourse:/var/www/discourse#
Se você alterou os proprietários dos arquivos dentro da pasta compartilhada, você quebrará a instalação. Uma opção é reinstalar e restaurar um backup, enquanto a outra é corrigir manualmente esses proprietários.
Dentro do contêiner, tentei discourse backup. Ele relata que o Redis não está em execução. No log do Redis “atual”, encontrei as seguintes linhas no final…
10316:M 05 Jan 2023 08:05:27.314 # Servidor inicializado
10316:M 05 Jan 2023 08:05:27.314 # AVISO: overcommit_memory está definido como 0! Salvar em segundo plano pode falhar em condições de pouca memória. Para corrigir este problema, adicione 'vm.overcommit_memory = 1' a /etc/sysctl.conf e reinicie ou execute o comando 'sysctl vm.overcommit_memory=1' para que isso tenha efeito.
10316:M 05 Jan 2023 08:05:27.314 # Não é possível lidar com a versão do formato RDB 10
10316:M 05 Jan 2023 08:05:27.314 # Erro fatal ao carregar o DB: Argumento inválido. Saindo.
10321:C 05 Jan 2023 08:05:28.345 # oO0OoO0OoO0Oo Redis está iniciando oO0OoO0OoO0Oo
10321:C 05 Jan 2023 08:05:28.345 # Versão do Redis=6.2.3, bits=64, commit=00000000, modificado=0, pid=10321, recém-iniciado
10321:C 05 Jan 2023 08:05:28.345 # Configuração carregada
10321:M 05 Jan 2023 08:05:28.346 * relógio monotônico: POSIX clock_gettime
10321:M 05 Jan 2023 08:05:28.347 * Modo de execução=standalone, porta=6379.
10321:M 05 Jan 2023 08:05:28.347 # AVISO: A configuração de backlog TCP de 511 não pode ser aplicada porque /proc/sys/net/core/somaxconn está definido como o valor menor de 128.
10321:M 05 Jan 2023 08:05:28.347 # Servidor inicializado
10321:M 05 Jan 2023 08:05:28.347 # AVISO: overcommit_memory está definido como 0! Salvar em segundo plano pode falhar em condições de pouca memória. Para corrigir este problema, adicione 'vm.overcommit_memory = 1' a /etc/sysctl.conf e reinicie ou execute o comando 'sysctl vm.overcommit_memory=1' para que isso tenha efeito.
10321:M 05 Jan 2023 08:05:28.348 # Não é possível lidar com a versão do formato RDB 10
10321:M 05 Jan 2023 08:05:28.348 # Erro fatal ao carregar o DB: Argumento inválido. Saindo.
Depois, reiniciei o contêiner com ./launcher restart app. Agora consigo acessar o Discourse. Mas é a versão antiga 2.8.3 que eu tentei atualizar para 3.0.0.beta16 ontem.
Não tenho certeza de como proceder para atualizar o Discourse.
Consegui definir a versão para 2.9.0.beta2 (id do commit: 88a8584348ed93a28286839bfc1c32b06bd50b3f) definindo o id do commit como “version” em app.yml. Desta vez, a atualização funcionou. Depois disso, consegui atualizar para 3.0.0.beta16.