Hola! Tengo un problema con la última actualización:
FAILED -------------------- Pups::ExecError: cd /var/www/discourse & su discourse -c ‘bundle exec rake db:migrate’ falló con retorno #<Process::Status: pid 690 exit 1> Ubicación del fallo: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn’ exec falló con los parámetros {“cd”=>“$home”, “hook”=>“db_migrate”, “cmd”=>[“su discourse -c ‘bundle exec rake db:migrate’”]} 7027ff0ccd166f831f9728472676ad91704fdd4caa6833a219d44697e740acdc ** FALLÓ EL ARRANQUE ** 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.
Ok, ¿cómo puedo identificarlos? ¿Buscando la palabra “error”? Si me dices cómo ejecutar el registro, lo adjuntaré. Soy nuevo en el uso de servidores. Muchas gracias por tu ayuda.
Lo siento, estaba en el trabajo. Este es mi app.yml:
## esta es la plantilla de contenedor Docker de Discourse todo en uno y autónoma
##
## Después de realizar cambios en este archivo, DEBE reconstruir
## /var/discourse/launcher rebuild app
##
## ¡TENGA MUCHO CUIDADO AL EDITAR!
## ¡LOS ARCHIVOS YAML SON SÚPER SÚPER SENSIBLES A ERRORES EN ESPACIOS EN BLANCO O ALINEACIÓN!
## visite http://www.yamllint.com/ para validar este archivo según sea necesario
plantillas:
- "templates/postgres.template.yml"
- "templates/redis.template.yml"
- "templates/web.template.yml"
- "templates/web.ratelimited.template.yml"
## Descomente estas dos líneas si desea agregar Lets Encrypt (https)
- "templates/web.ssl.template.yml"
- "templates/web.letsencrypt.ssl.template.yml"
## ¿qué puertos TCP/IP debe exponer este contenedor?
## Si desea que Discourse comparta un puerto con otro servidor web como Apache o nginx,
## consulte https://meta.discourse.org/t/17247 para obtener detalles
exponer:
- "80:80" # http
- "443:443" # https
parámetros:
db_default_text_search_config: "pg_catalog.spanish"
## Establezca db_shared_buffers en un máximo del 25% de la memoria total.
## será configurado automáticamente por bootstrap según la RAM detectada, o puede anularlo
db_shared_buffers: "2048MB"
## puede mejorar el rendimiento de la clasificación, pero aumenta el uso de memoria por conexión
#db_work_mem: "40MB"
## ¿Qué revisión de Git debe usar este contenedor? (predeterminado: tests-passed)
#version: tests-passed
entorno:
LC_ALL: es_ES.UTF-8
LANG: es_ES.UTF-8
LANGUAGE: es_ES.UTF-8
DISCOURSE_DEFAULT_LOCALE: es
## ¿Cuántas solicitudes web concurrentes se admiten? Depende de la memoria y los núcleos de CPU.
## será configurado automáticamente por bootstrap según las CPU detectadas, o puede anularlo
UNICORN_WORKERS: 8
## TODO: El nombre de dominio al que responderá esta instancia de Discourse
## Requerido. Discourse no funcionará con un número IP simple.
DISCOURSE_HOSTNAME: EDITED
## Descomente si desea que el contenedor se inicie con el mismo
## nombre de host (-h option) que el especificado anteriormente (predeterminado "$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: 'EDITADO'
## TODO: El servidor de correo SMTP utilizado para validar nuevas cuentas y enviar notificaciones
# La DIRECCIÓN SMTP, el nombre de usuario y la contraseña son requeridos
# ADVERTENCIA: el carácter '#' en la contraseña SMTP puede causar problemas.
DISCOURSE_SMTP_ADDRESS: EDITED
DISCOURSE_SMTP_PORT: EDITED
DISCOURSE_SMTP_USER_NAME: EDITED
DISCOURSE_SMTP_PASSWORD: EDITED
DISCOURSE_SMTP_ENABLE_START_TLS: true # (opcional, predeterminado true)
DISCOURSE_SMTP_DOMAIN: EDITED
DISCOURSE_NOTIFICATION_EMAIL: EDITED
## Si agregó la plantilla Lets Encrypt, descomente a continuación para obtener un certificado SSL gratuito
LETSENCRYPT_ACCOUNT_EMAIL: EDITED
## La dirección CDN http o https para esta instancia de Discourse (configurada para tirar)
## consulte https://meta.discourse.org/t/14857 para obtener detalles
#DISCOURSE_CDN_URL: https://discourse-cdn.example.com
## La clave de dirección IP de geolocalización de Maxmind para la búsqueda de direcciones IP
## consulte https://meta.discourse.org/t/-/137387/23 para obtener detalles
DISCOURSE_MAXMIND_LICENSE_KEY: EDITED
## El contenedor Docker no tiene estado; todos los datos se almacenan en /shared
volúmenes:
- volumen:
host: /var/discourse/shared/standalone
guest: /shared
- volumen:
host: /var/discourse/shared/standalone/log/var-log
guest: /var/log
## Los plugins van aquí
## consulte https://meta.discourse.org/t/19157 para obtener detalles
ganchos:
after_code:
- exec:
cd: $home/plugins
cmd:
- git clone https://github.com/discourse/docker_manager.git
- git clone https://github.com/discourse/discourse-reactions
## Cualquier comando personalizado para ejecutar después de la compilación
ejecutar:
- exec: echo "Comienzo de comandos personalizados"
## Si desea establecer la dirección de correo electrónico 'De' para su primer registro, descomente y cambie:
## Después de recibir el primer correo electrónico de registro, vuelva 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"
La verdad es que nunca he tenido ningún problema al actualizar. No estaba haciendo nada raro, simplemente actualicé el sistema y me apareció la advertencia de que se había producido un error.
Tiene problemas para ejecutar una migración de mayo de 2021. ¿Se trasladó este sitio entre los canales de lanzamiento (beta/estable/tests-passed) o se restauró a partir de una copia de seguridad en algún momento?
Creo recordar que migramos de mybb en esa fecha (21 de mayo)
Sí, es cierto que hoy intenté recuperar una copia de seguridad de principios de mes para intentar tener una copia funcional antes del error, pero al hacer clic en iniciar, apareció una pantalla de error.
Gracias por tu respuesta. Creo que mi problema está relacionado con un error de base de datos relacionado con la migración de los foros. La reconstrucción de la aplicación no funciona.
He consultado las preguntas frecuentes y los manuales, pero no encuentro ninguna solución.
Tengo algunas copias de seguridad anteriores (creo) al error, pero no puedo cargarlas porque la aplicación no se ejecuta. Solo se me ocurre borrar todo, hacer una instalación limpia y cargar una copia de seguridad…
Tener una copia de seguridad y, considerando que no puedo ejecutar la aplicación (para restaurar la copia de seguridad), ¿qué puedo hacer? ¿No veo otra alternativa que eliminar Docker y empezar de nuevo?
El único tema que pude encontrar con un problema similar fue Unable to login into discourse suddenly - #8 by Tarek_Khalil, y el consejo fue restaurar una copia de seguridad de antes del error de migración, lo que puede no ser la mejor opción en tu caso, ya que fue hace algún tiempo.
Me temo que los errores de base de datos están fuera de mi área de especialización. @pfaffman y @RGJ normalmente son muy buenos en esto (aunque no sé si es algo que hayan encontrado antes). ¿Tienen algún truco bajo la manga para esto?
Me respondo. Después de vaciar 7 tablas (discourse_reactions_reactions, directory_columns, external_upload_stubs, associated_groups, user_associated_groups, group_associated_groups, discourse_reactions_reaction_users) el sitio funciona. ¡También restauré la última copia de seguridad!
¡Gracias a todos por vuestra ayuda! Que tengáis un buen fin de semana