Запуск Discourse в виде сервиса Docker Swarm

Это выходит за рамки поддержки, которую можно здесь ожидать. Слишком много мелких деталей могут пойти не так, поэтому поддерживается только стандартная установка. Вот несколько подсказок. Если вы застряли и у вас есть бюджет, вы можете связаться со мной или спросить в Marketplace.

Вы не можете использовать базовый образ. Вам нужно создать свой собственный и выгрузить его в репозиторий. Если вы сообразительны и у вас много времени, вы можете заставить GitHub сделать это за вас.

Вам нужно разместить свои ресурсы на S3 (Настройка провайдера объектного хранилища, совместимого с S3, для загрузки файлов).

Вы пытаетесь записать всё в одни и те же файлы журнала? Я бы просто оставил их в контейнере и игнорировал.

Не думаю, что вам нужны порты 8080 и 8443 — Traefik же это обрабатывает, верно? Discourse не будет работать на нестандартном порту.

Что-то вроде:

./launcher bootstrap app
docker push-that-container-to-your-private-repo
./launcher start-cmd

Затем вы можете использовать переменные в start-cmd для запуска своего кластера с нужными настройками, чтобы он мог найти вашу базу данных, Redis и так далее. Я вижу, что у вас их много, но не уверен, что этого достаточно.