¿Cómo actualizar un sitio de Discourse muy antiguo?

1. ¿Cuál es la forma más sencilla de volver a estar operativo?
2. Si he tenido copias de seguridad en S3, ¿eso cubrió todos los datos relevantes, incluidas imágenes, metadatos, etc.?

Aunque encontré este artículo, no ha sido actualizado en 5 años:

Así que, antes de seguir perdiendo el tiempo hoy, me gustaría ver si alguien puede ofrecer algunos consejos útiles. ¿Quizás pueda invitar a alguien a una cerveza virtual, dar algún consejo gratuito en GitHub - shakacode/react_on_rails: Integration of React + Webpack + Rails including server-side rendering of React, enabling a better developer experience and faster client performance. · GitHub o cualquier otra cosa?

¿Alguien tiene tiempo para trabajar en pareja conmigo en esto y yo documentaré los esfuerzos?

Esto es lo que sé:

  1. Mi directorio para Discourse es /var/docker y no /var/discourse.
  2. Tengo una copia de seguridad reciente en S3.
  3. Intenté [Cambiar “templates/postgres.template.yml” por “templates/postgres.9.5.template.yml”](http://Cambiar “templates/postgres.template.yml” por “templates/postgres.9.5.template.yml”)
  4. Luego la base de datos no es compatible:
2020-04-04 20:53:42.164 UTC [1601] FATAL: los archivos de la base de datos son incompatibles con el servidor
2020-04-04 20:53:42.164 UTC [1601] DETAIL: El directorio de datos fue inicializado por la versión 9.3 de PostgreSQL, que no es compatible con esta versión 9.5.21.

Registros relevantes

Bienvenido a Ubuntu 16.04.3 LTS (GNU/Linux 4.4.0-148-generic x86_64)
  Carga del sistema: 0.08               Procesos: 137
  Uso de /: 69.3% de 29.40GB   Usuarios conectados: 0
  Uso de memoria: 77%                Dirección IP para eth0: 192.241.224.165
  Uso de swap: 24%                Dirección IP para docker0: 172.17.0.1
187 paquetes pueden ser actualizados.
19 actualizaciones son de seguridad.

*** Se requiere reinicio del sistema ***

root@forum:~# cd /var/docker/
root@forum:/var/docker# git pull

Actualizando 67f34b8..b0c92ba

I, [2020-04-04T20:34:13.023086 #1]  INFO -- : > apt-get update && apt-get install -y postgresql-9.3 postgresql-client-9.3 postgresql-contrib-9.3
E: No se pudo localizar el paquete postgresql-client-9.3
E: No se encontró ningún paquete mediante el patrón 'postgresql-client-9.3'
E: No se encontró ningún paquete mediante la expresión regular 'postgresql-client-9.3'
E: No se pudo localizar el paquete postgresql-contrib-9.3
E: No se encontró ningún paquete mediante el patrón 'postgresql-contrib-9.3'
E: No se encontró ningún paquete mediante la expresión regular 'postgresql-contrib-9.3'
I, [2020-04-04T20:34:17.590352 #1]  INFO -- : Hit:1 http://deb.debian.org/debian buster InRelease

FALLÓ
--------------------
Pups::ExecError: apt-get update && apt-get install -y postgresql-9.3 postgresql-client-9.3 postgresql-contrib-9.3 falló con el retorno #<Process::Status: pid 18 exit 100>
Ubicación del fallo: /pups/lib/pups/exec_command.rb:112:in `spawn'
la ejecución falló con los parámetros "apt-get update && apt-get install -y postgresql-9.3 postgresql-client-9.3 postgresql-contrib-9.3"
159a5389071c2e398c9f426ae0853f11f662503190b648f0390fdb14dd9a057e

¡ADVERTENCIA! Esto eliminará todos los contenedores detenidos.
¿Estás seguro de que quieres continuar? [y/N] y
Contenedores eliminados:
5fd4cef4498a5ad12efb2f27373e3950e83b106d8ab7095177862511b10a0366

Espacio total recuperado: 1.494GB
¡ADVERTENCIA! Esto eliminará todas las imágenes sin al menos un contenedor asociado.
¿Estás seguro de que quieres continuar? [y/N] y
Imágenes eliminadas:
untagged: local_discourse/app:latest

Espacio total recuperado: 9.848GB
root@forum:/var/docker# df -h
Sistema de archivos  Tamaño Usado Disp Uso% Montado en
udev            477M     0  477M   0% /dev
tmpfs           100M   11M   89M  11% /run
/dev/vda1        30G  9.6G   19G  35% /
tmpfs           497M     0  497M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           497M     0  497M   0% /sys/fs/cgroup
cgmfs           100K     0  100K   0% /run/cgmanager/fs
tmpfs           100M     0  100M   0% /run/user/0

LOG: saltando el archivo de configuración faltante "/shared/postgres_data/postgresql.auto.conf"
2020-04-04 20:53:42.164 UTC [1601] FATAL: los archivos de la base de datos son incompatibles con el servidor
2020-04-04 20:53:42.164 UTC [1601] DETAIL: El directorio de datos fue inicializado por la versión 9.3 de PostgreSQL, que no es compatible con esta versión 9.5.21

FALLÓ
--------------------
Pups::ExecError: su postgres -c 'psql discourse -c "alter schema public owner to discourse;"' falló con el retorno #<Process::Status: pid 1627 exit 2>
Ubicación del fallo: /pups/lib/pups/exec_command.rb:112:in `spawn'
la ejecución falló con los parámetros "su postgres -c 'psql $db_name -c \"alter schema public owner to $db_user;\"'"
e5ea7eeecd58ef02a19254a299700fe2146b447c6eda637a4fe64df373348953
3 Me gusta

¡Hola Justin! Qué gusto verte de nuevo. Como cortesía, dado que has estado usando Discourse durante muchísimo tiempo, estaré encantado de pagarle a @pfaffman para que te ayude aquí. :hugs:

Solo avísale que se ponga en contacto conmigo para el pago.

6 Me gusta

¡Hola, @justin_gordon! ¿El sitio ya está en línea? Si no, ¿puedes darme la información de S3?

Puedes enviármela de forma razonablemente segura en Redirecting…

Confío en que no es una emergencia y que empezar el lunes está bien. Si es urgente, dímelo en tu mensaje y trataré de comenzar antes.

También puedes enviarme un mensaje privado aquí con tu dirección de correo electrónico.

5 Me gusta

¡OMG @codinghorror, me has alegrado el día!

@pfaffman, sí, sin prisa. Estaba actualizando para ayudar con una solicitud de “¿cómo hiciste que tu encabezado se viera tan bonito en talksurf.com

Una vez que talksurf.com esté de nuevo en línea, me aseguraré de añadir aquí algunas notas que serán útiles para otros.

7 Me gusta

Justin, ahora me siento culpable :slightly_frowning_face:
¡Tres días usando Discourse y ya estoy causando caos!

4 Me gusta

Hola @Paul-Reed y @codinghorror,

¡@pfaffman me ha puesto de nuevo en funcionamiento… hizo un trabajo increíble! El sitio está brillante y nuevo, y Discourse es asombroso, ¡ya que todo lo necesario estaba en las copias de seguridad!

¡Qué tecnología tan increíble de Discourse!

@pfaffman me actualizó con lo siguiente:

  1. Una instalación de 2 contenedores descrita aquí.
  2. Restaurar desde la copia de seguridad en una instalación nueva parecía ser el camino de menor resistencia para una instalación muy antigua.
  3. Realmente solo hay un archivo útil fuera de las copias de seguridad, que es el archivo /var/discourse/containers/app.yml. ¡Y debería tener copias de seguridad diarias, no cada 7 días!

Una lección clave que sabía y debería haber recordado:

Solo porque pienses que algo tomará 10 minutos, a veces no es así. Me metí en esta actualización solo porque quería asegurarme de darle a @Paul-Reed un buen consejo sobre el encabezado. ¡Ups! Y no solo aprendí esto, sino que a menudo lo olvidamos. Mi especialidad es hacer que los sitios web construidos con React y Ruby on Rails funcionen mejor a través de mi consultoría https://www.shakacode.com y mi código abierto GitHub - shakacode/react_on_rails: Integration of React + Webpack + Rails including server-side rendering of React, enabling a better developer experience and faster client performance. · GitHub.

La operación de desarrollo tipo Docker es algo que puedo hacer, ¡pero me quita mucho tiempo de lo que intento lograr!

Por todo eso, estoy pensando en que @pfaffman me ayude con alguna actualización de mi página de inicio para https://forum.shakacode.com/.

Así que un ENORME agradecimiento a @codinghorror y @pfaffman por toda la ayuda.


Y si estás interesado, aquí está la solución para el encabezado personalizado que motivó esta actualización de mi antiguo sitio de Discourse.

Encabezado personalizado

En primer lugar, en lugar de hacer esto por mi cuenta, te recomiendo contactar a @pfaffman en https://support.literatecomputing.com/. De hecho, ¡pediré a @pfaffman que me ayude si quiero crear algo mejor en esta área!

Pero, para los amantes del “hazlo tú mismo”, creo que todas las partes útiles están aquí:

Que yo sepa, todo lo demás está en blanco.

CSS

#top-navbar-container {
    background: black;
    height: 25px;
}

#top-navbar-links .spacer {
    display: inline-block;
    margin-left: 12px;
    margin-right: 12px;
}


#top-navbar-links, #top-navbar-links a:visited, #top-navbar-links a {
    color: white;
}

