登録情報および最終IPの不一致・欠落

外部リバースプロキシが鍵だと思います。Docker コンテナ内だけでは、この問題は全く解決できないか、少なくとも容易には解決できないでしょう。

私は現在、Discourse の Docker を Unix ソケットでリッスンさせ、同じマシン上の Docker 外で Caddy を前面に配置することで解決しました。Caddy の設定は非常に簡単で、Let’s Encrypt も含まれており、IPv6 でも期待通りに動作するようになりました。

forum.example.com {
  proxy / unix:/var/discourse/shared/web-only/nginx.http.sock {
    transparent
    websocket
  }
}