Mover instancia de discourse a un nuevo servidor

Antes de preguntar, ¿buscaste primero? Presiona :magnifying_glass_tilted_left: en la esquina superior derecha para buscar

Hola,

Primero quiero agradecer cualquier ayuda que puedas ofrecerme. Dicho esto, me gustaría discutir mi problema y luego mis objetivos para mi instancia de Discourse autoalojada.

Problema

Actualmente utilizo Hetzner como mi servidor que aloja una instancia de Discourse. He adjuntado volúmenes para Uploads y Backups. Los contenedores e imágenes de Docker actuales, así como el app.yml, etc., están alojados en el propio servidor en /var/discourse.

He tenido este servidor durante 3-4 años o más, y durante todo ese tiempo, siempre me he encontrado con el problema del espacio en el propio servidor (no en los volúmenes). Cada vez que quería reconstruir la aplicación o relanzarla, me encontraba con problemas de espacio, ya que instalaba las imágenes y los contenedores de Docker en el servidor local en lugar de en un volumen. Constantemente necesitaba eliminar Docker y cualquier imagen/contenedor y hacer una reinstalación limpia para poder reconstruir. También creo que los datos SQL están adjuntos al servidor local en lugar de a un volumen.

Objetivos

No estoy seguro de cuál sería lo mejor para mí en el futuro. ¿Se trata de mover carpetas o archivos específicos a un nuevo volumen para la base de datos Postgres y las imágenes de Docker, y si es así, me encantaría recibir ayuda sobre cómo hacerlo? ¿O empezar de cero con un servidor nuevo, creando una copia de seguridad del servidor y restaurándola en un servidor nuevo con todos los volúmenes en ubicaciones configuradas correctamente?


Con todo esto dicho, me encantaría recibir ayuda para configurar el app.yml y tener volúmenes adecuados para todo lo que ocupa espacio, para poder escalar individualmente cuando las copias de seguridad, las cargas, la base de datos o las imágenes de Docker, por ejemplo, lo necesiten.

Puedo proporcionar mi archivo app.yml más tarde hoy, ya que actualmente estoy en el trabajo y busco adelantarme.

Alojo mi Discourse en AWS y hasta ahora he tenido mucho éxito manteniendo /var/discourse en su propio volumen EBS montable y adjuntando ese volumen a diferentes instancias EC2 según he necesitado migrar. Incluso cambié completamente la arquitectura de x64 a ARM (cambié las instancias EC2 de una t3a.large a una r7g.large) y después de volver a montar el volumen /var/discourse, volví a estar en línea después de un simple launcher rebuild app, incluso con el cambio de arquitectura.

En resumen, si tu /var/discourse está almacenado en un volumen montable, entonces tienes todo el estado de tu foro en un estado esencialmente “swing-mountable”. Siempre y cuando puedas configurar un host e instalar Docker en él, puedes montar /var/discourse en él, ejecutar un launcher rebuild app y estar en funcionamiento. (Suponiendo que cosas como el nombre de host y otras especificaciones en app.yml permanezcan constantes entre hosts).

¿Podrías proporcionar un ejemplo de app.yml para esta configuración? ¿Y es tan simple como mover el contenido de “/var/discourse” a un volumen diferente o necesito clonar el repositorio en el nuevo volumen?


¿Qué pasa también con los archivos de la base de datos?

Aquí tienes una copia saneada de mi app.yml de trabajo actual

¿Y todos los contenidos de la base de datos se almacenan en /var/discourse? Entonces, si muevo todos los contenidos de /var/discourse a un volumen montable, ¿debería seguir utilizando todos los datos existentes?

Estoy usando la instalación estándar autoalojada de un solo contenedor, ¡así que está todo configurado como los valores predeterminados!

Pregunta, aunque moví la carpeta /discourse a un volumen montable, todavía tengo problemas con Docker. Los contenedores e imágenes se siguen ejecutando en la unidad local en lugar de un volumen. ¿Alguna idea de cómo solucionar esto?

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.