Estou tentando construir uma nova imagem Docker do Discourse, mas parece que ela está falhando na etapa de migração.
I, [2020-12-15T15:02:28.688540 #1] INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
I, [2020-12-15T15:04:19.530701 #1] INFO -- :
I, [2020-12-15T15:04:19.530966 #1] INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile'
Limpando arquivos temporários
Empacotando ativos
I, [2020-12-15T15:04:36.448680 #374] INFO -- : Gravando /var/www/discourse/public/assets/vendor-bdb3fefe8aefde7bf6aef331a6edd24482502b370ed9f6f299836c72ee6a843c.js
I, [2020-12-15T15:04:43.818563 #374] INFO -- : Gravando /var/www/discourse/public/assets/admin-073db5e5695d9f3834b9ad41d66ef30a02b9ca85fc9c95f272257ea9c7a67f21.js
I, [2020-12-15T15:04:43.822864 #374] INFO -- : Gravando /var/www/discourse/public/assets/browser-detect-115ab5953de1b5bb122bfb26b757f5391dd8d1d2aef2b81baf7b59aee99d9f34.js
.
.
.
.
.
.
.
.
.
.
.
35:M 15 Dec 2020 15:06:27.009 * 10 alterações em 300 segundos. Salvando...
35:M 15 Dec 2020 15:06:27.010 * Salvamento em segundo plano iniciado pelo pid 1066
1066:C 15 Dec 2020 15:06:27.010 # Falha ao abrir o arquivo RDB dump.rdb (no diretório raiz do servidor /pups) para salvamento: Permissão negada
35:M 15 Dec 2020 15:06:27.110 # Erro no salvamento em segundo plano
35:M 15 Dec 2020 15:06:33.020 * 10 alterações em 300 segundos. Salvando...
35:M 15 Dec 2020 15:06:33.020 * Salvamento em segundo plano iniciado pelo pid 1067
1067:C 15 Dec 2020 15:06:33.020 # Falha ao abrir o arquivo RDB dump.rdb (no diretório raiz do servidor /pups) para salvamento: Permissão negada
35:M 15 Dec 2020 15:06:33.121 # Erro no salvamento em segundo plano
35:M 15 Dec 2020 15:06:39.030 * 10 alterações em 300 segundos. Salvando...
35:M 15 Dec 2020 15:06:39.031 * Salvamento em segundo plano iniciado pelo pid 1068
1068:C 15 Dec 2020 15:06:39.031 # Falha ao abrir o arquivo RDB dump.rdb (no diretório raiz do servidor /pups) para salvamento: Permissão negada
35:M 15 Dec 2020 15:06:39.131 # Erro no salvamento em segundo plano
gzip -f -c -9 /var/www/discourse/public/assets/application-42d4413fabab7a4b12e0c25fb01f736af560aa283089071a8493f37c9b042a4a.js > /var/www/discourse/public/assets/application-42d4413fabab7a4b12e0c25fb01f736af560aa283089071a8493f37c9b042a4a.js.gz
brotli -f --quality=11 /var/www/discourse/public/assets/application-42d4413fabab7a4b12e0c25fb01f736af560aa283089071a8493f37c9b042a4a.js --output=/var/www/discourse/public/assets/application-42d4413fabab7a4b12e0c25fb01f736af560aa283089071a8493f37c9b042a4a.js.br
35:M 15 Dec 2020 15:06:45.041 * 10 alterações em 300 segundos. Salvando...
35:M 15 Dec 2020 15:06:45.042 * Salvamento em segundo plano iniciado pelo pid 1072
1072:C 15 Dec 2020 15:06:45.042 # Falha ao abrir o arquivo RDB dump.rdb (no diretório raiz do servidor /pups) para salvamento: Permissão negada
35:M 15 Dec 2020 15:06:45.142 # Erro no salvamento em segundo plano
Concluída a compressão de application-42d4413fabab7a4b12e0c25fb01f736af560aa283089071a8493f37c9b042a4a.js : 25,87 segundos
Concluída a compressão de todos os arquivos JS : 83,62 segundos
Início da compilação do CSS: 2020-12-15 15:06:49 UTC
Compilando CSS para o padrão 2020-12-15 15:06:49 UTC
alvo de pré-compilação: Desktop Escuro
35:M 15 Dec 2020 15:06:51.051 * 10 alterações em 300 segundos. Salvando...
35:M 15 Dec 2020 15:06:51.051 * Salvamento em segundo plano iniciado pelo pid 1074
1074:C 15 Dec 2020 15:06:51.051 # Falha ao abrir o arquivo RDB dump.rdb (no diretório raiz do servidor /pups) para salvamento: Permissão negada
35:M 15 Dec 2020 15:06:51.151 # Erro no salvamento em segundo plano
rake aborted!
Redis::CommandError: ERR Erro ao executar script (chamada para f_45fe64238f6598e6c505af0aad74b4e178e891f4): @user_script:14: @user_script: 14: -MISCONF O Redis está configurado para salvar snapshots RDB, mas atualmente não consegue persistir no disco. Comandos que podem modificar o conjunto de dados estão desabilitados, porque esta instância está configurada para relatar erros durante as gravações se a criação de snapshots RDB falhar (opção stop-writes-on-bgsave-error). Verifique os logs do Redis para detalhes sobre o erro do RDB.
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/redis-4.2.5/lib/redis/client.rb:132:in `call'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rack-mini-profiler-2.2.0/lib/mini_profiler/profiling_methods.rb:85:in `block in profile_method'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/redis-4.2.5/lib/redis.rb:2585:in `block in _eval'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/redis-4.2.5/lib/redis.rb:69:in `block in synchronize'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/redis-4.2.5/lib/redis.rb:69:in `synchronize'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/redis-4.2.5/lib/redis.rb:2584:in `_eval'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/redis-4.2.5/lib/redis.rb:2636:in `evalsha'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/message_bus-3.3.4/lib/message_bus/backends/redis.rb:425:in `cached_eval'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/message_bus-3.3.4/lib/message_bus/backends/redis.rb:144:in `publish'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/message_bus-3.3.4/lib/message_bus.rb:382:in `publish'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/message_bus-3.3.4/lib/message_bus/distributed_cache.rb:80:in `publish'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/message_bus-3.3.4/lib/message_bus/distributed_cache.rb:90:in `set'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/message_bus-3.3.4/lib/message_bus/distributed_cache.rb:135:in `[]='
/var/www/discourse/app/models/theme.rb:142:in `get_set_cache'
/var/www/discourse/app/models/theme.rb:158:in `components_for'
/var/www/discourse/app/models/theme.rb:185:in `block in transform_ids'
/var/www/discourse/app/models/theme.rb:142:in `get_set_cache'
/var/www/discourse/app/models/theme.rb:177:in `transform_ids'
/var/www/discourse/app/models/theme.rb:371:in `list_baked_fields'
/var/www/discourse/app/models/theme.rb:367:in `resolve_baked_field'
/var/www/discourse/lib/stylesheet/manager.rb:423:in `color_scheme_digest'
/var/www/discourse/lib/stylesheet/manager.rb:361:in `digest'
/var/www/discourse/lib/stylesheet/manager.rb:339:in `stylesheet_filename'
/var/www/discourse/lib/stylesheet/manager.rb:300:in `source_map_filename'
/var/www/discourse/lib/stylesheet/manager.rb:251:in `compile'
/var/www/discourse/lib/stylesheet/manager.rb:169:in `block (2 levels) in precompile_css'
/var/www/discourse/lib/stylesheet/manager.rb:162:in `each'
/var/www/discourse/lib/stylesheet/manager.rb:162:in `block in precompile_css'
/var/www/discourse/lib/stylesheet/manager.rb:161:in `each'
/var/www/discourse/lib/stylesheet/manager.rb:161:in `precompile_css'
/var/www/discourse/lib/tasks/assets.rake:54:in `block (2 levels) in <main>'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rails_multisite-2.5.0/lib/rails_multisite/connection_management.rb:76:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rails_multisite-2.5.0/lib/rails_multisite/connection_management.rb:86:in `each_connection'
/var/www/discourse/lib/tasks/assets.rake:47:in `block in <main>'
/var/www/discourse/lib/tasks/assets.rake:331:in `block in <main>'
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rake-13.0.1/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:23:in `load'
/usr/local/bin/bundle:23:in `<main>'
Tarefas: TOP => assets:precompile:css
(Veja o rastreamento completo executando a tarefa com --trace)
I, [2020-12-15T15:06:53.012968 #1] INFO -- : Baixando MaxMindDB...
Comprimindo Javascript e Gerando Mapas de Origem
I, [2020-12-15T15:06:53.013385 #1] INFO -- : Encerrando processos assíncronos
I, [2020-12-15T15:06:53.013424 #1] INFO -- : Enviando TERM para exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 35
35:signal-handler (1608044813) Recebeu SIGTERM agendando desligamento...
35:M 15 Dec 2020 15:06:53.054 # Solicitação de desligamento pelo usuário...
35:M 15 Dec 2020 15:06:53.054 * Salvando o snapshot RDB final antes de sair.
35:M 15 Dec 2020 15:06:53.054 # Falha ao abrir o arquivo RDB dump.rdb (no diretório raiz do servidor /pups) para salvamento: Permissão negada
35:M 15 Dec 2020 15:06:53.054 # Erro ao tentar salvar o banco de dados, não é possível sair.
35:M 15 Dec 2020 15:06:53.054 # SIGTERM recebido, mas erros ao tentar desligar o servidor; verifique os logs para mais informações
35:M 15 Dec 2020 15:06:57.060 * 10 alterações em 300 segundos. Salvando...
35:M 15 Dec 2020 15:06:57.060 * Salvamento em segundo plano iniciado pelo pid 1078
1078:C 15 Dec 2020 15:06:57.061 # Falha ao abrir o arquivo RDB dump.rdb (no diretório raiz do servidor /pups) para salvamento: Permissão negada
35:M 15 Dec 2020 15:06:57.161 # Erro no salvamento em segundo plano
I, [2020-12-15T15:07:03.014092 #1] INFO -- : exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid:35 não terminou limpa, forçando o término!
FALHA
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake themes:update assets:precompile' falhou com retorno #<Process::Status: pid 372 exit 1>
Local da falha: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec falhou com os parâmetros {"cd"=>"$home", "hook"=>"assets_precompile", "cmd"=>["su discourse -c 'bundle exec rake themes:update assets:precompile'"]}
be9c92f00a4814e5e9ebcdb06f25232b03f7522390b97c157085c2f7ef7f3387
** FALHA NO BOOTSTRAP ** Por favor, role para cima e procure mensagens de erro anteriores; pode haver mais de uma.
Em resumo, estou vendo este erro:
68:C 15 Dec 2020 15:06:39.031 # Falha ao abrir o arquivo RDB dump.rdb (no diretório raiz do servidor /pups) para salvamento: Permissão negada
35:M 15 Dec 2020 15:06:39.131 # Erro no salvamento em segundo plano
35:M 15 Dec 2020 15:06:51.051 * Salvamento em segundo plano iniciado pelo pid 1074
1074:C 15 Dec 2020 15:06:51.051 # Falha ao abrir o arquivo RDB dump.rdb (no diretório raiz do servidor /pups) para salvamento: Permissão negada
35:M 15 Dec 2020 15:06:51.151 # Erro no salvamento em segundo plano
rake aborted!
Redis::CommandError: ERR Erro ao executar script (chamada para f_45fe64238f6598e6c505af0aad74b4e178e891f4): @user_script:14: @user_script: 14: -MISCONF O Redis está configurado para salvar snapshots RDB, mas atualmente não consegue persistir no disco. Comandos que podem modificar o conjunto de dados estão desabilitados, porque esta instância está configurada para relatar erros durante as gravações se a criação de snapshots RDB falhar (opção stop-writes-on-bgsave-error). Verifique os logs do Redis para detalhes sobre o erro do RDB.
Meu arquivo app.yaml está assim:
templates:
- "templates/web.template.yml"
- "templates/web.ratelimited.template.yml"
- "templates/redis.template.yml"
env:
LANG: en_US.UTF-8
UNICORN_WORKERS: 8
DISCOURSE_DB_USERNAME: discourse
DISCOURSE_DB_PASSWORD: "xxxxx"
DISCOURSE_DB_HOST: "xxxxx"
DISCOURSE_REDIS_HOST: 127.0.0.1
DISCOURSE_REDIS_PORT: "6379"
DISCOURSE_DB_NAME: discourse_prod_2
DISCOURSE_DEVELOPER_EMAILS: 'xxxxxxx'
DISCOURSE_HOSTNAME: 'localhost'
DISCOURSE_DB_PORT: "5301"
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- mkdir -p plugins
- 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-voting.git
- git clone https://github.com/discourse/discourse-slack-official.git
- git clone https://github.com/discourse/discourse-assign.git
run:
- exec:
cd: /var/www/discourse
cmd:
- sed -i 's/GlobalSetting.serve_static_assets/true/' config/environments/production.rb
Ocultei a senha, o hostname e o e-mail por motivos de segurança. Para o Redis, estou executando um container Docker separado. Consegui conectar a ele em localhost e na porta informada.
Por favor, me avise se estou esquecendo algo.