Actualización fallida: podría necesitar ayuda para intentar solucionarlo mediante SSH

Yesterday I had an admin message about upgrades. From the web UI, I did the Docker upgrade first and this seemed to go well. After it finished, the upgrade button for Discourse was enabled and I initiated that. At some point something broke and now our site is down. I was on my phone at the time and I didn’t manage to look at the log carefully to see where exactly things broke, before

I’m currently pocking around over SSH and about to try ./launcher rebuild app to hopefully get a better idea about what exactly is the problem in the upgrade. I’ve never done Discourse command-line repair and I want to make sure that I don’t blow away our data. Looking over app.yml, I see that the container is stateless - great - and that all the data is on the host, accessed as a shared volume.

I ran discourse-doctor and it looks like disk space is not the issue. Will the rebuild app command touch the local data store?

Yes, do the ./launcher rebuild app that should do it. It will not blow away your data.

If you’d rather not to it yourself, please see Automatic Rebuilds When You Need Them.

2 Me gusta

Thanks, the rebuild seems to have worked - the GitHub avatars and favicon don’t show for some reason, though.

1 me gusta

¡Hola!
He actualizado y la página me dio un error 504 de tiempo de espera de la puerta de enlace.
Hice lo siguiente y aún no funciona.

cd /var/discourse
git pull; ./launcher rebuild app

¿Tienes alguna idea de por qué sigue sin funcionar?

No. No hay muchas posibilidades de tener una idea. Mi mejor suposición es que no esperaste a que el servidor se reiniciara por completo, pero podría tratarse de cualquier cosa. ¿Se completó la reconstrucción sin errores? ¿Te has quedado sin espacio en disco? ¿docker ps muestra que el contenedor está en ejecución?

Docker ps me muestra esto:
Captura de pantalla 2020-11-04 a las 16.52.52

Si ejecuto ./launcher enter app, me indica que el contenedor no está en ejecución. ¿Cómo puedo hacer para que se ejecute?

En el archivo de registro veo esto:
No se pudo encontrar rake-13.0.1 en ninguna de las fuentes
Ejecuta bundle install para instalar las gemas faltantes.
¿Tiene alguna importancia?
Gracias

Ese nombre de contenedor indica que la reconstrucción aún está en curso y lleva solo 4 minutos.

Puedes seguir los registros con

docker logs -tf sweet_chatelet

¿Se están actualizando los registros?

1 me gusta

Ha terminado la reconstrucción y solo muestra esto:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

Y al ejecutar ./launcher enter app, recibo esto:
Error de respuesta del daemon: El contenedor … no se está ejecutando

1 me gusta

Así que la reconstrucción está fallando en algún paso.

Intenta una nueva reconstrucción solo con ./launcher rebuild app y observa los registros. Cuando se detenga con otro error, desplázate hacia arriba y busca los mensajes de error; estos mostrarán cuál es el problema. Copia aquí esos mensajes y podemos ayudarte.

1 me gusta

@Falco si ejecuto ./launcher logs app, obtengo esto:
No se pudo encontrar rake-13.0.1 en ninguna de las fuentes
Ejecuta bundle install para instalar las gems faltantes.

¿Son estos todos los registros? ¿Puedes compartir una porción más grande de los registros?

¿Está este servidor detrás de algún firewall extraño o entorno corporativo? ¿O es un VPS simple en internet?

Después de terminar de reconstruir la aplicación ./launcher, me muestra esto: ** ERROR AL INICIAR ** por favor, desplázate hacia arriba y busca mensajes de error anteriores; puede haber más de uno.
./discourse-doctor puede ayudar a diagnosticar el problema.

Pero ./discourse-doctor no soluciona nada.

¿Puedes hacer scroll hacia arriba y buscar los mensajes de error anteriores?

No sé si esto te ayude a ver qué pasa

Las primeras 3 capturas de pantalla son de ./launcher logs app y no sirven de nada.

¡La última es de ./launcher rebuild app y es la que contiene las respuestas! Por favor, revísala en busca de errores y, si es posible, pega toda la salida como texto aquí.

¡Gracias por eso!

/pups/lib/pups/config.rb:106:in `block (2 levels) in run_commands': Invalid run command cd (SyntaxError)
	from /pups/lib/pups/config.rb:100:in `each'
	from /pups/lib/pups/config.rb:100:in `block in run_commands'
	from /pups/lib/pups/config.rb:99:in `each'
	from /pups/lib/pups/config.rb:99:in `run_commands'
	from /pups/lib/pups/config.rb:78:in `run'
	from /pups/lib/pups/cli.rb:31:in `run'
	from /pups/bin/pups:8:in `<main>'
44bf915bdff740d4441ad5239f79d5b14a6ed375300c52b85c10eefb7af677a2
** ERROR AL INICIAR ** por favor, haz scroll hacia arriba y busca mensajes de error anteriores; puede haber más de uno.
./discourse-doctor puede ayudar a diagnosticar el problema.

Parece que tu app.yml tiene algunos comandos no válidos.

¿Quizás intentaste agregar un plugin y añadiste algunos caracteres no válidos?

¿Podrías pegarlo aquí, después de eliminar cualquier contraseña?

Claro, aquí está:
app.txt (3.4 KB)

Oh, parece que intentaste habilitar el soporte de subcarpetas con Docker, pero la sangría del primer bloque se desordenó.

Solo necesitas agregar dos espacios adicionales al inicio de las líneas 82, 83, 84 y 85.

Después, guarda el archivo y vuelve a compilar.

3 Me gusta