FALLO AL INICIAR en la configuración

Este error en la configuración de Discourse:

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && gem update bundler failed with return #<Process::Status: pid 297 exit 1>
Location of failure: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"web", "cmd"=>["gem update bundler", "find $home ! -user discourse -exec chown discourse {} \\+"]}
d85fae83cd3f933238f0e21e6e562469400baf63643d9c6dcd138c739dfa0830
** FAILED TO BOOTSTRAP ** 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.

Probé algunas soluciones, pero no funcionaron.

1 me gusta

¿Has probado el doctor de Discourse?

1 me gusta
./discourse-doctor
FALLÓ
--------------------
Pups::ExecError: cd /var/www/discourse && gem update bundler falló con el retorno #<Process::Status: pid 298 exit 1>
Ubicación del fallo: /pups/lib/pups/exec_command.rb:112:in `spawn'
La ejecución falló con los parámetros {"cd"=>"$home", "hook"=>"web", "cmd"=>["gem update bundler", "find $home ! -user discourse -exec chown discourse {} \\+"]}
00e8acc18f87b395d0b4f8de4d859dad8c8824b148243fa8f0c6085e5b0982a4
** FALLO EN EL INICIO ** por favor, desplace hacia arriba y busque mensajes de error anteriores; puede haber más de uno.
./discourse-doctor puede ayudar a diagnosticar el problema.
==================== FIN DEL REGISTRO DE RECONSTRUCCIÓN ====================
No se pudo reconstruir la aplicación.

Verificando tu nombre de dominio . . .

La conexión a sosyal.dursuncanpoyraz.com.tr fue exitosa.
Probablemente debas eliminar cualquier plugin no estándar y reconstruir.
Intentando reiniciar el contenedor existente . . . 

+ /usr/bin/docker run --shm-size=512m -d --restart=always -e LANG=en_US.UTF-8 -e RAILS_ENV=production -e UNICORN_WORKERS=4 -e UNICORN_SIDEKIQS=1 -e RUBY_GLOBAL_METHOD_CACHE_SIZE=131072 -e RUBY_GC_HEAP_GROWTH_MAX_SLOTS=40000 -e RUBY_GC_HEAP_INIT_SLOTS=400000 -e RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR=1.5 -e DISCOURSE_DB_SOCKET=/var/run/postgresql -e DISCOURSE_DB_HOST= -e DISCOURSE_DB_PORT= -e LETSENCRYPT_DIR=/shared/letsencrypt -e DISCOURSE_DEFAULT_LOCALE=en -e DISCOURSE_HOSTNAME=sosyal.dursuncanpoyraz.com.tr -e DISCOURSE_DEVELOPER_EMAILS=poyrazdursuncan@gmail.com -e DISCOURSE_SMTP_ADDRESS=smtp.gmail.com -e DISCOURSE_SMTP_PORT=587 -e DISCOURSE_SMTP_USER_NAME=poyrazdursuncan@gmail.com -e 'DISCOURSE_SMTP_PASSWORD=Poyraz!19681973' -e DISCOURSE_SMTP_ENABLE_START_TLS=true -e LETSENCRYPT_ACCOUNT_EMAIL= -h localhost-app -e DOCKER_HOST_IP=172.17.0.1 --name app -t -p 80:80 -p 443:443 -v /var/discourse/shared/standalone:/shared -v /var/discourse/shared/standalone/log/var-log:/var/log --mac-address 02:78:00:1c:c3:10 local_discourse/app /sbin/boot
No se pudo encontrar la imagen 'local_discourse/app:latest' localmente
docker: Error de respuesta del daemon: acceso de extracción denegado para local_discourse/app, el repositorio no existe o puede requerir 'docker login': denegado: se solicitó acceso al recurso y fue denegado.
Consulte 'docker run --help'.
No se pudo reiniciar el contenedor.


==================== PLUGINS ====================
          - git clone https://github.com/discourse/docker_manager.git

No se detectaron plugins no oficiales.

Consulte https://github.com/discourse/discourse/blob/master/lib/plugin/metadata.rb para obtener la lista oficial.

========================================
1 me gusta

Por favor, incluye unas cuantas líneas más arriba del mensaje FAILED. Asumo que se trata de una instalación nueva, ¿verdad? Si no es así, ¿hiciste algún cambio en el archivo app.yml?

1 me gusta

Parece que Docker no puede extraer la imagen base. Creo que he visto esto ocurrir cuando antes había iniciado sesión en Docker Hub pero la sesión expiró. ¿O has alcanzado los límites de velocidad?

2 Me gusta

¿Podría ser el problema una regla de seguridad en el servidor virtual? El primer día que accedí al servidor virtual, me dio el mismo error.

Edición:
No conozco Docker. Empecé a aprenderlo ayer. Ayer descargué como máximo 20 imágenes.

1 me gusta

¿No hay solución? ¿Hay alguien que pueda ayudar?

Puedes intentar iniciar una nueva máquina virtual y/o ejecutar un programa trivial de Docker. Tienen algo tipo ‘hello world’. Puedes verificar si Docker funciona en absoluto.

1 me gusta

Docker funciona. Instalé TeamSpeak3 con Docker. Incluso instalé nginx y probé el puerto 80. Pero aparece un error al ejecutar el comando de Discourse.

Comencé la configuración desde cero.

root@localhost:~# su -
root@localhost:~# git clone https://github.com/discourse/discourse_docker.git /var/discourse
Clonando en '/var/discourse'...
remoto: Enumerando objetos: 5025, hecho.
remoto: Total 5025 (delta 0), reutilizado 0 (delta 0), paquete reutilizado 5025
Recibiendo objetos: 100% (5025/5025), 1.10 MiB | 2.40 MiB/s, hecho.
Resolviendo deltas: 100% (3259/3259), hecho.
root@localhost:~# cd /var/discourse
root@localhost:/var/discourse# ./discourse-setup
Docker no está instalado. Presiona Enter para instalar desde https://get.docker.com/ o Ctrl+C para salir
  % Total    % Recibido % Transferido  Velocidad Promedio  Tiempo  Tiempo     Tiempo  Actual
                                 Descarga Subida   Total   Gasto    Queda   Actual
100 13857  100 13857    0     0   6805      0  0:00:02  0:00:02 --:--:--  6809
# Ejecutando script de instalación de docker, commit: 3d8fe77c2c46c5b7571f94b42793905e5b3e42e4
+ sh -c apt-get update -qq > /dev/null
+ sh -c DEBIAN_FRONTEND=noninteractive apt-get install -y -qq apt-transport-https ca-certificates curl > /dev/null
+ sh -c curl -fsSL "https://download.docker.com/linux/ubuntu/gpg" | apt-key add -qq - > /dev/null
Advertencia: la salida de apt-key no debe ser analizada (stdout no es una terminal)
+ sh -c echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable" > /etc/apt/sources.list.d/docker.list
+ sh -c apt-get update -qq > /dev/null
+ [ -n  ]
+ sh -c apt-get install -y -qq --no-install-recommends docker-ce > /dev/null
+ sh -c docker version
Cliente: Docker Engine - Community
 Versión:           20.10.2
 Versión API:       1.41
 Versión Go:        go1.13.15
 Commit de Git:        2291f61
 Construido:             Mon Dec 28 16:17:32 2020
 SO/Arq:           linux/amd64
 Contexto:           default
 Experimental:      true

Servidor: Docker Engine - Community
 Motor:
  Versión:          20.10.2
  Versión API:      1.41 (versión mínima 1.12)
  Versión Go:       go1.13.15
  Commit de Git:       8891c58
  Construido:            Mon Dec 28 16:15:09 2020
  SO/Arq:          linux/amd64
  Experimental:     false
 containerd:
  Versión:          1.4.3
  Commit de Git:        269548fa27e0089a8b8278fc4fc781d7f65a939b
 runc:
  Versión:          1.0.0-rc92
  Commit de Git:        ff819c7e9184c13b7c2607fe6c30ae19403a7aff
 docker-init:
  Versión:          0.19.0
  Commit de Git:        de40ad0
Si deseas usar Docker como usuario no root, ahora deberías considerar
agregar tu usuario al grupo "docker" con algo como:

  sudo usermod -aG docker tu-usuario

¡Recuerda que tendrás que cerrar sesión y volver a entrar para que esto surta efecto!

ADVERTENCIA: Agregar un usuario al grupo "docker" otorgará la capacidad de ejecutar
         contenedores que pueden usarse para obtener privilegios de root en el
         host de docker.
         Consulta https://docs.docker.com/engine/security/security/#docker-daemon-attack-surface
         para más información.
Parece que el puerto 80 ya está en uso.

Esto te mostrará qué comando está usando el puerto 80
COMANDO  PID     USUARIO   FD   TIPO DISPOSITIVO TAMAÑO/OFF NODO NOMBRE
nginx    958     root    8u  IPv4  20899      0t0  TCP *:http (ESCUCHANDO)
nginx    958     root    9u  IPv6  20901      0t0  TCP *:http (ESCUCHANDO)
nginx   3368 www-data    8u  IPv4  20899      0t0  TCP *:http (ESCUCHANDO)
nginx   3368 www-data    9u  IPv6  20901      0t0  TCP *:http (ESCUCHANDO)

Si estás intentando ejecutar Discourse simultáneamente con otro servidor web
como Apache o nginx, necesitarás vincularlo a un puerto diferente

Consulta https://meta.discourse.org/t/17247

Si estás reconfigurando un Discourse ya configurado, usa 

./launcher stop app

para detener Discourse antes de reconfigurarlo e intentarlo de nuevo.
root@localhost:/var/discourse# ./launcher stop app

ADVERTENCIA: Estamos a punto de comenzar a descargar la imagen base de Discourse
Este proceso puede tardar desde unos minutos hasta una hora, dependiendo de la velocidad de tu red

Por favor, ten paciencia

2.0.20201221-2020: Extrayendo desde discourse/base
6ec7b7d162b2: Extracción completa 
488a5181297e: Extrayendo [========================>                          ]  384.9MB/775.2MB
^C
root@localhost:/var/discourse# ./launcher stop app

ADVERTENCIA: Estamos a punto de comenzar a descargar la imagen base de Discourse
Este proceso puede tardar desde unos minutos hasta una hora, dependiendo de la velocidad de tu red

Por favor, ten paciencia

2.0.20201221-2020: Extrayendo desde discourse/base
6ec7b7d162b2: Extracción completa 
488a5181297e: Extracción completa 
Digest: sha256:e181dd9046cc293b10c5b29bbc21c5aa8b939ba5f0c500da4a9e952ed0b5195d
Estado: Imagen actualizada descargada para discourse/base:2.0.20201221-2020
docker.io/discourse/base:2.0.20201221-2020
No se encontró el archivo de configuración, asegúrate de que containers/app.yml exista

ls: no se puede acceder a '*.yml': No existe el archivo o el directorio
Configuraciones disponibles ( )

Como se muestra, no puedes usar la configuración de Discourse si algo se está ejecutando en el puerto 80 o 443.

2 Me gusta

Sí, funciona. ¿Cómo puedo cambiar el puerto de Nginx para Discourse? Tengo Ghost instalado en mi servidor. ¿Por qué no puedo usarlo en los puertos 80 y 443?