Измените сервер на двухконтейнерную конфигурацию

Здравствуйте,
У меня два вопроса:

  • Какое доменное имя следует использовать при настройке тестового сервера на локальном сервере?
  • Возможно ли установить тестовый сервер в режиме с двумя контейнерами и автоматически восстановить данные из S3?
    Спасибо

Да.

Какое доменное имя у тестового сервера? Я не понимаю вопроса. Локальный (разработоческий) сервер работает на localhost и не имеет домена.

Давайте объясним подробнее.

Я хочу мигрировать свой форум в одном контейнере на новый сервер с большим объёмом оперативной памяти, диска и процессора, перейдя на установку из двух контейнеров для ускорения обновлений.

При чистой установке на новом сервере я получил ошибку, указывающую на текущий домен моего форума.
Возможно, я ошибся, выполняя это: discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub

Самый простой способ — запустить discourse-setup с переключателем --two-container и восстановить там вашу резервную копию.

Какая именно ошибка? Когда это произошло?

Думаю, я упустил настройку DNS.

Я запутался: какой домен использовать для установки тестового сервера?
Тестовый сервер не будет публичным, поэтому я подумал использовать домен моего сайта без изменения DNS.
Я ошибся.

Есть какие-нибудь предложения?

Как указано в сообщении об ошибке, вам нужно использовать домен, который указывает на ваш сервер. Неважно, какой именно это домен, главное, чтобы он был публичным и работал.

Проблема с DNS решена.

Я бы хотел отключить HTTPS для тестового сервера.

Нет, вы этого не сделаете. Discourse не работает без HTTPS, и даже если бы это было возможно, ваш тестовый сайт тогда отличался бы от продакшн-версии, поэтому это было бы не очень хорошим тестом.

Я не совсем уверен, что речь шла о тестовом сервере на данном этапе, потому что

Тогда тестовый сервер будет сильно отличаться от продакшн-версии.

Что ж, если это так, то это должно быть в другой теме.

@Saiano, вы пытаетесь настроить один сервер, который вы переходите на конфигурацию с двумя контейнерами, или вы хотите то, о чём говорится в исходном сообщении, и иметь второй сервер для тестирования обновлений перед их развёртыванием на производственном сервере?

У меня один сервер с установкой в одном контейнере.
Мне нужно сменить хостинг и тестировать обновления / новые функции перед выпуском на продакшн.
Поэтому я решил:

создать локальный экземпляр с двумя контейнерами.
Протестировать миграцию. (Онлайн-сервер —> локальный стейджинг)

Затем я куплю новый сервер.
Мигрирую свой Discourse на новый хостинг.
И сохраню локальный стейджинг-сервер для тестирования.

Извините, если задал слишком много вопросов.

Проблема в том, что локальный сервер будет совершенно другой установкой для разработки, отличающейся от продакшн-развертывания.

Рекомендую начать с шага «купить новый сервер» или сделать ваш «локальный сервер» виртуальной машиной (VM) с минимум 2 ГБ ОЗУ. Вы можете следовать руководству Перенос сайта Discourse на другой VPS с помощью rsync, внеся некоторые изменения, чтобы настроить новый сервер с сертификатом от существующего сервера, а затем внести локальные изменения в DNS, чтобы перенаправить трафик на него.

ИЛИ вы можете просто настроить тестовый сервер на новом временном тестовом поддомене и пропустить сложные настройки DNS. Если вы сделаете это так и настроите общее использование конфигурации резервного копирования S3 в файлах yml, то сможете восстановить базу данных с существующего сайта на новый напрямую из бакета S3.

Я попробую так. У меня уже есть резервные копии в S3. Может быть, я использую test.mydomain.com, затем восстановлю и изменю доменное имя на оригинальное?

Будет проще изменить новое доменное имя сервера, а затем восстановить резервную копию. Это решит все вопросы с маппингом хостов.

Я попробовал это сделать, но у меня возникли проблемы с изменением доменного имени. Сайт стал недоступен.

Если вы несколько раз пытались получить сертификат, например, пересобирая конфигурацию, когда DNS был настроен неправильно, возможно, вы достигли лимита запросов. В этом случае вы можете подождать неделю или добавить ещё одно имя хоста, например:

Настройка Let’s Encrypt с несколькими доменами / перенаправлениями

Я перенёс папку letsencrypt со старого сайта на новый, и всё работает.