Discourseで複数のサイトを管理するためにNginx Proxy Managerを使用する

複数のインスタンスをインストールするための簡単なハウツー:disguised_face:

今回は、クリーンなサーバーインストールから始め、後で古いインスタンスを復元したい場合があります。

ステップ 0: バックアップ!!!

バックアップをダウンロードします。後で必要になります。

ステップ 1: NGINX Proxy Manager

mkdir -p /opt/nginx-proxy-manager
cd /opt/nginx-proxy-manager
nano docker-compose.yml
version: '3'
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: always
    ports:
      - '80:80'    # http / reserved!
      - '81:81'    # web-admin port
      - '443:443'  # https / reserved!
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt

そして最後に: docker-compose up -d

(私のように、さらに怠惰な人のために、casaOS を使用してください(ポート ≠ 80/81/443 のいずれか)。安全なログイン認証情報と、セキュリティを強化するためのSSL証明書を備えた追加のプロキシホストを使用していることを確認してください。もしあなたが何をしているか分かっているなら、ファイアウォールルールを設定することさえできます。)

ステップ 2: UbuntuサーバーへのDockerインストール

sudo apt update && apt upgrade -y

sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

sudo apt update
sudo apt-get install docker-ce docker-ce-cli containerd.io

ステップ 3: Discourseインストールの準備

git clone https://github.com/discourse/discourse_docker.git /var/discourse

cp /var/discourse/samples/standalone.yml /var/discourse/containers/app1.yml
nano /var/discourse/containers/app1.yml

cp /var/discourse/samples/standalone.yml /var/discourse/containers/app2.yml
nano /var/discourse/containers/app2.yml

app.yml ファイルに必要な変更を加えます。これには、各インスタンスの異なる公開ポート(はい、メンテナンスにも使用できます)、メール設定などが含まれます。
例: app1 はポート 8080/1443 を取得し、app2 は http/https のポート 8081/2443 を取得します。

/var/discourse/launcher rebuild app1
/var/discourse/launcher rebuild app2

ステップ 4: 最後になりましたが、NGINX Proxy Managerの設定

NGINX Proxy Managerの使用に関する基本的な理解のために、これをご覧ください。

プロキシホストのエントリを各インスタンス(httpポート、例: 8080および8081、ローカルまたはパブリックIPを使用、これはあなたの決定です)にポイントするだけで、各インスタンスとドメインで無料のLet’s Encrypt証明書を取得できるようになります。SSLの強制などを有効にしていることを確認してください。

ステップ 5: 完了。コーヒーを一杯飲みましょう。

私の場合は完璧に動作します。

プリインストールされたソフトウェアの依存関係にいくつかのマイナーな問題があるかもしれませんが、解決策を見つけることができると確信しています。私のcasaOSのヒントを怒らないでください。しかし、サーバーで遊びたい人、利用可能なすべてのリソースを使いやすく安全な方法で使用したい人にとっては、このDocker管理は興味深いものになるでしょう。

ステップ 6: 最後に、以前のバックアップを復元します。

「いいね!」 1