Как получить пароль из базы данных?

Привет! При установке Discourse (Docker) я не вижу пароль, установленный для моей базы данных. Он мне нужен, потому что я хочу подключиться к базе данных удалённо, и я предполагаю, что Discourse устанавливает один и тот же пароль для всех образов Docker.

Привет, moschino :wave:,

Я не очень разбираюсь в технических деталях, но, насколько я знаю, находясь внутри контейнера, можно подключиться к базе данных, используя имя пользователя discourse без пароля.

Дайте знать, если это поможет:

./launcher enter app
su - discourse
psql

Зачем вы хотите это сделать? Обычно для этих целей лучше использовать Data Explorer.

По умолчанию база данных не привязана к порту.

Если вы действительно хотите сделать базу данных доступной извне, переустановите систему с использованием двух контейнеров (discourse-setup --two-container). Проще всего это сделать на новом сервере, но существуют темы с инструкциями о том, как перейти на такую конфигурацию.

Это почти наверняка плохая идея. Используйте Data Explorer или API.

Смотрите: Run Data Explorer queries with the Discourse API

Итак, какой должен быть правильный контент в config/database.yml? Пожалуйста, не могли бы вы привести пример для продакшена?

Я не вижу там указанной базы данных, и Ruby не выполняет некоторые задачи (например, export override_translations). Я подозреваю, что в моей установке что-то сломано.

В config/database.yml я сейчас вижу только базы данных для dev и test, а мне нужно настроить её под текущую рабочую схему базы данных :slight_smile:

Я могу читать базу данных production через psql в контейнеризированном экземпляре Discourse.

Как вы установили Discourse?

Какую проблему вы пытаетесь решить?

Какие есть доказательства того, что что-то не так?

Возможно, стоит посмотреть, что сделает

rake db:migrate

?

Имя базы данных указано в переменной окружения.

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

Я пытался поэкспериментировать с LANG и DISCOURSE_DEFAULT_LOCALE, но этого должно быть недостаточно.

В данный момент у меня установлено LANG = en_US.UTF-8 и DISCOURSE_DEFAULT_LOCALE = es (и это позволяет мне исправить проблему с trust_level в пользовательском локе как обходное решение).

Похоже, это не стандартная установка.

Да, но я, кажется, перепутал окружение разработки с продакшеном или что-то в этом роде.

Возможно, у меня проблемы с эмодзи в пользовательских строках локализации. Я проверю это.