El servicio no se inicia ni siquiera con ./launcher start app
Estoy recibiendo un error relacionado con la dirección MAC y no hay ninguna dirección MAC en la línea de comandos:
# ./launcher start app
Se detecta la arquitectura x86_64.
+ /data/docker-discourse/docker run --shm-size=512m -d --restart=always -h myhost-app -e DOCKER_HOST_IP=172.17.0.1 --name app -t --mac-address local_discourse/app /sbin/boot
docker: local_discourse/app no es una dirección MAC válida.
Consulta 'docker run --help'.
Claro, he copiado a continuación el contenido de containers/app.yml después de reemplazar información confidencial por xxxxx.
## 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 EXTREMADAMENTE SENSIBLES A ERRORES EN ESPACIOS EN BLANCO O ALINEACIÓN!
## visite 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"
## 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
expose:
- "127.0.0.1:8009:80" # http
# - "443:443" # https
params:
db_default_text_search_config: "pg_catalog.english"
## Establezca db_shared_buffers en un máximo del 25% de la memoria total.
## será establecido automáticamente por bootstrap según la RAM detectada, o puede anularlo
db_shared_buffers: "4096MB"
## 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
env:
LANG: en_US.UTF-8
# DISCOURSE_DEFAULT_LOCALE: en
## ¿Cuántas solicitudes web concurrentes se admiten? Depende de la memoria y los núcleos de CPU.
## será establecido 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: discourse.xxxxxxxxx.xxx
## Descomente si desea que el contenedor se inicie con el mismo
## nombre de host (-h option) que se especifica arriba (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: 'contact@xxxxxxxxx.xxx'
## 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 obligatorios
# ADVERTENCIA: el carácter '#' en la contraseña SMTP puede causar problemas.
DISCOURSE_SMTP_ADDRESS: mail.xxxxxxxxx.xxx
DISCOURSE_SMTP_PORT: 587
DISCOURSE_SMTP_USER_NAME: contact@xxxxxxxxx.xxx
DISCOURSE_SMTP_PASSWORD: "xxxxxxxxxxxx"
#DISCOURSE_SMTP_ENABLE_START_TLS: true # (opcional, predeterminado true)
## Si agregó la plantilla Lets Encrypt, descomente a continuación para obtener un certificado SSL gratuito
#LETSENCRYPT_ACCOUNT_EMAIL: me@example.com
## 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
## El contenedor Docker no tiene estado; todos los datos se almacenan en /shared
volumes:
- volume:
host: /data/hosting/data-discourse
guest: /shared
- volume:
host: /data/hosting/data-discourse/log/var-log
guest: /var/log
## Los plugins van aquí
## consulte 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
## Cualquier comando personalizado para ejecutar después de la compilación
run:
- 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"
¿Estás ejecutando un proxy inverso adicional en el host? En ese caso, es posible que prefieras escuchar en un socket Unix agregando un web.socketed.template.yml en la lista de plantillas en la parte superior.
He cambiado la exposición y la reconstrucción, pero sigue siendo el mismo problema.
Estoy ejecutando Haproxy como un proxy inverso para manejar la conexión HTTPS a Discourse. Ha estado funcionando tal cual durante más de 2 años con varias actualizaciones.