Я запускаю контейнер Discourse с использованием образа Bitnami. Проблема, с которой я сталкиваюсь, заключается в том, что во всех шаблонах для переменной %{base_url} используется example.com, и я, кажется, не могу это изменить.
Я создал тикет в службу поддержки Bitnami, но, несмотря на поиски, нигде в интернете не могу найти информацию о переменной base_url.
Может кто-нибудь помочь мне разобраться в этом? Я очень запутался с этой переменной.
Мы не поддерживаем установку с использованием образов Bitnami. Если вы хотите получить поддержку, мы рекомендуем установить Discourse в соответствии с инструкциями по стандартной установке.
Я понимаю, но это относится к базе, а не к моему вопросу: откуда берется %{base_url} или где он находится? Я даже не могу найти это в документации или на форуме Discourse.
Похоже, при установке что-то пошло не так, если здесь не подставляется правильный домен.
Как уже упоминалось, вам может быть проще следовать стандартной процедуре установки и восстановить резервную копию, если вам всё ещё не удалось выяснить, что именно пошло не так.
Я понимаю, но изменение после первого запуска не помогает. Поэтому я задаюсь вопросом, нужно ли это делать с самого первого запуска, так как мне важно знать, устанавливается ли этот хост (имя) статично или нет.
Переменная force_hostname объявлена в шаблоне настроек сайта здесь:
Поскольку она скрыта, её нельзя изменить в настройках администратора. Как и другие настройки сайта, я предполагаю, что она хранится в базе данных. Я поискал в дамп базы данных нашего экземпляра, и force_hostname не установлен и даже не объявлен. В нашем YAML-файле для официального контейнера Discourse указано значение DISCOURSE_HOSTNAME, но, вероятно, это глобальная настройка, а не настройка сайта, поэтому она, видимо, применяется иначе.
current_hostname, похоже, получается из текущего подключения, то есть динамически. Но я не вижу, где именно он определяется, вероятно, это внешний модуль или gem:
Я не уверен, что делает контейнер Bitnami с настройкой DISCOURSE_HOST, поэтому, по крайней мере, вы можете поискать в своей базе данных force_hostname, пока мы не выясним больше о том, как DISCOURSE_HOSTNAME из официального контейнера хранится и применяется.
Спасибо за вашу поддержку на данный момент! Я, сравнивая с вашими выводами, тоже подумывал о настройке моей установки как единого мультисайта. Это, возможно, могло бы помочь, но, конечно, дело в том, чтобы разобраться в ситуации, и у меня сложилось ощущение, что Bitnami не вносит никаких изменений в сам Discourse; так почему же возникает эта проблема.
Хорошо, сейчас я не понимаю, как оба варианта контейнера Discourse внутренне применяют имя хоста на основе YAML-файла контейнера.
Не включает ли сборка контейнера Bitnami другой веб-сервер, а вместо этого напрямую открывает веб-порт Discourse? В официальном контейнере перед Discourse стоит ещё один Nginx, от которого я, если возможно, хотел бы избавиться, так как у нас уже есть внешний веб-сервер Apache вне контейнера.