Centminmod + ディスコース

こんにちは。
Centminmod LEMPスタック (https://centminmod.com/) でDiscourseプラットフォームを試してみたいです。

Dockerのインストールには成功しました。

docker -v
Docker version 20.10.17, build 100c701

インストールのガイド (discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub) に従いましたが、いくつか小さな調整をしました。厳密にはクラウドサーバーではなく、私の管理インスタンスです。

/containers/app.yml も手動で編集する必要がありました。

これを実行した後、./launcher rebuild app でアプリを再構築する際にエラーは発生しませんでした。

しかし、Dockerインスタンスにも接続できません。仮想ホストのランディングページが表示されてしまいます。

Nginxの設定をDockerにリバースプロキシするには、何をする必要がありますか?あるいは、CentmindmodにDiscourseをインストールするためのガイドを書いた人はいますか?

よろしくお願いします!

アンディ

お探しのものに最も近いのは、おそらくこちらかと思います。Run other websites on the same machine as Discourse

「いいね!」 1

正常に動作する Discourse のインストールができました。

Docker のインストール - ここでは説明しません
Discourse のインストール -

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

/var/discource/containers の app.yaml を設定します。

app.yml を編集してポート 80+443 を削除します。

## このファイルを変更した後は、必ず再構築してください。
## /var/discourse/launcher rebuild app
##
## 編集には*十分に注意してください*!
## YAML ファイルは、空白やインデントのミスに非常に敏感です!
## 必要に応じて、http://www.yamllint.com/ でこのファイルを検証してください。

templates:
  - "templates/postgres.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  - "templates/web.socketed.template.yml"
  #- "templates/web.ratelimited.template.yml"

## このコンテナが公開する TCP/IP ポートは何ですか?
## Apache や Nginx のような他の Web サーバーとポートを共有したい場合は、
## 詳細については https://meta.discourse.org/t/17247 を参照してください。
expose:

  #- "25654:80"   # http
  #- "443:443" # https

params:
  db_default_text_search_config: "pg_catalog.english"

  ## db_shared_buffers を合計メモリの最大 25% に設定します。
  ## RAM を検出した結果に基づいてブートストラップによって自動的に設定されますが、オーバーライドすることもできます。
  db_shared_buffers: "128MB"

  ## ソートパフォーマンスを向上させる可能性がありますが、接続ごとにメモリ使用量が増加します。
  #db_work_mem: "40MB"

  ## このコンテナが使用する Git リビジョンは何ですか? (デフォルト: tests-passed)
  #version: tests-passed

env:
  LANG: en_US.UTF-8
  # DISCOURSE_DEFAULT_LOCALE: en

  ## 同時に処理できる Web リクエスト数はいくつですか?メモリと CPU コアに依存します。
  ## CPU を検出した結果に基づいてブートストラップによって自動的に設定されますが、オーバーライドすることもできます。
  UNICORN_WORKERS: 2

  ## TODO: この Discourse インスタンスが応答するドメイン名
  ## Nginx 設定の server_name に変換されるものと考えてください。
  DISCOURSE_HOSTNAME: 'your.site.com'

  ## 上記で指定されたホスト名 (-h オプション) と同じホスト名でコンテナを起動する場合にコメントを解除します (デフォルトは "$hostname-$config")。
  #DOCKER_USE_HOSTNAME: true

  ## TODO: 初期サインアップ時に管理者および開発者となるメールアドレスのカンマ区切りリスト
  ## 例: 'user1@example.com,user2@example.com'
  ## このメールアドレスは、Discourse インスタンスに初めてログインする際に使用します。
  DISCOURSE_DEVELOPER_EMAILS: 'email@your.com'

  ## TODO: 新規アカウントの検証および通知の送信に使用される SMTP メールサーバー
  DISCOURSE_SMTP_ADDRESS: smtp.your.com
  DISCOURSE_SMTP_PORT: 587
  DISCOURSE_SMTP_USER_NAME: email@your.com
  DISCOURSE_SMTP_PASSWORD: addpasswordhere  # 注意: パスワードに '#' 文字が含まれていると問題が発生する可能性があります!
  ## このようなパスワードの問題は、これが JSON オブジェクトであれば発生しません。

  ## この Discourse インスタンスの CDN アドレス (プル用に設定)
  ## 詳細については https://meta.discourse.org/t/14857 を参照してください。
  #DISCOURSE_CDN_URL: //discourse-cdn.example.com

## Docker コンテナはステートレスです。すべてのデータは /shared に保存されます。
volumes:
  - volume:
      host: /var/discourse/shared/standalone
      guest: /shared
  - volume:
      host: /var/discourse/shared/standalone/log/var-log
      guest: /var/log

## プラグインはここに配置します。
## 詳細については https://meta.discourse.org/t/19157 を参照してください。
hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/discourse/docker_manager.git

## ビルド後に実行するカスタムコマンド
run:
  - exec: echo "カスタムコマンドの開始"
  ## 初回登録の「From」メールアドレスを設定したい場合は、コメントを解除して変更してください。
  ## 最初のサインアップメールを受信したら、行をコメントアウトしてください。一度だけ実行する必要があります。
  - exec: rails r "SiteSetting.notification_email='noreply@khophi.co'"
  - exec: echo "カスタムコマンドの終了"

/usr/local/nginx/conf/conf.d を検索します。
関連する conf を編集します。

以下を追加します。

proxy_pass http://unix:/var/discourse/shared/standalone/nginx.http.sock:;
                proxy_set_header Host $http_host;
                proxy_http_version 1.1;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto $scheme;
                proxy_set_header X-Real-IP $remote_addr;

location / {

/usr/local/nginx/conf/503include-only.conf を # でコメントアウトします。

また

#include /usr/local/nginx/conf/pre-staticfiles-local-yourdomain.com.conf;
  #include /usr/local/nginx/conf/pre-staticfiles-global.conf;
  #include /usr/local/nginx/conf/staticfiles.conf;
  #include /usr/local/nginx/conf/drop.conf;
  #include /usr/local/nginx/conf/errorpage.conf;
  #include /usr/local/nginx/conf/vts_server.conf;

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.