Proxmox VMにDiscourse Forumをインストールし、インターネットに公開する最良の方法は何ですか

こんにちは、サーバー関連のことは初めてです。

Discourse を Proxmox の VM またはコンテナで起動する方法を教えてください。
または、インポート用の既設定イメージは存在しますか?

よろしくお願いいたします。

@pfaffman さんは、これを実行するための有料インストール手順を持っているかもしれません。その価値は完全にあります。

ありがとう、Alex!

まずやるべきことは、Discourse 公式の標準インストールを確認することですが、Proxmox が何であるかを見ると、答えは「彼らに聞いてください」になると思います。ただし、検索すれば、Trying to install Discourse in an Ubuntu VM on Proxmox が見つかります。

Proxmox VM上で動作していることが特別だとあなたが考えている理由がわかりません。VMにUbuntu 18をインストールし、ポート80と443をインターネットに公開してください。上記のDiscourseドキュメントに従ってください。どの部分でサポートが必要ですか?

サーバー関連は完全に初心者ですが、学習中です。
例えば今:-> 使用するハイパーバイザーに違いはありません。THX

ガイドには以下のように書かれています:
SSHアクセス(ローカルIPとPuTTYで可能)を持つ64ビットLinuxサーバーが必要であり、Dockerのサポートが必要です。
(つまり、インストールを開始する前にDockerはインストールされていない必要がありますか?)

VMであるべきですか、それともCTも可能でしょうか?
どちらをお勧めしますか?

どのLinuxディストリビューションをお勧めしますか?

残りの部分はガイドで明確だと思いますが、確認してみましょう。

インストールされていてもいなくても構いません。インストールされていない場合、インストールスクリプトが自動的にインストールします。

Docker が CT 内で正常に動作するかどうかは確信がありません。コンテナの中にコンテナを入れることになり、問題が発生する可能性があります。VM を使用することをお勧めします。

ガイドには以下のように記載されています:

デフォルトの 現在サポートされている Ubuntu Server の LTS リリース で問題なく動作します

Ubuntu に反対する理由がなければ、それを使用することをお勧めします(私自身の Discourse サイトでもそれを使用しています)。現在の LTS リリースは 20.04 です。以前の投稿で「Ubuntu 18」と記載したのは、私がそれを使用しているためです(まだ 3 年間サポートされるため、急いで変更する必要はありません)。ただし、新規インストールの場合は、おそらく現在のバージョンを使用する方が良いでしょう。

VM はその後、私のネットワーク内で IP アドレスを持つようになります。
Nginx リバースプロキシが、ルーターから VM の IP アドレス(ポート 80)に向けて Discourse のドメインを指し示しているのでしょうか?
どのような設定にするべきでしょうか?

この接続を機能させるために、インストール前に Let’s Encrypt の証明書を取得する必要があると考えていますが、正しいでしょうか?

おそらくその通りでしょう。また、Discourse インストール内の組み込み Let’s Encrypt を無効にする必要があります。それは可能だと知っていますが、私がそうする必要性を感じたことはほとんどありません。しかし、ここでの検索をすれば、その手順に関する情報がきっと見つかるはずです。

スクリプトを変更できるか確信が持てません(初心者には危険に聞こえます)。

インストールのために80番と443番ポートを直接VMに転送し、完了後に80番と443番ポートをRevManagerに戻すのはどうでしょうか?

あるいは80番ポートだけでしょうか?

また、この状況では特に、すでに証明書を持っている人が「単に」(初心者にはそれがどれほど複雑かはわかりませんが)質問「証明書を取得しますか?Y/N」をスクリプトで表示できるようにするのが良いアイデアだと思います。
どう思いますか?
完璧になりますか?

それを行う必要があります。Discourse-setup はあなたの環境では機能しません。あなたは明らかに難しい道を選んでいます。他の Web サーバーを使用したインストールに関するハウツーガイドは存在します。

まずはより簡単なインストールを試すことをお勧めします。

THX
スクリプトの変更方法を教えていただけますか?
私も試してみます。
こうしたことを学ばなければなりません。

この提案はいかがでしょうか?

あるいは、これが完璧でしょう!

これは動作し、スクリプトによるインストールが問題なく完了するはずです。ただし、その場合、Discourse のインストールは TLS 証明書の管理を自身で行うことを期待するようになります。80 と 443 の転送を VM から停止すると、Discourse はそれを実行できなくなります。必要なのは、Discourse に証明書の取得や TLS の処理を試みないように指示することです。私は(テストはしていませんが)、app.yml 内の web.ssl.template.ymlweb.letsencrypt.ssl.template.yml の行をコメントアウトすることでそれが可能だと考えています。Run other websites on the same machine as Discourse にも関連する情報があり、これに同意する内容が書かれています。

それをする実用的な理由はありません。あなたが過度に複雑化しているわけではない場合、新しい証明書を取得するのは簡単です。既存の証明書を持っているかどうかは実際には関係ありません。あなたの意図する設定における複雑化の要因は、すでに証明書を持っていることではなく、この構成では Discourse が自身の証明書を処理できないことです。

ありがとうございます、試してみます。
意味:
ルーターから VM の IP へポート 80 と 443 を転送する
その後、通常のスクリプトでインストール可能
インストール完了後にファイルを編集する?

その他の要件

Discourse のホスト名 [discourse.example.com]:
No-IP の NoIp.domain.com

管理者アカウントのメールアドレス [ me@example.com , you@example.com]:
1und1 (IONOS) のメールアドレスもここに使えますか?
me@MY.Domain.com
NoIp.domain.com と異なるもので

SMTP サーバーアドレス [smtp.example.com]: → IONOS 由来
SMTP ポート [587]: → IONOS 由来
SMTP ユーザー名 [user@example.com]: → メールアドレス
SMTP パスワード [pa$word]: → OK
Let’s Encrypt アカウントのメールアドレス (スキップするには ENTER) [me@example.com]: No-IP アカウントのメールアドレス ただしパスワードなしで

いいえ、インストールを実行する前にファイルを編集することを意味しています。前述の通り、discourse-setup スクリプトを使用することはできません。

ドメインに関係なく、任意のメールアドレスを使用できます。

このサーバーを公開フォーラムとして利用する予定がある場合は、大量メールの送信を許可しているか確認してください。

なぜパスワードが必要なのでしょうか?そのメールアドレスの唯一の目的は、Let’s Encrypt から証明書の期限切れについて通知を受けるためです(実際にはそんなことはまず起こりません)。しかし、あなたのコンテナはそもそも証明書を取得する必要はありません。

ありがとうございます
すべての情報を収集した後なら、スクリプトを使用できると思います
後ほど設定する構成のまとめを作成します

あなたの進捗を見るのを楽しみにしています。

このスクリプトで動作するはずです。
レンタル VPS の代わりに、ネットワーク内の VM を使用しています。

Domain.xx を Fritz!Domain の CNAME に設定
Fritz!Box でポート 80 と 443 を「IP Reverse Manager」の IP に転送
Reverse Manager で Domain.xx のポート 80 と 443 を「VM IP 2」の IP に転送

Domain.xx には証明書は設定していません。

VM IP 2 には fresh Ubuntu のみが入っています。
どのようにテストすればよいでしょうか?
ご意見をお聞かせください。