Tenho uma ação do GitHub que compila imagens e ela falha ao tentar fazer um apt-get update. Ainda estou investigando o que está acontecendo, mas em uma instalação que fiz há 2 horas, recebo este erro se fizer um apt-get update dentro do contêiner.
root@monstera-web-only:/# apt-get update
Get:1 http://deb.debian.org/debian bullseye InRelease [116 kB]
Get:2 https://dl.yarnpkg.com/debian stable InRelease [17.1 kB]
Get:3 http://deb.debian.org/debian-security bullseye-security InRelease [48.4 kB]
Get:4 http://deb.debian.org/debian bullseye-updates InRelease [44.1 kB]
Get:5 http://deb.debian.org/debian bullseye-backports InRelease [49.0 kB]
Get:6 http://apt.postgresql.org/pub/repos/apt bullseye-pgdg InRelease [91.7 kB]
Get:7 http://deb.debian.org/debian bullseye/main amd64 Packages [8,183 kB]
Err:2 https://dl.yarnpkg.com/debian stable InRelease
As seguintes assinaturas são inválidas: EXPKEYSIG 23E7166788B63E1E Yarn Packaging <yarn@dan.cx>
Get:8 http://deb.debian.org/debian-security bullseye-security/main amd64 Packages [216 kB]
Get:9 http://deb.debian.org/debian bullseye-updates/main amd64 Packages [14.6 kB]
Get:10 http://deb.debian.org/debian bullseye-backports/main amd64 Packages [384 kB]
Get:11 https://deb.nodesource.com/node_18.x bullseye InRelease [4,586 B]
Get:12 http://apt.postgresql.org/pub/repos/apt bullseye-pgdg/main amd64 Packages [268 kB]
Get:13 https://deb.nodesource.com/node_18.x bullseye/main amd64 Packages [774 B]
Reading package lists... Done
W: GPG error: https://dl.yarnpkg.com/debian stable InRelease: As seguintes assinaturas são inválidas: EXPKEYSIG 23E7166788B63E1E Yarn Packaging <yarn@dan.cx>
E: O repositório 'https://dl.yarnpkg.com/debian stable InRelease' não é assinado.
N: Atualizar a partir de um repositório desses não pode ser feito com segurança e, portanto, é desativado por padrão.
N: Veja a página man apt-secure(8) para detalhes sobre criação de repositório e configuração do usuário.
Ainda estou verificando meu CI para ver se tenho algo estúpido lá (o que é totalmente possível). Não está claro para mim o que está fazendo um apt-get update.
EDIT: Meu CI tem um template que instala vim. Ele faz um apt-get update. Nada em uma instalação normal faz um apt-get update que eu possa ver, então isso explica por que seu CI não está falhando.
Muitos dos templates de importação e os templates de upgrade do postgres (listados abaixo) fazem um apt-get update, então isso será um problema em algum momento.
Sim, essa seria minha próxima pergunta, pois executar uma atualização como essa não é o padrão e introduzirá uma variação difícil de rastrear, porque a maioria dos sites usa um sistema operacional estático e depende de uma nova imagem para atualizar coisas no nível do sistema operacional.
Se o repositório apt do yarn quebrar, presumo que também quebrará nosso CI.
Posso verificar isso na próxima semana. Talvez precisemos lançar uma nova imagem base para isso.
Checking your domain name . . .
Connection to xxx succeeded.
You should probably remove any non-standard plugins and rebuild.
Attempting to restart existing container. . .
x86_64 arch detected.
WARNING: containers/app.yml file is world-readable. You can secure this file by running: chmod o-rwx containers/app.yml
starting up existing container
+ /usr/bin/docker start app
Error response from daemon: driver failed programming external connectivity on endpoint app (c143632e34e1ae05e48759bdf163b4bbe5dc9aaf895f1fb7521f7e3784c26577): Error starting userland proxy: listen tcp 0.0.0.0:443: bind: address already in use
Error: failed to start containers: app
Failed to restart the container.
Há algo que eu possa fazer além de uma nova instalação?
@fidelio Olá, você precisa se conectar a outro banco de dados como o SQLite de dentro da sua instância do Discourse, ou seja, você está realizando uma importação de dados de outro fórum? Caso contrário, você pode desativar essa funcionalidade e o contêiner normal do aplicativo Discourse será reconstruído sem problemas.
Minha suposição é que ele não atualizou para o PG 13 e está usando o modelo pg12? Esse é um problema que deve ser resolvido de qualquer maneira. E é uma boa aposta que o sistema operacional precise ser atualizado e a mudança para uma nova VM é o que fazer.
@pfaffman Ah, pareceu estranho que o log de erro dele estivesse reclamando sobre tentar instalar libsqlite3-dev, ou o Discourse normalmente usa isso para alguma coisa?
@fidelio Você poderia colar aqui a seção templates: do seu arquivo /var/discourse/containers/app.yml? Certifique-se de não incluir nenhuma senha que esteja mais abaixo no arquivo. Você também pode executar /var/discourse/discourse-doctor e ele o ajudará a gerar um relatório publicamente compartilhável de como seu sistema está configurado.
@rahim123 Com certeza, aqui está o relatório do discourse-doctor:
Found containers/app.yml
==================== YML SETTINGS ====================
DISCOURSE_HOSTNAME=community.bfs-filmeditor.de
SMTP_ADDRESS=in-v3.mailjet.com
DEVELOPER_EMAILS=xxx
SMTP_PASSWORD=xxx
SMTP_PORT=25
SMTP_USER_NAME=xxx
LETSENCRYPT_ACCOUNT_EMAIL=xxx
==================== DOCKER INFO ====================
DOCKER VERSION: Docker version 18.06.1-ce, build e68fc7a
DOCKER PROCESSES (docker ps -a)
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ce58652241d9 local_discourse/app “/sbin/boot” 2 weeks ago Up 14 minutes 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp app
8e6b8ec432b4 local_discourse/mail-receiver “/sbin/boot” 11 months ago Up 11 months 0.0.0.0:25->25/tcp mail-receiver
ce58652241d9 local_discourse/app “/sbin/boot” 2 weeks ago Up 14 minutes 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp app
Discourse container app is running
==================== PLUGINS ====================
- git clone https://github.com/discourse/docker_manager.git
- git clone https://github.com/davidtaylorhq/discourse-whos-online.git
- git clone https://github.com/gdpelican/babble.git
- git clone https://github.com/angusmcleod/discourse-quick-messages.git
- git clone https://github.com/angusmcleod/discourse-events.git
- git clone https://github.com/discourse/discourse-calendar.git
- git clone https://github.com/discourse/discourse-data-explorer.git
- git clone https://github.com/davidtaylorhq/discourse-telegram-notifications.git
WARNING:
You have what appear to be non-official plugins.
If you are having trouble, you should disable them and try rebuilding again.
See https://github.com/discourse/discourse/blob/main/lib/plugin/metadata.rb for the official list.
========================================
Discourse version at community.bfs-filmeditor.de: TYPO3 CMS
Discourse version at localhost: TYPO3 CMS
==================== MEMORY INFORMATION ====================
RAM (MB): 4039
total used free shared buff/cache available
Mem: 3944 1272 1236 1067 1436 1364
Swap: 0 0 0
==================== DISK SPACE CHECK ====================
---------- OS Disk Space ----------
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 78G 60G 18G 78% /
---------- Container Disk Space ----------
Filesystem Size Used Avail Use% Mounted on
overlay 78G 60G 18G 78% /
/dev/vda1 78G 60G 18G 78% /shared
/dev/vda1 78G 60G 18G 78% /var/log
==================== DISK INFORMATION ====================
Disk /dev/vda: 80 GiB, 85899345920 bytes, 167772160 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: C1F9A1FE-534C-4DAC-9299-5CC180C29DCE
Device Start End Sectors Size Type
/dev/vda1 227328 167772126 167544799 79.9G Linux filesystem
/dev/vda14 2048 10239 8192 4M BIOS boot
/dev/vda15 10240 227327 217088 106M Microsoft basic data
Partition table entries are not in disk order.
==================== END DISK INFORMATION ====================
Eu desativei as mensagens rápidas, mas ainda não as removi.
GNU nano 2.9.3 containers/app.yml
## este é o modelo de contêiner Docker 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 Let's Encrypt (https)
- "templates/web.ssl.template.yml"
- "templates/web.letsencrypt.ssl.template.yml"
- "templates/import/mbox.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
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: "1024MB"
## pode melhorar o desempenho da classificação, mas adiciona uso de memória por conexão
#db_work_mem: "40MB"
## Qual revisão do Git este contêiner deve usar? (padrão: tests-passed)
#version: tests-passed
env:
LANG: en_US.UTF-8
# DISCOURSE_DEFAULT_LOCALE: en
## Quantas requisições web simultâneas são suportadas? Depende da memória e dos núcleos da CPU.
## será definido automaticamente pelo bootstrap com base nas CPUs detectadas, ou você pode substituir
UNICORN_WORKERS: 4