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

Как быстро это работает! Я действительно увлёкся 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