Я задавался вопросом, есть ли способ избежать влияния на все остальные существующие сайты при выполнении полной инициализации (bootstrap) или пересборки (rebuild) и как-то просто добавить необходимую дополнительную базу данных?
Сначала я попробовал ./launcher rebuild multisite, но это, похоже, не сработало ↩︎
Мне не хватало этой команды для перезапуска (я также пробовал sv reload unicorn, но этого почему-то было недостаточно).
Что касается создания базы данных, есть ли уже способ делать это автоматически? Было бы здорово иметь rake db:create[mynewdbname]. В противном случае я могу написать небольшой shell-скрипт.
В данный момент я создаю всё вручную (создаю БД и устанавливаю права доступа), а затем выполняю RAILS_DB=newdb rake db:migrate, чтобы заполнить её данными.
Просто хочу убедиться, что я не делаю ничего глупого:
В данный момент я редактирую файл multisite внутри Docker (/var/www/discourse/config/multisite.yml)
Создаю базу данных вручную
Запускаю rake db:migrate
Выполняю sv restart unicorn
Затем мне также приходится редактировать YAML-файл вне Docker, чтобы конфигурация multisite оставалась синхронизированной на случай будущих пересборок или обновлений.
Неужели я поступаю глупо, редактируя конфигурацию multisite в двух разных местах, когда уже есть способ внести изменения в одном месте и применить их?
Возможно ли немного привести эту документацию в порядок и добавить туда больше указаний? Во-первых, я крайне новичок в Docker, хотя и имею опыт работы с Linux-серверами, но не на уровне эксперта. Я человек старой школы, люблю cron-задачи, shell-скрипты и всякие подобные вещи, такие как мультисайты на Apache. Но здесь всё немного сложнее, и используется язык программирования, к которому я не привык. Возможно, стоит добавить демонстрационное видео? Было бы здорово, если бы Discourse сразу поддерживал мультисайты, и тогда вам нужно было бы лишь отредактировать несколько файлов и так далее.
Да, укажите все домены на один и тот же IP-адрес сервера.
Настройте обратный прокси-сервер с использованием Nginx или Caddy. Caddy — лучший вариант, так как он предоставляет бесплатные автоматические SSL-сертификаты для всех ваших доменов.