Я делаю что-то подобное: для каждого сайта использую отдельный контейнер только для веб-сервиса и traefik (хотя у меня также есть настройка с nginx-proxy) в качестве обратного прокси. Я какое-то время пробовал HAproxy (насколько мне известно, именно его использует CDCK), но счел его неудобным.
Я почти уверен, что для каждого сервера Discourse нужен свой отдельный Redis.