./launcher reconstruire l'application pour l'ancien discourse 1.6 ne fonctionne pas

Voici la dernière pièce du puzzle pour moi

J’ai mes anciens forums que je viens de déplacer vers un nouvel emplacement mais j’ai toujours besoin d’y accéder - j’ai modifié app.yml pour changer le nom de domaine, puis j’ai exécuté ./launcher/ rebuild app --skip-prereqs pour qu’il se mette à jour mais cela échoue

Ensuring launcher is up to date
Fetching origin
Launcher is up-to-date
Stopping old container
+ /usr/bin/docker stop -t 60 app
app
2.0.20230116-0051: Pulling from discourse/base
e01f084ee363: Already exists 
db2fb8a75c87: Already exists 
6e789f3cf3a6: Already exists 
afa15f3b4f49: Already exists 
bd9a8f354aab: Already exists 
7492e41ba139: Already exists 
17620c643046: Already exists 
24a2215b994e: Already exists 
3119b33deb35: Already exists 
32a8b7f7c0e8: Already exists 
2dbcf46b2450: Already exists 
bdc228d4887d: Already exists 
914f28af582f: Already exists 
4a67c541b202: Already exists 
d3fc17f1b671: Already exists 
77b3d250e54b: Already exists 
9329aa462aa8: Already exists 
daeee236a97d: Already exists 
b7746b7c02a0: Already exists 
5c28ac2537d4: Already exists 
56d3ef9b7e39: Already exists 
3bb00ba1ec5a: Already exists 
1f758f6d6132: Already exists 
374c5f9048f9: Already exists 
0259a5d2f899: Already exists 
3ad74725ef87: Already exists 
f61c04c40065: Already exists 
1917d29aeb87: Already exists 
6bf5a4e9b5be: Already exists 
0f99e9c433c1: Already exists 
5c757ebc11e3: Already exists 
eb1d61649fc0: Already exists 
b3fce4a2403d: Already exists 
2252a5634a08: Already exists 
3b67775f0e8d: Already exists 
fb7e87c0cabf: Already exists 
f0ba17f026a5: Already exists 
aa579fdb2c50: Already exists 
9b282f6a881a: Already exists 
e60b39d46409: Already exists 
4e9e640a98df: Already exists 
0d2ba21fdd7e: Already exists 
5871f9f51cef: Already exists 
2a25ca72ae61: Already exists 
a6b1f035e2fa: Already exists 
4f13760fda63: Already exists 
856119d0afd5: Already exists 
0d289e5416ba: Already exists 
7ee9fa0f4507: Already exists 
aa6751fe4791: Already exists 
a586d833efb5: Already exists 
769ebf485619: Already exists 
701cfc339927: Already exists 
Digest: sha256:xxx
Status: Image is up to date for discourse/base:2.0.20230116-0051
/usr/local/lib/ruby/gems/3.1.0/gems/pups-1.1.1/lib/pups.rb
/usr/local/bin/pups --stdin
flag provided but not defined: --shm-size
See '/usr/bin/docker run --help'.
cat: cids/app_bootstrap.cid: No such file or directory
bootstrap failed with exit code 2
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
Container name cannot be empty

DISCOURSE DOCTOR Tue Jan 24 13:46:45 GMT 2023
OS: Linux xxxx01 3.13.0-37-generic #64-Ubuntu SMP Mon Sep 22 21:28:38 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux


Found containers/app.yml

==================== YML SETTINGS ====================
DISCOURSE_HOSTNAME=forumsold.xxxxx.com
SMTP_ADDRESS=smtp.xxxxx.com # (mandatory)
DEVELOPER_EMAILS=xxxxxx
SMTP_PASSWORD=xxxxx # (optional)
SMTP_PORT=25 # (optional)
SMTP_USER_NAME=xxxxx # (optional)
LETSENCRYPT_ACCOUNT_EMAIL=

==================== DOCKER INFO ====================
DOCKER VERSION: Docker version 1.7.0, build 0baf609

DOCKER PROCESSES (docker ps -a)

CONTAINER ID        IMAGE                 COMMAND             CREATED             STATUS                      PORTS               NAMES
456040e68bec        local_discourse/app   “/sbin/boot”        6 years ago         Exited (5) 52 minutes ago                       app                 
91834fc0d913        hello-world           “/hello”            7 years ago         Exited (0) 7 years ago                          ecstatic_poitras    

==================== SERIOUS PROBLEM!!!! ====================
app not running!
Attempting to rebuild
==================== REBUILD LOG ====================
ERROR: Docker version 1.7.0 not supported, please upgrade to at least 17.03.1, or recommended 17.06.2
==================== END REBUILD LOG ====================
Failed to rebuild app.

Checking your domain name . . .

Connection to xxxx.xxxxxx.com succeeded.
You should probably remove any non-standard plugins and rebuild.
Attempting to restart existing container. . . 
ERROR: Docker version 1.7.0 not supported, please upgrade to at least 17.03.1, or recommended 17.06.2
Failed to restart the container.

==================== PLUGINS ====================
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/discourse/discourse-solved.git

No non-official plugins detected.

See https://github.com/discourse/discourse/blob/main/lib/plugin/metadata.rb for the official list.

========================================
Discourse version at xxxx.xxxx.com: NOT FOUND
Discourse version at localhost: NOT FOUND


