Estou tentando atualizar o discourse, mas ele falha neste comando
I, [2024-10-01T23:08:46.462452 #1] INFO -- : > apt-get install -y php7.4 php7.4-curl php7.4-fpm php7.4-mbstring
E: Pacote 'php7.4' não tem candidato de instalação
E: Não foi possível localizar o pacote php7.4-curl
E: Não foi possível encontrar nenhum pacote por glob 'php7.4-curl'
E: Não foi possível encontrar nenhum pacote por regex 'php7.4-curl'
E: Pacote 'php7.4-fpm' não tem candidato de instalação
E: Não foi possível localizar o pacote php7.4-mbstring
E: Não foi possível encontrar nenhum pacote por glob 'php7.4-mbstring'
E: Não foi possível encontrar nenhum pacote por regex 'php7.4-mbstring'
I, [2024-10-01T23:08:47.335246 #1] INFO -- : Lendo listas de pacotes...
Construindo árvore de dependências...
Lendo informações de estado...
O pacote php7.4 não está disponível, mas é referenciado por outro pacote.
Isso pode significar que o pacote está faltando, foi obsoleto, ou
está disponível apenas de outra fonte
O pacote php7.4-fpm não está disponível, mas é referenciado por outro pacote.
Isso pode significar que o pacote está faltando, foi obsoleto, ou
está disponível apenas de outra fonte
FAILED
--------------------
Pups::ExecError: apt-get install -y php7.4 php7.4-curl php7.4-fpm php7.4-mbstring falhou com retorno #<Process::Status: pid 2912 exit 100>
Localização da falha: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in spawn'
exec falhou com os parâmetros "apt-get install -y php7.4 php7.4-curl php7.4-fpm php7.4-mbstring"
bootstrap falhou com código de saída 100
** 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.
d87ce61f0dbfc527ede7d3c09e222eff42934608174066401b2317d05193786b
root@htd-9-feb-22-live:/var/discourse#
O Discourse é instalado usando NGINX interno.
Então, estou tentando atualizar o discourse, que tem 2 anos, de 3.2 para 3.4, eu acho.
Então, executei os comandos abaixo:
1465 cd /var/discourse
1466 git pull
1467 ./launcher bootstrap web_only && ./launcher destroy web_only && ./launcher start web_only
O arquivo YAML se parece com o abaixo, removi informações pessoais:
# IMPORTANTE: DEFINA UMA SENHA SECRETA no Postgres para o Usuário Discourse
# TODO: mude ALGUMA_SENHA secreta neste modelo
templates:
- "templates/web.template.yml"
#- "templates/web.ratelimited.template.yml"
- "shared/web-only/amp/web.amp.template.yml"
#- "shared/web_only/amp/templates/web.amp.template.yml"
## Descomente estas duas linhas se desejar adicionar Let's Encrypt (https)
- "templates/web.ssl.template.yml"
- "templates/web.letsencrypt.ssl.template.yml"
## quais portas TCP/IP este contêiner 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
# Use a chave 'links' para vincular contêineres, também conhecido como usar o sinalizador --link do Docker.
links:
- link:
name: data
alias: data
# algum argumento extra para o Docker?
# docker_args:
params:
## Qual revisão Git este contêiner deve usar? (padrão: tests-passed)
#version: tests-passed
env:
LC_ALL: en_US.UTF-8
LANG: en_US.UTF-8
LANGUAGE: en_US.UTF-8
#EMBER_CLI_PROD_ASSETS: 1
# DISCOURSE_DEFAULT_LOCALE: en
# Limites globais de taxa desativando limites de taxa para permitir que o SEO corrija a penalidade de rastreamento para se livrar do erro 429 muito muitas solicitações
DISCOURSE_MAX_REQS_PER_IP_MODE: none
## Quantas solicitações web concorrentes são suportadas? Depende de memória e núcleos de CPU.
## será definido automaticamente pelo bootstrap com base nas CPUs detectadas, ou você pode substituir
UNICORN_WORKERS: 32
## TODO: O nome de domínio que esta instância do Discourse responderá
#DISCOURSE_HOSTNAME: hidden
DISCOURSE_HOSTNAME:hidden
## Descomente se você quiser que o contêiner seja iniciado com o mesmo
## nome de host (-h option) especificado acima (padrão " $hostname-$config")
#DOCKER_USE_HOSTNAME: true
## TODO: Lista de e-mails separados por vírgula que serão feitos administradores e desenvolvedores
## na inscrição inicial, exemplo 'user1@example.com,user2@example.com'
DISCOURSE_DEVELOPER_EMAILS: "hidden"
## TODO: O servidor de e-mail SMTP usado para validar novas contas e enviar notificações
# ENDEREÇO SMTP, nome de usuário e senha são necessários
# AVISO o caractere '#' na senha SMTP pode causar problemas!
DISCOURSE_SMTP_ADDRESS: hidden
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: hidden
DISCOURSE_SMTP_PASSWORD: "hidden"
#DISCOURSE_SMTP_ENABLE_START_TLS: true # (opcional, padrão true)
DISCOURSE_SMTP_DOMAIN: hidden
DISCOURSE_NOTIFICATION_EMAIL: hidden
## Se você adicionou o modelo Let's Encrypt, descomente abaixo para obter um certificado SSL gratuito
LETSENCRYPT_ACCOUNT_EMAIL: hidden
## TODO: configurar conectividade com os bancos de dados
#ljlsdfj;sdfj;lkdsfj
DISCOURSE_DB_SOCKET: ""
#DISCOURSE_DB_USERNAME: hidden
DISCOURSE_DB_PASSWORD: hidden
DISCOURSE_DB_HOST: data
DISCOURSE_REDIS_HOST: data
## O endereço CDN http ou https para esta instância do Discourse (configurado para puxar)
## veja https://meta.discourse.org/t/14857 para detalhes
## A chave de API do Maxmind para geolocalização para consulta de endereço IP
## veja https://meta.discourse.org/t/-/137387/23 para detalhes
volumes:
- volume:
host: /var/discourse/shared/web-only
guest: /shared
- volume:
host: /var/discourse/shared/web-only/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-sitemap.git
#- git clone https://github.com/discourse/discourse-math.git # plugin personalizado para suporte a JAX de matemática
#- git clone https://github.com/discourse/discourse-solved.git # plugin personalizado para perguntas e respostas e escolha da melhor resposta
#- git clone https://github.com/discourse/discourse-voting.git # plugin personalizado para votação apenas em tópicos
#- git clone https://github.com/discourse/discourse-yearly-review.git # plugin personalizado para postar automaticamente um tópico anual de atividade do fórum
#- git clone https://github.com/discourse/discourse-user-notes.git # plugin personalizado para permitir que a equipe adicione notas sobre um usuário
#- git clone https://github.com/paviliondev/discourse-question-answer.git # plugin não oficial personalizado para votação de posts no estilo SO QnA
#- git clone https://github.com/discourse/discourse-adplugin.git # plugin oficial personalizado para anúncios
#- git clone https://github.com/discourse/discourse-whos-online.git # plugin personalizado para ver quem está online
#- git clone https://github.com/paviliondev/discourse-topic-previews.git # plugin personalizado para mostrar prévias de tópicos de forma agradável
#- git clone https://github.com/paviliondev/discourse-ratings.git # plugin personalizado para permitir avaliação de tópicos pelos usuários
#- git clone https://github.com/discourse/discourse-cakeday.git # plugin oficial para celebrações de aniversário e data de entrada
#- git clone https://github.com/discourse/discourse-saved-searches.git # plugin oficial para notificações de pesquisa salva
#- git clone https://github.com/paviliondev/discourse-follow.git # plugin personalizado para permitir que os usuários se sigam
- git clone https://github.com/FaizanZahid/discourse-amp-htd-plugin.git # build personalizado de suporte AMP para HTD
#- git clone https://github.com/discourse/discourse-assign.git # personalizado para atribuir tópicos à equipe
#- git clone https://github.com/paviliondev/x-discourse-tlp-thumbnail.git # plugin personalizado para mostrar miniaturas de imagens CDN
#- git clone https://github.com/discourse/discourse-prometheus.git # plugin personalizado para monitoramento de velocidade lenta
#- git clone https://github.com/discourse/discourse-push-notifications.git # plugin para notificações push
## Lembre-se, esta é a sintaxe YAML - você só pode ter um bloco com o nome worker_conn foi 3000
run:
- exec: echo "Início dos comandos personalizados"
- replace:
filename: "/etc/nginx/nginx.conf"
from: "worker_connections 768"
to: "worker_connections 4000"
- replace:
filename: "/etc/nginx/nginx.conf"
from: "worker_processes auto"
to: "worker_processes 16"
## Se você quiser configurar o login de senha para root, descomente e altere:
## Use apenas uma das seguintes linhas:
#- exec: /usr/sbin/usermod -p 'HASH_DA_SENHA' root
#- exec: /usr/sbin/usermod -p "$(mkpasswd -m sha-256 'SENHA_BRUTA')" root
## Se você quiser autorizar usuários adicionais, descomente e altere:
#- exec: ssh-import-id username
#- exec: ssh-import-id anotherusername
- exec: echo "Fim dos comandos personalizados"
- exec: awk -F\\# '{print $1;}' ~/.ssh/authorized_keys | awk 'BEGIN { print "Chaves SSH autorizadas para este contêiner:"; } NF>=2 {print $NF;}'
Alguém pode me ajudar a consertar, pois meu site está fora do ar agora?
Eu também estava pensando em fazer
./launcher rebuild data
Não há nginx nem PHP instalados no meu servidor, isso significa que ele está usando nginx interno e PHP interno. Então, o que devo fazer para consertar e atualizar meu discourse e contêiner de dados?