# Следовал руководству GitHub для VPS. Помогите применить лимиты RAM/vCPU

**URL:** https://meta.discourse.org/t/followed-github-guide-vps-help-me-apply-ram-vcpu-limits/382578
**Category:** Self-hosting
**Tags:** server-resources
**Created:** [14.Сентябрь.2025 10:16:35 UTC](https://meta.discourse.org/t/followed-github-guide-vps-help-me-apply-ram-vcpu-limits/382578 "2025-09-14T10:16:35Z")
**Posts on this page:** 1
**Showing post:** 2

<div class="post-metadata">

### Author: ![thoka](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/thoka/32/115652_2.png) [@thoka](https://meta.discourse.org/u/thoka)
#### Post date: [21.Сентябрь.2025 07:34:48 UTC](https://meta.discourse.org/t/followed-github-guide-vps-help-me-apply-ram-vcpu-limits/382578/2 "2025-09-21T07:34:48Z")

</div>

Это ответ, предоставленный [ask.discourse.org](http://ask.discourse.org). Пожалуйста, оцените его полезность.

* * *

### 1. Установка постоянных ограничений на CPU и RAM для Docker Discourse

При установке Discourse на VPS через [официальное руководство GitHub](https://github.com/discourse/discourse/blob/main/docs/INSTALL-cloud.md) ограничения ресурсов, такие как `--memory` и `--cpus`, по умолчанию **не включаются**. Хотя вы можете вручную добавить такие флаги в команду запуска Docker, любые изменения, сделанные напрямую через `docker stop` и новый `docker run`, будут утеряны после выполнения `./launcher rebuild app`. Скрипт запуска всегда воссоздает контейнер.

**Рекомендуемые подходы:**

**a) Изменение скрипта запуска**  
Чтобы постоянно применять ограничения ресурсов, необходимо изменить скрипт `launcher`, который Discourse использует для запуска контейнеров Docker. Например, примерно на строке 289 адаптируйте:

```bash
$docker_path run $restart_policy "${env[@]}" -h "`hostname`-$config" \
    -m="4g" --cpus="2.0" -e DOCKER_HOST_IP=$docker_ip ...

```

Это гарантирует, что каждый запуск `./launcher rebuild` создаст контейнер с вашими ограничениями.

Источник и дополнительная информация:

- [Ограничение использования памяти Discourse на выделенном сервере](https://meta.discourse.org/t/limiting-discourse-memory-usage-on-a-dedicaded-box/19378)
- [Параметры для VPS с ограниченными ресурсами?](https://meta.discourse.org/t/switches-for-resource-constrained-vps/383216/)

**b) Прямое редактирование команды Docker**  
Хотя технически возможно запустить Docker с пользовательскими ограничениями, скопировав вашу обновлённую команду `docker run`, это не является постоянным решением и **не рекомендуется**.

На данный момент нет официального постоянного «встроенного» способа передачи аргументов Docker `--memory` или `--cpus` для стандартных инструментов развёртывания Discourse, кроме изменения скрипта запуска.

* * *

### 2. Имя контейнера

По умолчанию скрипт запуска Discourse называет контейнер `app`. Вы можете убедиться в этом с помощью команды `docker ps`. Изменение имени контейнера также потребует прямого изменения скрипта запуска или шаблонов.  
Подробнее: [Discourse в контейнере Docker](https://meta.discourse.org/t/discourse-in-a-docker-container/10844)

* * *

### Полезные ссылки

- [Ограничение использования памяти Discourse на выделенном сервере](https://meta.discourse.org/t/limiting-discourse-memory-usage-on-a-dedicaded-box/19378)
- [Настройка Docker Discourse на серверах с большим объёмом RAM и CPU](https://meta.discourse.org/t/configure-discourse-docker-on-servers-with-more-ram-and-cpu/18569)

* * *

Если вы ищете более элегантный и постоянный способ (например, через шаблон или поддерживаемую функцию запуска), ознакомьтесь с этой темой:  
[Параметры для VPS с ограниченными ресурсами?](https://meta.discourse.org/t/switches-for-resource-constrained-vps/383216/)

---

_[View the full topic](https://meta.discourse.org/t/followed-github-guide-vps-help-me-apply-ram-vcpu-limits/382578)._
