Sto cercando di aggiornare discourse ma fallisce con questo 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: Il pacchetto 'php7.4' non ha un candidato all'installazione
E: Impossibile trovare il pacchetto php7.4-curl
E: Impossibile trovare alcun pacchetto tramite glob 'php7.4-curl'
E: Impossibile trovare alcun pacchetto tramite regex 'php7.4-curl'
E: Il pacchetto 'php7.4-fpm' non ha un candidato all'installazione
E: Impossibile trovare il pacchetto php7.4-mbstring
E: Impossibile trovare alcun pacchetto tramite glob 'php7.4-mbstring'
E: Impossibile trovare alcun pacchetto tramite regex 'php7.4-mbstring'
I, [2024-10-01T23:08:47.335246 #1] INFO -- : Lettura degli elenchi dei pacchetti...
Costruzione dell'albero delle dipendenze...
Lettura delle informazioni sullo stato...
Il pacchetto php7.4 non è disponibile, ma è referenziato da un altro pacchetto.
Ciò potrebbe significare che il pacchetto manca, è stato deprecato, o
è disponibile solo da un'altra fonte
Il pacchetto php7.4-fpm non è disponibile, ma è referenziato da un altro pacchetto.
Ciò potrebbe significare che il pacchetto manca, è stato deprecato, o
è disponibile solo da un'altra fonte
FALLITO
--------------------
Pups::ExecError: apt-get install -y php7.4 php7.4-curl php7.4-fpm php7.4-mbstring è fallito con ritorno #<Process::Status: pid 2912 exit 100>
Posizione del fallimento: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in spawn'
exec fallito con i parametri "apt-get install -y php7.4 php7.4-curl php7.4-fpm php7.4-mbstring"
bootstrap fallito con codice di uscita 100
** IMPOSSIBILE EFFETTUARE IL BOOTSTRAP ** si prega di scorrere verso l'alto e cercare messaggi di errore precedenti, potrebbero essercene più di uno.
./discourse-doctor potrebbe aiutare a diagnosticare il problema.
d87ce61f0dbfc527ede7d3c09e222eff42934608174066401b2317d05193786b
root@htd-9-feb-22-live:/var/discourse#
Discourse è installato usando NGINX interno.
Quindi sto cercando di aggiornare discourse che ha 2 anni. da 3.2 a 3.4 credo.
Quindi ho eseguito i seguenti comandi
1465 cd /var/discourse
1466 git pull
1467 ./launcher bootstrap web_only && ./launcher destroy web_only && ./launcher start web_only
Il file YAML è simile a questo, ho rimosso le informazioni personali:
# IMPORTANTE: IMPOSTA UNA PASSWORD SEGRETA in Postgres per l'utente Discourse
# TODO: cambia SOME_SECRET in questo template
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"
## Decommenta queste due righe se desideri aggiungere Lets Encrypt (https)
- "templates/web.ssl.template.yml"
- "templates/web.letsencrypt.ssl.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
# Usa la chiave 'links' per collegare i container, ovvero usa il flag Docker --link.
links:
- link:
name: data
alias: data
# argomenti aggiuntivi per Docker?
# docker_args:
params:
## Quale revisione Git dovrebbe usare questo container? (default: 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
# Limiti globali di richieste che disabilitano i limiti di richieste per consentire al SEO di correggere il penalizzante crawling per eliminare l'errore 429 troppo molte richieste
DISCOURSE_MAX_REQS_PER_IP_MODE: none
## Quante richieste web concorrenti sono supportate? Dipende da memoria e core CPU.
## verrà impostato automaticamente da bootstrap in base alle CPU rilevate, o puoi sovrascriverlo
UNICORN_WORKERS: 32
## TODO: Il nome del dominio a cui risponderà questa istanza di Discourse
#DISCOURSE_HOSTNAME: hidden
DISCOURSE_HOSTNAME:hidden
## Decommenta se vuoi che il container venga avviato con lo stesso
## hostname (-h opzione) specificato sopra (default "$hostname-$config")
#DOCKER_USE_HOSTNAME: true
## TODO: Elenco di email separate da virgole che diventeranno amministratori e sviluppatori
## alla prima registrazione, ad esempio 'user1@example.com,user2@example.com'
DISCOURSE_DEVELOPER_EMAILS: "hidden"
## TODO: Il server di posta SMTP utilizzato per convalidare i nuovi account e inviare notifiche
# INDIRIZZO SMTP, nome utente e password sono richiesti
# ATTENZIONE il carattere '#' nella password SMTP può causare problemi!
DISCOURSE_SMTP_ADDRESS: hidden
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: hidden
DISCOURSE_SMTP_PASSWORD: "hidden"
#DISCOURSE_SMTP_ENABLE_START_TLS: true # (opzionale, default true)
DISCOURSE_SMTP_DOMAIN: hidden
DISCOURSE_NOTIFICATION_EMAIL: hidden
## Se hai aggiunto il template Lets Encrypt, decommenta sotto per ottenere un certificato SSL gratuito
LETSENCRYPT_ACCOUNT_EMAIL: hidden
## TODO: configurare la connettività ai database
#ljlsdfj;sdfj;lkdsfj
DISCOURSE_DB_SOCKET: ""
#DISCOURSE_DB_USERNAME: hidden
DISCOURSE_DB_PASSWORD: hidden
DISCOURSE_DB_HOST: data
DISCOURSE_REDIS_HOST: data
## L'indirizzo CDN http o https per questa istanza di Discourse (configurato per il pull)
## vedi https://meta.discourse.org/t/14857 per i dettagli
## La chiave API di Maxmind geolocation per la ricerca dell'indirizzo IP
## vedi https://meta.discourse.org/t/-/137387/23 per i dettagli
volumes:
- volume:
host: /var/discourse/shared/web-only
guest: /shared
- volume:
host: /var/discourse/shared/web-only/log/var-log
guest: /var/log
## I plugin vanno qui
## vedi https://meta.discourse.org/t/19157 per i dettagli
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 personalizzato per il supporto matematico JAX
#- git clone https://github.com/discourse/discourse-solved.git # plugin personalizzato per domande e risposte e scelta della migliore risposta
#- git clone https://github.com/discourse/discourse-voting.git # plugin personalizzato per votare solo sugli argomenti
#- git clone https://github.com/discourse/discourse-yearly-review.git # plugin personalizzato per pubblicare automaticamente un argomento annuale di attività del forum
#- git clone https://github.com/discourse/discourse-user-notes.git # plugin personalizzato per consentire allo staff di aggiungere note su un utente
#- git clone https://github.com/paviliondev/discourse-question-answer.git # plugin personalizzato non ufficiale per votare sui post in stile SO
#- git clone https://github.com/discourse/discourse-adplugin.git # plugin ufficiale personalizzato per annunci
#- git clone https://github.com/discourse/discourse-whos-online.git # plugin personalizzato per vedere chi è online
#- git clone https://github.com/paviliondev/discourse-topic-previews.git # plugin personalizzato per mostrare le anteprime degli argomenti in modo gradevole
#- git clone https://github.com/paviliondev/discourse-ratings.git # plugin personalizzato per consentire la valutazione degli argomenti da parte degli utenti
#- git clone https://github.com/discourse/discourse-cakeday.git # plugin ufficiale per celebrazioni di compleanni e date di iscrizione
#- git clone https://github.com/discourse/discourse-saved-searches.git # plugin ufficiale per notifiche di ricerche salvate
#- git clone https://github.com/paviliondev/discourse-follow.git # plugin personalizzato per consentire agli utenti di seguirsi a vicenda
- git clone https://github.com/FaizanZahid/discourse-amp-htd-plugin.git # build personalizzato supporto AMP per HTD
#- git clone https://github.com/discourse/discourse-assign.git # personalizzato per assegnare argomenti allo staff
#- git clone https://github.com/paviliondev/x-discourse-tlp-thumbnail.git # plugin personalizzato per mostrare miniature da immagini CDN
#- git clone https://github.com/discourse/discourse-prometheus.git # plugin personalizzato per il monitoraggio della bassa velocità
#- git clone https://github.com/discourse/discourse-push-notifications.git # plugin per notifiche push
## Ricorda, questa è sintassi YAML - puoi avere solo un blocco con un nome worker_conn era 3000
run:
- exec: echo "Inizio dei comandi personalizzati"
- 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 vuoi configurare il login con password per root, decommenta e cambia:
## Usa solo una delle seguenti righe:
#- exec: /usr/sbin/usermod -p 'PASSWORD_HASH' root
#- exec: /usr/sbin/usermod -p "$(mkpasswd -m sha-256 'RAW_PASSWORD')" root
## Se vuoi autorizzare utenti aggiuntivi, decommenta e cambia:
#- exec: ssh-import-id username
#- exec: ssh-import-id anotherusername
- exec: echo "Fine dei comandi personalizzati"
- exec: awk -F\# '{print $1;}' ~/.ssh/authorized_keys | awk 'BEGIN { print "Chiavi SSH autorizzate per questo container:"; } NF>=2 {print $NF;}'
Qualcuno può aiutarmi a risolverlo dato che il mio sito è ora offline?
Stavo anche pensando di fare
./launcher rebuild data
Non c’è nginx e PHP installati sul mio server, questo significa che sta usando nginx interno e PHP interno. Quindi cosa devo fare per risolverlo e aggiornare il mio discourse e il container dei dati?