Eu fiz:
git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse
chmod 700 containers
então copiei meu app.yml antigo para containers e tentei reconstruir o aplicativo:
[root@two discourse]# ./launcher rebuild app
x86_64 arch detectado.
Garantindo que o launcher esteja atualizado
Launcher está atualizado
Parando o contêiner antigo
+ /usr/bin/docker stop -t 600 app
app
2.0.20250722-0020: Puxando de discourse/base
Digest: sha256:3b975c30ef85e9742e2d7f6093450867e67dae204c93d22cc38d043dcbf530b3
Status: Imagem está atualizada para discourse/base:2.0.20250722-0020
docker.io/discourse/base:2.0.20250722-0020
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.3.0/lib/pups.rb
/usr/local/bin/pups --stdin
I, [2025-09-12T19:05:09.283821 #1] INFO -- : Lendo da entrada padrão
I, [2025-09-12T19:05:09.296585 #1] INFO -- : Arquivo > /etc/service/postgres/run chmod: +x chown:
I, [2025-09-12T19:05:09.301579 #1] INFO -- : Arquivo > /etc/service/postgres/log/run chmod: +x chown:
I, [2025-09-12T19:05:09.307391 #1] INFO -- : Arquivo > /etc/runit/3.d/99-postgres chmod: +x chown:
I, [2025-09-12T19:05:09.313597 #1] INFO -- : Arquivo > /root/install_postgres chmod: +x chown:
I, [2025-09-12T19:05:09.319914 #1] INFO -- : Arquivo > /root/upgrade_postgres chmod: +x chown:
I, [2025-09-12T19:05:09.320255 #1] INFO -- : Substituindo data_directory = '/var/lib/postgresql/15/main' por data_directory = '/shared/postgres_data' em /etc/postgresql/15/main/postgresql.conf
I, [2025-09-12T19:05:09.323526 #1] INFO -- : Substituindo (?-mix:#?listen_addresses *=.*) por listen_addresses = '*' em /etc/postgresql/15/main/postgresql.conf
I, [2025-09-12T19:05:09.324153 #1] INFO -- : Substituindo (?-mix:#?synchronous_commit *=.*) por synchronous_commit = $db_synchronous_commit em /etc/postgresql/15/main/postgresql.conf
I, [2025-09-12T19:05:09.324577 #1] INFO -- : Substituindo (?-mix:#?shared_buffers *=.*) por shared_buffers = $db_shared_buffers em /etc/postgresql/15/main/postgresql.conf
I, [2025-09-12T19:05:09.324945 #1] INFO -- : Substituindo (?-mix:#?work_mem *=.*) por work_mem = $db_work_mem em /etc/postgresql/15/main/postgresql.conf
I, [2025-09-12T19:05:09.325369 #1] INFO -- : Substituindo (?-mix:#?default_text_search_config *=.*) por default_text_search_config = '$db_default_text_search_config' em /etc/postgresql/15/main/postgresql.conf
I, [2025-09-12T19:05:09.325759 #1] INFO -- : Substituindo (?-mix:#?checkpoint_segments *=.*) por checkpoint_segments = $db_checkpoint_segments em /etc/postgresql/15/main/postgresql.conf
I, [2025-09-12T19:05:09.329467 #1] INFO -- : Substituindo (?-mix:#?logging_collector *=.*) por logging_collector = $db_logging_collector em /etc/postgresql/15/main/postgresql.conf
I, [2025-09-12T19:05:09.330304 #1] INFO -- : Substituindo (?-mix:#?log_min_duration_statement *=.*) por log_min_duration_statement = $db_log_min_duration_statement em /etc/postgresql/15/main/postgresql.conf
I, [2025-09-12T19:05:09.330761 #1] INFO -- : Substituindo (?-mix:^#local +replication +postgres +peer$) por local replication postgres peer em /etc/postgresql/15/main/pg_hba.conf
I, [2025-09-12T19:05:09.331823 #1] INFO -- : Substituindo (?-mix:^host.*all.*all.*127.*$) por host all all 0.0.0.0/0 md5 em /etc/postgresql/15/main/pg_hba.conf
I, [2025-09-12T19:05:09.332230 #1] INFO -- : Substituindo (?-mix:^host.*all.*all.*::1\\/128.*$) por host all all ::/0 md5 em /etc/postgresql/15/main/pg_hba.conf
I, [2025-09-12T19:05:09.332621 #1] INFO -- : > if [ -f /root/install_postgres ]; then
/root/install_postgres && rm -f /root/install_postgres
elif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then
socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1
fi
mkdir: não foi possível criar o diretório '/shared/postgres_run': Permissão negada
chown: não foi possível acessar '/shared/postgres_run': Arquivo ou diretório inexistente
chmod: não foi possível acessar '/shared/postgres_run': Arquivo ou diretório inexistente
mkdir: não foi possível criar o diretório '/shared/postgres_run': Permissão negada
chown: não foi possível acessar '/shared/postgres_run/15-main.pg_stat_tmp': Arquivo ou diretório inexistente
install: não foi possível alterar o proprietário e as permissões de '/shared/postgres_data': Arquivo ou diretório inexistente
initdb: erro: não foi possível criar o diretório "/shared/postgres_data": Permissão negada
find: '/shared/postgres_data': Arquivo ou diretório inexistente
chown: não foi possível desreferenciar '/var/run/postgresql': Arquivo ou diretório inexistente
cat: /shared/postgres_data/PG_VERSION: Arquivo ou diretório inexistente
du: não foi possível acessar '/shared/postgres_data': Arquivo ou diretório inexistente
/root/upgrade_postgres: linha 7: * 2: erro de sintaxe: operando esperado (token de erro \"* 2\")
I, [2025-09-12T19:05:12.122891 #1] INFO -- : Gerando locais (isso pode levar um tempo)...
en_US.UTF-8... concluído
Geração completa.
Os arquivos pertencentes a este sistema de banco de dados serão de propriedade do usuário \"postgres\".
Este usuário também deve ser o proprietário do processo do servidor.
O cluster do banco de dados será inicializado com a localidade \"en_US.UTF-8\".
A codificação padrão do banco de dados foi definida como \"UTF8\".
A configuração padrão de pesquisa de texto será definida como \"english\".
As verificações de checksum de página de dados estão desativadas.
criando diretório /shared/postgres_data ... Atualizando PostgreSQL da versão para 15
FALHOU
--------------------
Pups::ExecError: if [ -f /root/install_postgres ]; then
/root/install_postgres && rm -f /root/install_postgres
elif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then
socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1
fi
falhou com o retorno #<Process::Status: pid 18 exit 1>
Localização da falha: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.3.0/lib/pups/exec_command.rb:131:in `spawn'
exec falhou com os parâmetros {\"tag\"=>\"db\", \"cmd\"=>\"if [ -f /root/install_postgres ]; then\\n /root/install_postgres && rm -f /root/install_postgres\\nelif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then\\n socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1\\nfi\\n\"}
bootstrap falhou com o código de saída 1
** FALHA AO INICIALIZAR ** por favor, role para cima e procure por mensagens de erro anteriores, pode haver mais de uma.
./discourse-doctor pode ajudar a diagnosticar o problema.
c9c7badf83b119a15b40255ae48a05182f72663cc870ca85e867c1f9a218bb83
Aparentemente há um problema de permissão dentro do contêiner logo no início:
mkdir: não foi possível criar o diretório '/shared/postgres_run': Permissão negada
O que poderia estar causando isso?