header.d-header {
    background: black;
    background-image: url(/uploads/default/63/873a733a013f8208.jpg);
    padding-top: 0;
    box-shadow: none;
    top: 25px;
    height: 63px;
}

.ember-view > #main-outlet {
    padding-top: 97px;
}

header > .container {
    background-image: url(/uploads/default/63/873a733a013f8208.jpg);
    max-width: 1200px;
    padding-right: 50px;
}

header.d-header > .container > .contents {
    margin: 0;
}

header.d-header #site-logo, header.d-header .logo-small {
    max-height: 53px;
}

body #main .extra-info > a.star {
    color: #A5ACDD;
}

header .extra-info-wrapper h1 {
    margin-top: 18px;    
}

@media screen and (min-width: 1140px)  {
    header .extra-info-wrapper {
        max-width: 780px;
    }
}

@media screen and (min-width: 967px) and (max-width: 1139px)  {
    header .extra-info-wrapper {
        max-width: 647px;
    }
}

#user-notifications, #search-button, #site-map  {
    color: #AAA; 
}

@media screen and (max-width: 966px) {
    .extra-info-wrapper {
        max-width: 620px;
    }
}

header .current-username .username > a {
    color: white;
}

header.d-header .icons .icon:hover {
    background-color: #000000;
}

ENCABEZADO

