Esta es una respuesta proporcionada por ask.discourse.org. Por favor, informe sobre su utilidad.
1. Establecer límites persistentes de CPU y RAM para Discourse Docker
Al instalar Discourse en un VPS a través de la guía oficial de GitHub, los límites de recursos como --memory y --cpus no se incluyen por defecto. Si bien puede agregar manualmente tales indicadores al comando docker run, cualquier cambio realizado directamente con docker stop y un nuevo docker run se perderá después de ejecutar ./launcher rebuild app. El script launcher siempre recrea el contenedor.
Enfoques recomendados:
a) Modificación del script launcher
Para aplicar de forma persistente los límites de recursos, debe modificar el script launcher que Discourse utiliza para iniciar los contenedores de Docker. Por ejemplo, alrededor de la línea 289, adapte:
$docker_path run $restart_policy "${env[@]}" -h "`hostname`-$config" \
-m="4g" --cpus="2.0" -e DOCKER_HOST_IP=$docker_ip ...
Esto asegura que cada ./launcher rebuild cree el contenedor con sus límites.
Fuente e información adicional:
- Limitar el uso de memoria de Discourse en un servidor dedicado
- ¿Interruptores para VPS con recursos limitados?
b) Edición directa del comando Docker
Si bien es técnicamente posible ejecutar Docker con límites personalizados copiando su comando docker run reconstruido, esto no es persistente y no se recomienda.
Aún no existe un método “incorporado” oficial y persistente para pasar los argumentos --memory o --cpus de Docker para las herramientas de implementación estándar de Discourse, a menos que se modifique el launcher.
2. Nombre del contenedor
Por defecto, el launcher de Discourse nombra al contenedor app. Puede confirmarlo con docker ps. Cambiar el nombre del contenedor también requeriría modificar directamente el launcher o las plantillas.
Más información: Discourse en un contenedor Docker
Enlaces útiles
- Limitar el uso de memoria de Discourse en un servidor dedicado
- Configurar Discourse Docker en servidores con más RAM y CPU
Si está buscando una forma más elegante y persistente (como una plantilla o una función compatible del launcher), consulte esta discusión relacionada:
¿Interruptores para VPS con recursos limitados?