Установка Discourse с помощью Portainer

Не хочу выглядеть некомпетентно, но где находится эта утилита запуска? Я искал в пути /discourse в образе Docker, который загрузил, но не нашёл никаких скриптов… возможно, я смотрю не туда? Вероятно, просто запущу стандартный контейнер Ubuntu и настрою всё сам для теста, как при обычной установке?

Нашёл такие инструкции:

Рекомендуемый способ получения образа 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