<div id="top-navbar-container" class="d-header">
<div id="top-navbar" class="wrap">
<span id="top-navbar-links" style="height:20px;">
  <a href="http://forum.talksurf.com">Inicio</a><span class="spacer"> | </span>
  <a href="http://forum.talksurf.com/category/surfing/doug-silva">Doug Silva</a><span class="spacer"> | </span>
  <a href="http://forum.talksurf.com/category/surfing">Surf</a><span class="spacer"> | </span>
  <a href="http://forum.talksurf.com/category/kitesurfing">Kitesurf</a><span class="spacer"> | </span>
  <a href="http://forum.talksurf.com/category/standup-paddling">SUP</a><span class="spacer"> | </span>
  <a href="http://forum.talksurf.com/category/windsurfing">Windsurf</a><span class="spacer"> | </span>
  <a href="http://forum.talksurf.com/t/pros-instructors-equipment-travel/264">Profesionales</a><span class="spacer"> | </span>
  <a href="http://forum.talksurf.com/t/what-is-talksurf-com/265">Acerca de</a><span class="spacer"> | </span>
  <a href="http://forum.talksurf.com/faq">Preguntas frecuentes</a>
</span>
</div>
</div>
5 Me gusta

Sí, lo había visto aquí, pero no sé dónde se incluye la imagen de talksurf en el código.

Puedo ver de dónde proviene la imagen de fondo, pero no la imagen ‘talksurf’ a la izquierda, que flota por encima de la imagen de fondo.

Agregar ‘talksurf’ como imagen en Configuración > Marca > Logotipo resulta en una imagen mucho más pequeña, ya que Discourse la reduce de una altura original de 120 px a solo 31 px. La imagen de Talksurf es mucho más alta que 31 px.

@Paul-Reed, ¿tal vez podrías ver si puedes contratar a @pfaffman para que ayude? Yo nunca configuré esto, así que no tengo idea.

1 me gusta

Puedes hacer que el encabezado sea más alto con un poco de CSS. Puedo ayudarte con eso, pero te sugiero que crees un nuevo tema en Support, ya que es un poco fuera de tema aquí.

Ya tengo un tema existente que inicié hace unos días: Image not filling header container
¿Está bien continuar allí?

1 me gusta