Шаги для понижения с 2 ГБ до 1 ГБ на DO?

Когда я изначально настраивал установку, я полагал, что мне нужен сервер с 2 ГБ оперативной памяти. Как я выяснил из последующего чтения, это не так. Какие шаги необходимы для понижения тарифа в Digital Ocean?

Я надеюсь, что мне достаточно просто выбрать новый тарифный план, а затем пересобрать Discourse…

Привет, Брэндон :slight_smile:

1 ГБ — это абсолютный минимум. Не уверен, какая разница будет между 1 и 2 ГБ для небольшого сообщества. Лично я предпочитаю быть осторожным и не придерживаться строгого минимума.

По поводу понижения конфигурации сервера советую обратиться напрямую в DigitalOcean.

При сборке Discourse он настраивает некоторые параметры в зависимости от характеристик сервера в файле app.yml.
Обычно это выглядит так:

  ## Сколько одновременных веб-запросов поддерживается? Зависит от памяти и количества ядер CPU.
  ## Значение устанавливается автоматически во время начальной загрузки на основе обнаруженных ядер CPU, но вы можете переопределить его вручную.
  UNICORN_WORKERS: 4

Не знаю, меняется ли это значение автоматически при пересборке или требуется что-то делать вручную.

В любом случае, развертывание нового Droplet и повторная установка Discourse — процесс настолько простой и быстрый, что не должен вызвать проблем. Просто сохраните копию вашего app.yml в надежном месте, чтобы при повторной установке легко получить важную информацию (данные о провайдере почты, список плагинов и т. д.).

  1. Создайте новый VPS
  2. Создайте файл резервной копии с существующего сайта и загрузите его на локальный компьютер.
  3. Скопируйте содержимое файла app.yml со старого сервера в локальный файл или в блокнот.
  4. Укажите домен на новый IP-адрес VPS или переключите на общедоступный IP, который у вас уже был у вашего провайдера VPS, если такая функция доступна.
  5. Убедитесь, что Docker установлен на вашем новом VPS (следуйте их руководству по установке при необходимости).
  6. Следуйте стандартным инструкциям по установке до точки, но не включая скрипт настройки Discourse.
  7. Создайте файл app.yml в директории containers (touch app.yml) и вставьте в него содержимое со старого VPS, используя, например, nano.
  8. Выполните ./launcher app rebuild на новом сервере.
  9. Используйте rake admin:create из директории Discourse, чтобы создать учетную запись администратора.
  10. Войдите в систему, установите параметр «Разрешить восстановление» в значение true в настройках, загрузите созданную ранее резервную копию и восстановите данные.
  11. Проверьте, что всё работает корректно.
  12. Удалите старый VPS через некоторое время.

Готово.

Стоит отметить, что если размер локального хранилища остаётся неизменным, можно без проблем изменить размер droplet для увеличения или уменьшения объёма оперативной памяти. Однако размер хранилища нельзя уменьшить, поэтому переход на droplet с меньшим объёмом хранилища потребует создания резервной копии и её восстановления.

В любом случае, перед любой миграцией я рекомендую сделать резервную копию и скачать её.

В случае с DO я неоднократно увеличивал и уменьшал объём оперативной памяти, и, думаю, то же самое делал и с Hetzner. Локальное хранилище и IP-адрес остаются прежними, простой составляет всего несколько минут.

Хорошая информация, всем.

По сути, похоже, что мне нужно создать новый сервер, другого простого пути нет. Затем мне придется внимательно изучить и сравнить мой файл app.yml, а затем загрузить файл резервной копии. В конце концов, нужно будет перенастроить IP-адреса.

После прочтения ваших ответов я нашел еще несколько полезных советов, так как мне придется идти этим путем.

Спасибо, ваш чек-лист был очень полезен!

Возможно, стоит добавить шаг между #8 и #9: ./launcher enter app