Пытаюсь установить Discourse на Docker, прежде чем поднимать сервер — просто тестирую софт?

Здравствуйте,

Я пытаюсь протестировать Docker-контейнер для программного обеспечения Discourse, так как мне сказали, что он поставляется в комплекте с PostgreSQL и все базы данных уже настроены и готовы к работе. Образ bitnami/discourse:latest из Docker… В терминале я вижу следующее:



1. [Containers](app://dd/dashboard/containers)
2. /
3. tester

### tester


[bitnami/discourse:latest](app://dd/dashboard/images/local/details?imageId=sha256%3Aad71ab26c224ab1d50f4f57ec5ddbc7a549ff331f3cf442860307358d59f79d5&nameHint=bitnami%2Fdiscourse%3Alatest&nameHintType=image-identity)

440:3000

**STATUS**

Exited (1) (0 seconds ago)

LogsInspectBind mountsExecFilesStats

2025-05-16 15:43:26

discourse 19:43:26.78 INFO ==>

2025-05-16 15:43:26

discourse 19:43:26.79 INFO ==> Добро пожаловать в контейнер Bitnami Discourse

2025-05-16 15:43:26

discourse 19:43:26.79 INFO ==> Подпишитесь на обновления проекта, наблюдая за [https://github.com/bitnami/containers⁠](https://github.com/bitnami/containers)

2025-05-16 15:43:26

discourse 19:43:26.79 INFO ==> Знали ли вы, что в каталоге Bitnami есть корпоративные версии? Для расширенных функций безопасной цепочки поставок программного обеспечения, неограниченных загрузок из Docker, долгосрочной поддержки (LTS) или кастомизации приложений см. Bitnami Premium или Tanzu Application Catalog. Подробнее см. на [https://www.arrow.com/globalecs/na/vendors/bitnami/⁠](https://www.arrow.com/globalecs/na/vendors/bitnami/).

2025-05-16 15:43:26

discourse 19:43:26.79 INFO ==>

2025-05-16 15:43:26

discourse 19:43:26.80 INFO ==> Проверка настроек в переменных окружения POSTGRESQL_CLIENT_*

2025-05-16 15:43:26

discourse 19:43:26.85 WARN ==> Имя хоста postgresql не удалось разрешить, это может привести к проблемам с подключением

2025-05-16 15:43:26

discourse 19:43:26.86 WARN ==> Имя хоста redis не удалось разрешить, это может привести к проблемам с подключением

2025-05-16 15:43:26

discourse 19:43:26.86 WARN ==> Переменная окружения DISCOURSE_DATABASE_PASSWORD пуста или не установлена. Установите переменную окружения ALLOW_EMPTY_PASSWORD=yes, чтобы разрешить пустой пароль. Это рекомендуется только для сред разработки.

2025-05-16 15:43:26

discourse 19:43:26.86 WARN ==> Переменная окружения DISCOURSE_REDIS_PASSWORD пуста или не установлена. Установите переменную окружения ALLOW_EMPTY_PASSWORD=yes, чтобы разрешить пустой пароль. Это рекомендуется только для сред разработки.

2025-05-16 15:43:26

discourse 19:43:26.86 INFO ==> Создание файла конфигурации Discourse

2025-05-16 15:43:26

discourse 19:43:26.90 INFO ==> Проверка существования директорий Discourse

2025-05-16 15:43:26

discourse 19:43:26.91 INFO ==> Попытка подключения к серверу базы данных

2025-05-16 15:44:27

discourse 19:44:27.12 ERROR ==> Не удалось подключиться к базе данных

Кто-нибудь знает, что делать? Я думал, что базы данных настраиваются при первом запуске? У кого-нибудь есть гайд в стиле GitBook или инструкция, которая поможет разобраться? Я знаю, что это стороннее решение и его обычно устанавливают напрямую на машину, так что будет ли это работать из Docker-контейнера или только на пустой ОС, например Debian?

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

Какой лучший способ использовать Docker?

Запустив его через терминал, я застрял на этом экране и не могу найти никаких скриптов Discourse, на самом деле вся папка пуста? В директории bin


alex@PollockFarm Scripts % docker run -ti --rm bitnami/discourse /bin/bash

discourse 19:43:37.88 INFO ==>

discourse 19:43:37.88 INFO ==> **Добро пожаловать в контейнер Bitnami Discourse**

discourse 19:43:37.88 INFO ==> Подпишитесь на обновления проекта, наблюдая за **https://github.com/bitnami/containers**

discourse 19:43:37.89 INFO ==> Знали ли вы, что в каталоге Bitnami есть корпоративные версии? Для расширенных функций безопасной цепочки поставок программного обеспечения, неограниченных загрузок из Docker, долгосрочной поддержки (LTS) или кастомизации приложений см. Bitnami Premium или Tanzu Application Catalog. Подробнее см. на https://www.arrow.com/globalecs/na/vendors/bitnami/.

discourse 19:43:37.89 INFO ==>

Спасибо,

Алекс

Мы не поддерживаем Bitnami здесь, используйте их форумы.

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

Ах, черт, спасибо за быстрый ответ, @merefield. Не могли бы вы предложить прямую ссылку на их форум или подсказать, как они сообщают об этих проблемах?

Так вот…

Лучший способ — просто запустить это на «голом» железе? Можно ли использовать Docker и базовую сборку Debian, установив все необходимые пакеты? Я использую это только для тестирования, поэтому нужно, чтобы всё можно было быстро удалить.

Я добавил ссылку в свой пост :slight_smile:

Как быстро это работает! Я действительно увлёкся Discourse.

Ещё раз спасибо! @merefield.

Редакция: нашёл пошаговые инструкции для образа Docker:

Рекомендуемый способ получения образа Docker Bitnami Discourse — загрузка готового образа из реестра Docker Hub.

docker pull bitnami/discourse:latest

Чтобы использовать конкретную версию, можно загрузить образ с тегом версии. Список доступных версий можно посмотреть в реестре Docker Hub.

docker pull bitnami/discourse:[TAG]

При желании вы также можете собрать образ самостоятельно, склонировав репозиторий, перейдя в директорию, содержащую Dockerfile, и выполнив команду docker build. Не забудьте заменить плейсхолдеры APP, VERSION и OPERATING-SYSTEM в примере команды ниже на соответствующие значения.

git clone https://github.com/bitnami/containers.git
cd bitnami/APP/VERSION/OPERATING-SYSTEM
docker build -t bitnami/APP:latest .

Как использовать этот образ

Для хранения данных Discourse требуется доступ к базе данных PostgreSQL. Для выполнения требований базы данных мы будем использовать образ Docker Bitnami для PostgreSQL.

Использование командной строки Docker

Шаг 1: Создание сети

docker network create discourse-network

Шаг 2: Создание тома для сохранения данных PostgreSQL и запуск контейнера PostgreSQL

$ docker volume create --name postgresql_data
docker run -d --name postgresql \
  --env ALLOW_EMPTY_PASSWORD=yes \
  --env POSTGRESQL_USERNAME=bn_discourse \
  --env POSTGRESQL_PASSWORD=bitnami123 \
  --env POSTGRESQL_DATABASE=bitnami_discourse \
  --network discourse-network \
  --volume postgresql_data:/bitnami/postgresql \
  bitnami/postgresql:latest

Шаг 3: Создание тома для сохранения данных Redis и запуск контейнера Redis

$ docker volume create --name redis_data
docker run -d --name redis \
  --env ALLOW_EMPTY_PASSWORD=yes \
  --network discourse-network \
  --volume redis_data:/bitnami/redis \
  bitnami/redis:latest

Шаг 4: Создание томов для сохранения данных Discourse и запуск контейнера

$ docker volume create --name discourse_data
docker run -d --name discourse \
  -p 8080:8080 -p 8443:8443 \
  --env ALLOW_EMPTY_PASSWORD=yes \
  --env DISCOURSE_DATABASE_USER=bn_discourse \
  --env DISCOURSE_DATABASE_PASSWORD=bitnami123 \
  --env DISCOURSE_DATABASE_NAME=bitnami_discourse \
  --env DISCOURSE_HOST=www.example.com \
  --network discourse-network \
  --volume discourse_data:/bitnami/discourse \
  bitnami/discourse:latest

Шаг 5: Запуск контейнера Sidekiq

docker run -d --name sidekiq \
  --network discourse-network \
  --volume discourse_data:/bitnami/discourse \
  bitnami/discourse:latest /opt/bitnami/scripts/discourse-sidekiq/run.sh

Доступ к вашему приложению по адресу http://ваш-ip/

Запуск приложения с помощью Docker Compose
curl -sSL https://raw.githubusercontent.com/bitnami/containers/main/bitnami/discourse/docker-compose.yml > docker-compose.yml
docker-compose up -d

Обратите внимание: этот файл не проходил внутреннее тестирование. Поэтому мы рекомендуем использовать его исключительно для целей разработки или тестирования. Для развёртываний в продакшене настоятельно рекомендуется использовать соответствующий Helm-чарт Bitnami.

Если вы обнаружите какие-либо проблемы в файле docker-compose.yaml, вы можете сообщить о них или внести исправления, следуя нашим правилам участия.

Устранение неполадок Discourse

Если вам нужно выполнить административные команды Discourse, такие как создание учётной записи администратора из консоли, вы можете сделать это, запустив оболочку внутри контейнера и выполнив команду с соответствующими переменными окружения.

cd /opt/bitnami/discourse
RAILS_ENV=production bundle exec rake admin:create

Добро пожаловать @alex.diker и добро пожаловать в Meta :slight_smile:

Рекомендуемый способ — следовать инструкциям по установке, удалить шаблоны для PostgreSQL и Redis, а также добавить настройки базы данных в переменные окружения.

Настройка с двумя контейнерами (которую можно получить, добавив переключатель в discourse-setup) — это простой способ разобраться с переменными окружения.

Преимущество перед Bitnami заключается в том, что здесь вы можете получить помощь, а также устанавливать плагины, следуя стандартным инструкциям.