./launcher reconstruye la aplicación para el antiguo discourse 1.6 no funciona

Aquí está la última pieza del rompecabezas para mí

Tengo mis foros antiguos que acabo de trasladar a una nueva ubicación, pero todavía necesito acceso. Edité el archivo app.yml para cambiar el nombre de dominio y luego ejecuté ./launcher rebuild app --skip-prereqs para que se actualizara, pero falla

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/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 moviste toda la instalación, ¿intentaste simplemente iniciar el contenedor antes de intentar una actualización?

Si tienes una copia de seguridad, ¿por qué no restaurarla en una instalación nueva?

Estás intentando reconstruir desde 1.6, lo cual debería funcionar, pero es mucho más complicado.

¿Por qué omitir los requisitos previos? Como estás reconstruyendo, esto no omite la actualización, solo las comprobaciones, lo que te evita mensajes de error más difíciles de solucionar.

¿Puedes actualizar Docker mientras tanto?

1 me gusta

Ya realicé la actualización a 3.1, ahora está funcionando bien.
Estoy intentando poner en línea los foros antiguos, que no se tocaron, para el desarrollo.

Omitiendo los requisitos previos porque no puedo usar el comando de reconstrucción del lanzador sin él; se requiere docker v1.7 y v1.8, pero tal vez este sea el problema, así que intentaré actualizarlo ahora.
Solo estoy un poco confundido porque no he actualizado estos foros, así que no entiendo por qué la reconstrucción no funciona, ya que no he cambiado ninguna dependencia, etc.

Lo único que he cambiado es app.yml para actualizar el nombre del host e intenté ejecutar la reconstrucción, que no funcionará sin omitir los requisitos previos.

El último lanzador y la imagen de Docker no son compatibles con Discourse 1.6. Necesitarás descargar una versión anterior de discourse_docker. Algo como git checkout 2ec550f podría funcionar…

1 me gusta

Es una buena apuesta que tu SO también esté obsoleto, pero en cualquier caso, te recomendaría que hicieras una copia de seguridad, crearas una nueva instalación en una nueva vm y restauraras la copia de seguridad en la nueva. Esto también te ahorrará algunos pasos necesarios para Cambiar el nombre de dominio o renombrar tu Discourse.

ya no puedo hacer eso ya que no puedo reiniciar la aplicación.

Si tienes una copia de seguridad de la carpeta antigua, siempre puedes restaurarla e intentar iniciarla.

El problema es que actualizaste la imagen base de Discourse.

Luego, usaría rsync para transferir el directorio /var/discourse/shared al nuevo servidor.

¿Funcionará eso si uso una compilación más reciente de Discourse en el nuevo servidor?

1 me gusta

¿Por qué no nos dices el resultado que buscas aquí?

Tu instancia actual es la 1.6, pero tu título sugiere que quieres ejecutar una reconstrucción, lo que también la actualizará, ¿es correcto? Si es así, entonces sí, restaurar en una instalación nueva y limpia será menos doloroso.

Si solo buscas iniciar la instancia 1.6 en lugar de actualizar, el consejo será diferente. Sin el cambio de nombre de host incluido, normalmente solo copiarías el contenido de /var/discourse entre servidores. Siempre que la máquina de destino tenga docker instalado, se puede iniciar usando ./launcher start.

1 me gusta

Solo quiero acceso a los foros antiguos, ya que hubo algunas publicaciones que no se transfirieron a la nueva instalación (copia de seguridad ligeramente desactualizada).

Quería notificar a esos usuarios, pero no puedo volver a poner en funcionamiento la versión 1.6. No quería actualizarla, pero no importa si se actualiza, solo necesito acceso.

¿qué hago si hay un cambio de nombre de host?

Sí. Debería funcionar.

1 me gusta