==================== MEMORY INFORMATION ====================
RAM (MB): 4048

            total       used       free     shared    buffers     cached
Mem:          3953       2058       1894          0         13       1811
-/+ buffers/cache:        233       3719
Swap:         2047        134       1913

==================== DISK SPACE CHECK ====================
---------- OS Disk Space ----------
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        79G   66G  9.5G  88% /

==================== DISK INFORMATION ====================

WARNING: GPT (GUID Partition Table) detected on '/dev/vda'! The util fdisk doesn't support GPT. Use GNU Parted.


Disk /dev/vda: 85.9 GB, 85899345920 bytes
255 heads, 63 sectors/track, 10443 cylinders, total 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
Disk identifier: 0x00000000

  Device Boot      Start         End      Blocks   Id  System
/dev/vda1               1   167772159    83886079+  ee  GPT

==================== END DISK INFORMATION ====================

==================== MAIL TEST ====================
For a robust test, get an address from http://www.mail-tester.com/
Or just send a test message to yourself.
Email address for mail test? ('n' to skip) [xxxxxx]: n
Mail test skipped.
Replacing: SMTP_PASSWORD
Replacing: LETSENCRYPT_ACCOUNT_EMAIL
Replacing: DEVELOPER_EMAILS
Replacing: DISCOURSE_DB_PASSWORD
Replacing: Sending mail to

==================== DONE! ====================

Si vous avez déplacé l’installation entière, avez-vous essayé de simplement démarrer le conteneur avant de tenter une mise à niveau ?

Si vous avez une sauvegarde, pourquoi ne pas la restaurer sur une nouvelle installation ?

Vous essayez de reconstruire à partir de 1.6, ce qui devrait fonctionner, mais c’est beaucoup plus de tracas.

Pourquoi ignorer les prérequis ? Comme vous reconstruisez, cela n’ignore pas la mise à jour, seulement les vérifications qui vous évitent des messages d’erreur plus difficiles à dépanner.

Pouvez-vous mettre à jour Docker pendant que vous y êtes ?

1 « J'aime »

J’ai déjà effectué la mise à niveau vers la 3.1, elle fonctionne maintenant correctement.
J’essaie de remettre en ligne les anciens forums - qui n’ont pas été touchés - pour le développement.

J’ignore les prérequis car je ne peux pas utiliser la commande de reconstruction du lanceur sans cela - docker exécutant les versions 1.7 et 1.8 requises - mais c’est peut-être le problème, donc je vais essayer de mettre cela à jour maintenant.
Je suis juste un peu confus car je n’ai pas mis à jour ces forums, donc je ne comprends pas pourquoi la reconstruction ne fonctionne pas car je n’ai modifié aucune dépendance, etc.

La seule chose que j’ai changée est app.yml pour mettre à jour le nom d’hôte et j’ai essayé d’exécuter la reconstruction, ce qui ne fonctionne pas sans ignorer les prérequis.

Le dernier lanceur et l’image Docker ne sont pas compatibles avec Discourse 1.6. Vous devrez récupérer une ancienne version de discourse_docker. Quelque chose comme git checkout 2ec550f pourrait fonctionner…

1 « J'aime »

Il est fort probable que votre système d’exploitation soit également obsolète, mais dans tous les cas, je vous recommande de faire une sauvegarde, de créer une nouvelle installation sur une nouvelle VM et de restaurer la sauvegarde sur la nouvelle. Cela vous évitera également certaines étapes nécessaires pour Changer le nom de domaine ou renommer votre Discourse.

je ne peux plus le faire car je ne peux plus redémarrer l’application

Si vous avez une sauvegarde de l’ancien dossier, vous pouvez toujours la restaurer et essayer de la démarrer.
Le problème est que vous avez mis à niveau l’image de base de Discourse.

Ensuite, je synchroniserais /var/discourse/shared sur le nouveau serveur avec rsync.

Est-ce que cela fonctionnera si j’utilise une version plus récente de Discourse sur le nouveau serveur ?

1 « J'aime »

Pourquoi ne pas nous indiquer le résultat que vous recherchez ici.

Votre instance actuelle est en 1.6 - mais votre titre suggère que vous souhaitez effectuer une reconstruction, ce qui la mettra également à jour - est-ce correct ? Si c’est le cas, alors oui, restaurer sur une nouvelle installation fraîche sera moins douloureux.

Si vous cherchez simplement à démarrer l’instance 1.6 au lieu de la mettre à niveau, les conseils seront différents. Sans le changement de nom d’hôte inclus, vous copiez généralement le contenu de /var/discourse entre les serveurs. Tant que la machine de destination a docker installé, elle peut simplement être démarrée en utilisant ./launcher start

1 « J'aime »

Je veux juste avoir accès aux anciens forums car il y avait des publications qui n’ont pas été transférées dans la nouvelle installation (sauvegarde légèrement obsolète).

Je voulais en informer ces utilisateurs, mais je ne parviens pas à remettre la version 1.6 en marche - je ne voulais pas la mettre à jour, mais peu importe si elle est mise à jour, j’ai juste besoin d’y accéder, c’est tout.

que dois-je faire s’il y a un changement de nom d’hôte ?

Oui. Cela devrait fonctionner.

1 « J'aime »