Recuperar a un sitio desde multisitio

Hola, seguí esta guía Multisite configuration with Docker para configurar un sitio multisitio. Ahora quiero volver a un solo sitio. ¿Qué debo hacer además de restaurar el archivo app.yml?

Realmente no entiendo qué intentas lograr aquí, pero si quieres mover un sitio fuera de la configuración multisitio, puedes hacerlo descargando una copia de seguridad del multisitio y restaurándola en el sitio independiente. Es posible que tengas que realizar algunas remapeos según cómo esté configurado este sitio independiente.

Solo quiero mantener el primer sitio y eliminar el segundo.

Sí, el enfoque más sencillo es hacer una copia de seguridad del primer sitio, detener los dos contenedores (web_only y data) que pudo haber utilizado al configurar el multisitio, configurar un nuevo sitio mediante ./discourse-setup y luego restaurar la copia de seguridad. Una solución más avanzada podría incluir eliminar la configuración del segundo sitio de los archivos yml, acceder al contenedor de datos para eliminar la segunda base de datos y eliminar los activos del segundo sitio de la carpeta compartida, etc.

¡Gracias! Probaré el primer método.

Hola, seguí tu segundo método. Eliminé la base de datos del segundo sitio y restauré el archivo de configuración app.yml. Sin embargo, no sé cómo eliminar los recursos del segundo sitio de la carpeta compartida; ¿podrías ayudarme?

Cuando actualicé Discourse, apareció una página en blanco en la sección de plugins y un error en la consola:

Uncaught TypeError: Cannot read property 'extend' of undefined
    at _discourse-rss-poster-422da9e50d576ad45cb7287315e7a35550af3708eb68422bee05813edc01521d.js:188
    at t.module.exports.u.<computed> (_ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:74640)
    at t.module.exports.u.<computed> (_ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:74470)
    at require (_ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:74637)
    at t.customResolve (_application-572c27eef10b724b244ce26553c6fe92b75f44172387b25ef144f338da4faa1e.js:1015)
    at t.resolveRoute (_application-572c27eef10b724b244ce26553c6fe92b75f44172387b25ef144f338da4faa1e.js:1051)
    at t.e [as resolveRoute] (_ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:43433)
    at t.n.resolve (_ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:46378)
    at _ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:12420
    at e.t.resolve (_ember_jquery-1ed3f3559e6f967733b4088aa729ff7039dff2c09c5a5f787a214b016f58aabc.js:11959)
