Ho un’azione di GitHub che crea immagini e fallisce quando tenta un apt-get update. Sto ancora cercando di capire cosa stia succedendo, ma in un’installazione che ho fatto 2 ore fa, ottengo questo errore se eseguo un apt-get update all’interno del container.
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
Le seguenti firme non sono valide: 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: Le seguenti firme non sono valide: EXPKEYSIG 23E7166788B63E1E Yarn Packaging <yarn@dan.cx>
E: The repository 'https://dl.yarnpkg.com/debian stable InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
Sto ancora controllando il mio CI per vedere se ho qualcosa di stupido lì (il che è assolutamente possibile). Non mi è chiaro cosa stia facendo un apt-get update.
MODIFICA: Il mio CI ha un template che installa vim. Esegue un apt-get update. Niente in un’installazione normale esegue un apt-get update che io possa vedere, quindi questo spiega perché il tuo CI non sta fallendo.
Molti dei template di importazione e i template di aggiornamento di postgres (elencati di seguito) eseguono un apt-get update, quindi questo sarà un problema a un certo punto.
Sì, questa sarebbe la mia prossima domanda, poiché eseguire un aggiornamento del genere non è predefinito e introdurrà variazioni difficili da rintracciare, perché la maggior parte dei siti utilizza un sistema operativo statico e si basa su una nuova immagine per aggiornare le cose a livello di sistema operativo.
Se il repository apt di yarn dovesse rompersi, presumerei che si romperà anche il nostro CI.
Posso verificarlo la prossima settimana. Forse abbiamo bisogno di rilasciare una nuova immagine di base per questo.
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.
C’è qualcosa che potrei fare oltre a una nuova installazione?
@fidelio Ciao, devi connetterti a un altro database come SQLite dalla tua istanza Discourse, ovvero stai eseguendo un’importazione di dati da un altro forum? Altrimenti puoi disabilitare quella funzionalità e il normale container dell’app Discourse si ricostruirà correttamente.
La mia ipotesi è che non sia stato aggiornato a PG 13 e stia usando il modello pg12? Questo è un problema che dovrebbe comunque essere risolto. Ed è una buona scommessa che il sistema operativo debba essere aggiornato e che la migrazione a una nuova VM sia la soluzione.
@pfaffman Ah, mi sembrava strano che il suo file di log degli errori si lamentasse del tentativo di installare libsqlite3-dev, o Discourse lo usa normalmente per qualcosa?
@fidelio Potresti incollare qui la sezione templates: del tuo file /var/discourse/containers/app.yml? Assicurati di non includere password presenti più in basso nel file. Puoi anche eseguire /var/discourse/discourse-doctor e ti aiuterà a generare un report condivisibile pubblicamente su come è configurato il tuo sistema.
@rahim123 Certo, ecco il report di discourse-doctor:
Found containers/app.yml
==================== IMPOSTAZIONI YML ====================
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
==================== INFORMAZIONI DOCKER ====================
VERSIONE DOCKER: Docker version 18.06.1-ce, build e68fc7a
PROCESSI DOCKER (docker ps -a)
CONTAINER ID IMMAGINE COMANDO CREATO STATO PORTE NOMI
ce58652241d9 local_discourse/app “/sbin/boot” 2 settimane fa Attivo da 14 minuti 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp app
8e6b8ec432b4 local_discourse/mail-receiver “/sbin/boot” 11 mesi fa Attivo da 11 mesi 0.0.0.0:25->25/tcp mail-receiver
ce58652241d9 local_discourse/app “/sbin/boot” 2 settimane fa Attivo da 14 minuti 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp app
Il container Discourse app è in esecuzione
==================== PLUGIN ===================
- 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
ATTENZIONE:
Hai quelli che sembrano essere plugin non ufficiali.
Se stai riscontrando problemi, dovresti disabilitarli e riprovare la ricostruzione.
Vedi https://github.com/discourse/discourse/blob/main/lib/plugin/metadata.rb per l'elenco ufficiale.
========================================
Versione Discourse su community.bfs-filmeditor.de: TYPO3 CMS
Versione Discourse su localhost: TYPO3 CMS
==================== INFORMAZIONI MEMORIA ====================
RAM (MB): 4039
totale usato libero condiviso buff/cache disponibile
Mem: 3944 1272 1236 1067 1436 1364
Swap: 0 0 0
==================== CONTROLLO SPAZIO SU DISCO ====================
---------- Spazio su disco del sistema operativo ----------
Filesystem Dimensione Usato Disponibile Uso% Montato su
/dev/vda1 78G 60G 18G 78% /
---------- Spazio su disco del container ----------
Filesystem Dimensione Usato Disponibile Uso% Montato su
overlay 78G 60G 18G 78% /
/dev/vda1 78G 60G 18G 78% /shared
/dev/vda1 78G 60G 18G 78% /var/log
==================== INFORMAZIONI DISCO ====================
Disco /dev/vda: 80 GiB, 85899345920 byte, 167772160 settori
Unità: settori di 1 * 512 = 512 byte
Dimensione settore (logica/fisica): 512 byte / 512 byte
Dimensione I/O (minima/ottimale): 512 byte / 512 byte
Tipo etichetta disco: gpt
Identificativo disco: C1F9A1FE-534C-4DAC-9299-5CC180C29DCE
Device Start End Settori Dimensione Tipo
/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
Le voci della tabella delle partizioni non sono nell'ordine del disco.
==================== FINE INFORMAZIONI DISCO ====================
Ho disabilitato i messaggi rapidi ma non li ho ancora rimossi.
GNU nano 2.9.3 containers/app.yml
## questo è il template del container Docker di Discourse tutto in uno, standalone
##
## Dopo aver apportato modifiche a questo file, DEVI ricostruire
## /var/discourse/launcher rebuild app
##
## FAI *MOLTA* ATTENZIONE QUANDO MODIFICHI!
## I FILE YAML SONO ESTREMAMENTE SENSIBILI A ERRORI DI SPAZIATURA O ALLINEAMENTO!
## visita http://www.yamllint.com/ per convalidare questo file secondo necessità
templates:
- "templates/postgres.template.yml"
- "templates/redis.template.yml"
- "templates/web.template.yml"
- "templates/web.ratelimited.template.yml"
## Commenta queste due righe se desideri aggiungere Lets Encrypt (https)
- "templates/web.ssl.template.yml"
- "templates/web.letsencrypt.ssl.template.yml"
- "templates/import/mbox.template.yml"
## quali porte TCP/IP dovrebbe esporre questo container?
## Se vuoi che Discourse condivida una porta con un altro webserver come Apache o nginx,
## vedi https://meta.discourse.org/t/17247 per i dettagli
expose:
- "80:80" # http
- "443:443" # https
params:
db_default_text_search_config: "pg_catalog.english"
## Imposta db_shared_buffers al massimo del 25% della memoria totale.
## verrà impostato automaticamente da bootstrap in base alla RAM rilevata, oppure puoi sovrascriverlo
db_shared_buffers: "1024MB"
## può migliorare le prestazioni di ordinamento, ma aumenta l'utilizzo della memoria per connessione
#db_work_mem: "40MB"
## Quale revisione Git dovrebbe usare questo container? (default: tests-passed)
#version: tests-passed
env:
LANG: en_US.UTF-8
# DISCOURSE_DEFAULT_LOCALE: en
## Quante richieste web concorrenti sono supportate? Dipende dalla memoria e dai core della CPU.
## verrà impostato automaticamente da bootstrap in base alle CPU rilevate, oppure puoi sovrascriverlo
UNICORN_WORKERS: 4