J’ai les symptômes décrits sur Error Updating from 3.4.0.beta3-dev to 3.4.0.beta3
Seule l’erreur est différente.
Je ne peux pas citer votre image.
Mais il semble que vous devez supprimer votre ancien répertoire postgres_data_old. Si vous avez de la place et que vous êtes paranoïaque, vous pouvez le renommer.
Je n’arrive pas à comprendre comment copier la sortie de l’écran weblish.
C’est la partie pertinente de mon message.
Peut-être vérifier d’abord qu’il est ancien
ls -l /var/discourse/shared/standalone/
et assurez-vous que ce répertoire de sauvegarde n’est pas daté d’aujourd’hui.
Si vous avez beaucoup d’espace disque, vous pouvez faire quelque chose comme
cd /var/discourse
cd shared/standalone
mv postgres_data_old postgres_data_delete_me
et réessayez
Aucune chance.
Je pense que je suis en train de dupliquer Upgrade failed spectacularily
Pourriez-vous partager le contenu de votre fichier app.yml ? Masquez toute information sensible avant de publier.
from root@localhost: /var/discourse/containers
## ceci est le modèle de conteneur Docker Discourse tout-en-un et autonome
##
## Après avoir apporté des modifications à ce fichier, vous DEVEZ reconstruire
## /var/discourse/launcher rebuild app
##
## SOYEZ *TRÈS* PRUDENT LORS DE L'ÉDITION !
## LES FICHIERS YAML SONT EXTRÊMEMENT SENSIBLES AUX ERREURS D'ESPACEMENT OU D'ALIGNEMENT !
## visitez http://www.yamllint.com/ pour valider ce fichier si nécessaire
templates:
- "templates/postgres.template.yml"
- "templates/redis.template.yml"
- "templates/web.template.yml"
- "templates/web.ratelimited.template.yml"
## Décommentez ces deux lignes si vous souhaitez ajouter Lets Encrypt (https)
- "templates/web.ssl.template.yml"
- "templates/web.letsencrypt.ssl.template.yml"
## quels ports TCP/IP ce conteneur doit-il exposer ?
## Si vous voulez que Discourse partage un port avec un autre serveur web comme Apache ou nginx,
## voir https://meta.discourse.org/t/17247 pour plus de détails
expose:
- "80:80" # http
- "443:443" # https
params:
db_default_text_search_config: "pg_catalog.english"
## Définissez db_shared_buffers à un maximum de 25% de la mémoire totale.
## sera défini automatiquement par bootstrap en fonction de la RAM détectée, ou vous pouvez le remplacer
db_shared_buffers: "256MB"
## peut améliorer les performances de tri, mais augmente l'utilisation de la mémoire par connexion
#db_work_mem: "40MB"
## Quelle révision Git ce conteneur doit-il utiliser ? (défaut : tests-passed)
#version: tests-passed
env:
LANG: en_US.UTF-8
# DISCOURSE_DEFAULT_LOCALE: en
## Combien de requêtes web simultanées sont prises en charge ? Dépend de la mémoire et des cœurs CPU.
## sera défini automatiquement par bootstrap en fonction des CPU détectés, ou vous pouvez le remplacer
UNICORN_WORKERS: 4
## TODO : Le nom de domaine auquel cette instance Discourse répondra
DISCOURSE_HOSTNAME: <mydomain>
## Décommentez si vous voulez que le conteneur soit démarré avec le même
## nom d'hôte (-h option) que celui spécifié ci-dessus (par défaut "$hostname-$config")
#DOCKER_USE_HOSTNAME: true
## TODO : Liste des e-mails séparés par des virgules qui deviendront administrateurs et développeurs
## lors de la première inscription, exemple 'user1@example.com,user2@example.com'
DISCOURSE_DEVELOPER_EMAILS: <myemail>
## TODO : Le serveur de messagerie SMTP utilisé pour valider les nouveaux comptes et envoyer des notifications
DISCOURSE_SMTP_ADDRESS: <mymailorg>
DISCOURSE_SMTP_PORT: <myport>
DISCOURSE_SMTP_USER_NAME: <mysmpremail>
DISCOURSE_SMTP_PASSWORD: <mypassword>
#DISCOURSE_SMTP_ENABLE_START_TLS: true # (optionnel, par défaut true)
## Si vous avez ajouté le modèle Lets Encrypt, décommentez ci-dessous pour obtenir un certificat SSL gratuit
LETSENCRYPT_ACCOUNT_EMAIL: <myemail>
## L'adresse CDN pour cette instance Discourse (configurée pour tirer)
## voir https://meta.discourse.org/t/14857 pour plus de détails
#DISCOURSE_CDN_URL: //discourse-cdn.example.com
## Le conteneur Docker est sans état ; toutes les données sont stockées dans /shared
volumes:
- volume:
host: /var/discourse/shared/standalone
guest: /shared
- volume:
host: /var/discourse/shared/standalone/log/var-log
guest: /var/log
## Les plugins vont ici
## voir https://meta.discourse.org/t/19157 pour plus de détails
hooks:
after_code:
- exec:
cd: $home/plugins
cmd:
- 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-math.git
## Toutes les commandes personnalisées à exécuter après la construction
run:
- exec: echo "Début des commandes personnalisées"
## Si vous souhaitez définir l'adresse e-mail 'De' pour votre première inscription, décommentez et modifiez :
## Après avoir reçu le premier e-mail d'inscription, re-commentez la ligne. Elle ne doit s'exécuter qu'une seule fois.
#- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
- exec: echo "Fin des commandes personnalisées"
Pourriez-vous confirmer votre version de Docker ? Si vous utilisez une version antérieure à notre version recommandée 24.0.7, je vous suggère de mettre à jour Docker puis de réessayer.
Des problèmes similaires ont été signalés dans un autre sujet et il semble que la mise à jour de Docker ait résolu le problème.
Docker version 20.10.7, build f0df350
cat /etc/os-release
NAME="Ubuntu"
VERSION="16.04.7 LTS (Xenial Xerus)"
Il semble que vous rencontriez un problème Docker similaire à celui signalé dans l’autre sujet.
Je vous suggère de mettre à jour Ubuntu et Docker vers des versions plus récentes, puis d’essayer de reconstruire à nouveau.
Si votre ancien conteneur app existe toujours et que vous n’avez pas modifié les fichiers de données existants dans shared/standalone/postgres_data, vous pouvez essayer d’exécuter ./launcher start app pour démarrer le site sur l’ancien conteneur en attendant.
J’ai suivi les étapes pour mettre à jour Ubuntu et j’ai finalement appuyé sur pour cela.
Mais l’écran s’est bloqué à
En me reconnectant, je vois que j’ai Ubuntu 18.0.4.6 LTS (Bionic Beaver).
Il sera beaucoup plus facile de créer une nouvelle VM avec un système d’exploitation à jour. 18.04 est obsolète et 20.04 le sera en avril.
Si vous avez une sauvegarde à jour, créez un nouveau serveur et restaurez cette sauvegarde, évitant ainsi complètement les problèmes de mise à niveau de postgres.
Discourse n’a pas besoin de postgres installé sur le système d’exploitation. C’est une autre raison de commencer avec un système d’exploitation frais.
Merci Jay
J’ai pu restaurer une sauvegarde de linode sur un autre linode (linode2)
Maintenant, je dois ouvrir Discourse sur linode2 afin que Discourse puisse m’envoyer une sauvegarde par e-mail.
J’ai créé un nouveau paramètre DNS pour linode2 mais j’obtiens une erreur 502 Bad Gateway lorsque je m’y rends.
Peut-être dois-je attendre un peu ?
Étrangement, discbak.softwarebydesign.com.au (linode2) redirige actuellement vers discourse.softwarebydesign.com.au (sur le linode d’origine)
Vous pouvez copier la sauvegarde avec scp/rsync. C’est plus facile et plus rapide (sauf si vous ne savez pas ce que cela signifie).
Vous voulez vraiment créer une nouvelle VM avec un nouvel OS (pas une sauvegarde d’un serveur avec un OS obsolète) et y migrer comme décrit dans Déplacer un site Discourse vers un autre VPS avec rsync. Celui que je viens de copier avait également des problèmes de propriété. Vous en aurez probablement aussi.
Si discbak exécute la même image que l’autre serveur, je m’attendrais à ce qu’il vous donne une erreur de certificat (sauf si vous avez visité http://) puis redirige vers ce qui se trouve dans HOSTNAME.
Il est juste de dire que je ne sais pas vraiment ce que je fais.
J’ai créé un nouveau VPS exécutant Ubunto 24.0.1 LTS et je suis arrivé à l’instruction pour
rsync -rvz example.com:/var/discourse /var
En raison de ma mise à niveau échouée, example.com renvoie une passerelle 502.
Je suis en phase d’apprentissage pour comprendre comment accorder l’accès de toute façon.