```\n
Creo que el problema se debe al segundo sitio, pero no sé cómo solucionarlo. ¡Gracias!

¿Podrías ayudarme por favor? @sam

Tendrás que compartir tu archivo app.yml omitiendo las contraseñas. Yo culparía esto de alguna omisión o error en tu archivo app.yml que está causando esto.

## esta es la plantilla del contenedor Docker de Discourse todo en uno y autónomo
##
## Después de realizar cambios en este archivo, DEBES reconstruir
## /var/discourse/launcher rebuild app
##
## ¡TEN *MUCHO* CUIDADO AL EDITAR!
## ¡LOS ARCHIVOS YAML SON EXTREMADAMENTE SENSIBLES A ERRORES EN ESPACIOS EN BLANCO O ALINEACIÓN!
## visita http://www.yamllint.com/ para validar este archivo según sea necesario

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  - "templates/web.ratelimited.template.yml"
## Descomenta estas dos líneas si deseas agregar Lets Encrypt (https)
#  - "templates/web.ssl.template.yml"
#  - "templates/web.letsencrypt.ssl.template.yml"
  - "templates/web.socketed.template.yml"

## ¿Qué puertos TCP/IP debe exponer este contenedor?
## Si deseas que Discourse comparta un puerto con otro servidor web como Apache o nginx,
## consulta https://meta.discourse.org/t/17247 para obtener detalles
expose:
        #  - "80:80"   # http
        #  - "443:443" # https

params:
  db_default_text_search_config: "pg_catalog.english"

  ## Establece db_shared_buffers a un máximo del 25% de la memoria total.
  ## se establecerá automáticamente durante el arranque según la RAM detectada, o puedes sobrescribirlo
  db_shared_buffers: "128MB"

  ## puede mejorar el rendimiento de ordenamiento, pero aumenta el uso de memoria por conexión
  #db_work_mem: "40MB"

  ## ¿Qué revisión de Git debe usar este contenedor? (por defecto: tests-passed)
  #version: tests-passed

env:
  LANG: en_US.UTF-8
  # DISCOURSE_DEFAULT_LOCALE: en

  ## ¿Cuántas solicitudes web simultáneas se admiten? Depende de la memoria y los núcleos de CPU.
  ## se establecerá automáticamente durante el arranque según los CPUs detectados, o puedes sobrescribirlo
  UNICORN_WORKERS: 2

  ## TODO: El nombre de dominio al que responderá esta instancia de Discourse
  ## Requerido. Discourse no funcionará con una dirección IP sin nombre de dominio.
  DISCOURSE_HOSTNAME: at4am.io

  ## Descomenta si deseas que el contenedor se inicie con el mismo
  ## nombre de host (opción -h) que se especificó arriba (por defecto "$hostname-$config")
  #DOCKER_USE_HOSTNAME: true

  ## TODO: Lista de correos electrónicos separados por comas que se convertirán en administradores y desarrolladores
  ## en el registro inicial, ejemplo 'user1@example.com,user2@example.com'
  DISCOURSE_DEVELOPER_EMAILS: 'a@gmail.com'

  ## TODO: El servidor de correo SMTP utilizado para validar nuevas cuentas y enviar notificaciones
  # DIRECCIÓN SMTP, nombre de usuario y contraseña son obligatorios
  # ADVERTENCIA: el carácter '#' en la contraseña SMTP puede causar problemas
  DISCOURSE_SMTP_ADDRESS: smtp.office365.com
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: a@outlook.com
  DISCOURSE_SMTP_PASSWORD: "a"
  DISCOURSE_SMTP_AUTHENTICATION: login
  #DISCOURSE_SMTP_ENABLE_START_TLS: true           # (opcional, por defecto true)

  ## Si agregaste la plantilla de Lets Encrypt, descomenta abajo para obtener un certificado SSL gratuito
  LETSENCRYPT_ACCOUNT_EMAIL: a@gmail.com

  ## La dirección CDN para esta instancia de Discourse (configurada para extraer)
  ## consulta https://meta.discourse.org/t/14857 para obtener detalles
  #DISCOURSE_CDN_URL: //discourse-cdn.example.com

## El contenedor Docker es sin estado; todos los datos se almacenan en /shared
volumes:
  - volume:
      host: /var/discourse/shared/standalone
      guest: /shared
  - volume:
      host: /var/discourse/shared/standalone/log/var-log
      guest: /var/log

## Los plugins van aquí
## consulta https://meta.discourse.org/t/19157 para obtener detalles
hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git
          - git clone https://github.com/livc/discourse-rss-poster
            #- git clone https://github.com/paviliondev/discourse-ratings
          - git clone https://github.com/discourse/discourse-data-explorer
          - git clone https://github.com/discourse/discourse-solved

## Cualquier comando personalizado para ejecutar después de la compilación
run:
  - exec: echo "Inicio de comandos personalizados"
  ## Si deseas establecer la dirección de correo electrónico 'De' para tu primer registro, descomenta y cambia:
  ## Después de recibir el primer correo de registro, vuelve a comentar la línea. Solo necesita ejecutarse una vez.
  #- exec: rails r "SiteSetting.notification_email='info@unconfigured.discourse.org'"
  - exec: echo "Fin de comandos personalizados"

Este es mi app.yml, gracias por tu ayuda.

Al revisar tu error anterior y el app.yml, lo más probable es que sea el fork del plugin RSS que estás utilizando. Algo podría estar roto en él, lo que probablemente esté causando el problema. ¿Podrías intentar reconstruir después de desactivar el plugin?

@itsbhanusharma

Si descomento este plugin, la página del plugin funciona. Pero antes de actualizar Discourse a la última versión, el plugin funcionaba sin problemas.

Así que no estoy seguro de si se debe a la actualización de Discourse o al multisitio.

Especialmente, encontré que
https://meta.discourse.org/t/discourse-subscriptions/140818/77?u=livc
tiene el mismo error en el multisitio.

Este plugin es muy importante para mi sitio y ahora no tengo ni idea. :pensive:

Si creaste ese complemento, intenta solucionarlo. Si alguien lo construyó para ti, intenta contactarlo para que lo repare.