Dockerイメージ discourse/discourse は安全で本番環境対応とみなされますか?

Discourseチーム様

現在、こちらで利用可能なDockerイメージを評価しています: https://hub.docker.com/r/discourse/discourse

このイメージはごく最近(執筆時点で24時間未満前)に公開されたもので、公式ドキュメントで参照を見つけることができませんでした。

質問は以下の通りです。

  • このDockerイメージは、Discourseチームによって公式にメンテナンスされ、本番環境での使用がサポートされていますか?
  • それとも、予期せず削除または変更される可能性のある実験的なイメージですか?

本番環境でこのイメージに依存しても安全かどうかを確認したいと思います。

よろしくお願いします。

「いいね!」 2

Dockerイメージは https://hub.docker.com/r/discourse/base/ だと思います。(500万ダウンロード vs 800+) 以下を参照してください。

Dockerリポジトリには常に最新のビルドバージョンが https://hub.docker.com/r/discourse/base/ に含まれているため、ベースイメージをビルドする必要はありません。

「いいね!」 2

返信ありがとうございます。承知しております。しかし、Docker Composeでそのdiscourse/baseイメージを簡単に実行できませんでした。この新しいdiscourse/discourseイメージはセットアップを大幅に簡素化し、問題なく動作しますが、その目的と本番環境で使用できるかどうかを理解したいです。

「いいね!」 1

以下をお読みください。

「いいね!」 1

discourse/discourse は新しいですが、まだ実験的なものなので、本番環境での使用はお勧めしません。変更があった場合、または変更された場合には、さらに詳しい情報を公開する予定です。

現時点では、サポートできる唯一の方法は標準インストールです。

「いいね!」 11

説明したとおり、セルフホストのサポートされている方法は、標準のインストールに従うことです。そうしたくない場合は、自己責任となります。docker-composeで起動したい場合、推奨される方法は、launcherを使用してイメージをビルドし、独自のレポにプッシュしてから、./launcher start-cmd web_only を使用して必要な環境変数などを取得して起動することです。また、データベースの移行、アセットのプリコンパイルなどを確認するために何かを行う必要があります。

また、githubにイメージをビルドさせ、起動時に移行などを行わせるように工夫することもできます(これは将来的にCDCKによって提供されるようです)。私は過去にクライアントのためにこれを行いました。(予算があれば喜んでお手伝いします。)

エッジに住むのが好きなら、「experimental」バージョンを使用してもかなり安全でしょう。ただし、本番環境にプッシュする前に各新しいデプロイメントをテストするステージングサイトを用意し、しばらく待つか、またはディスコースに関する深い知識を必要とする何かを行う準備をしておく必要があります。最悪の場合(おそらく)、バックアップを作成し、experimentalなものが本番稼働するまで標準のインストールに復元する準備をしておく必要があるでしょう。

「いいね!」 1

discourse/discourse が安定版/本番環境対応と見なされる時期の推定リリース日またはタイムラインはありますか?

また、discourse/discourse Docker イメージはオープンソースですか?もしそうであれば、GitHub リポジトリへのリンクを提供していただけますか?

「いいね!」 3

現時点では、具体的な時期や保証はありません。しかし、今後数週間でより多くの情報をお知らせできることを願っています。

はい、すべてオープンソースです。このGitHubアクションのワークフローによって構築・公開されています:discourse_docker/.github/workflows/push-web-only.yml at main · discourse/discourse_docker · GitHub

「いいね!」 7

情報とGitHubリンクの共有をありがとうございます。大変感謝しております!

「いいね!」 3

ええ、それは「隠しきれない秘密」になりつつありますね :slight_smile:

何が起こるかのテクニカルプレビューは入手できますが、Davidが言ったように、まだ公式にはサポートできません。計画すべきドキュメントやテストすべきエッジケースなどがたくさんあるため、それらを円滑に進めるまで本番環境での使用はお勧めできません。

「いいね!」 8

@david / @featheredtoast、あなた方とチームの皆さんは素晴らしい仕事をしました。

自動テストのために bitnami/discourse から discourse/discourse に切り替えたところ、うまく動作しています。明らかに私のユースケースは完璧です - 新しいフォーラムを起動し、テストを実行し、削除します。

ですので、大きな感謝を伝えたかったのです。これが安定版/公式版/サポート版になれば、他の多くの人も恩恵を受けることになるでしょう。

「いいね!」 6

同様の状況で、開発者がSSO統合を容易に構築できるように、Docker ComposeセットアップでDiscourseを迅速に起動する方法を探していました。これは見事に機能するようです(興味のある方は以下のセットアップを参照してください):

docker-compose.yml
volumes:
  redis_data: {}
  discourse_data: {}
  discourse_postgres: {}
  discourse_postgres_data: {}

services:
  mailpit:
    image: docker.io/axllent/mailpit:latest
    container_name: mailpit
    ports:
      - '8025:8025'

  redis:
    image: redis:7-alpine
    container_name: redis
    volumes:
      - redis_data:/data
    ports:
      - '6379:6379'
    command: redis-server --appendonly yes

  discourse_db:
    image: discourse/postgres
    container_name: discourse_db
    volumes:
      - discourse_postgres:/var/lib/postgresql
      - discourse_postgres_data:/var/lib/postgresql/data
    environment:
      - POSTGRES_DB: discourse
      - POSTGRES_USER: admin
      - POSTGRES_PASSWORD: admin_password
      - DB_USER: discourse_user
      - DB_PASSWORD: discourse_user_password

  discourse:
    image: discourse/discourse:3.5.1
    container_name: discourse
    depends_on:
      - discourse_db
      - redis
      - mailpit
    ports:
      - '80:80'
    volumes:
      - discourse_data:/shared
    environment:
      - DISCOURSE_HOSTNAME: localhost
      - DISCOURSE_DEVELOPER_EMAILS: admin@example.com
      - DISCOURSE_DB_HOST: discourse_db
      - DISCOURSE_DB_PORT: 5432
      - DISCOURSE_DB_NAME: discourse
      - DISCOURSE_DB_USERNAME: discourse_user
      - DISCOURSE_DB_PASSWORD: discourse_user_password
      - DISCOURSE_REDIS_HOST: redis
      - DISCOURSE_REDIS_PORT: 6379
      - DISCOURSE_SMTP_ADDRESS: mailpit
      - DISCOURSE_SMTP_PORT: 1025
      - DISCOURSE_SMTP_ENABLE_START_TLS: false
      - DISCOURSE_SMTP_AUTHENTICATION: none
      - LANG: en_US.UTF-8

今後の計画やタイムラインについてお聞かせいただければ幸いです。Digital Ocean App Platformのような、クライアントが技術的な知識が少なくても管理できるようなもので実行できるようになると嬉しいです。

「いいね!」 3

共有ありがとうございます、@JackNZdiscourse/postgres の画像にも気づきませんでした :sweat_smile: 直します。とはいえ、私も現状を共有します。おそらくもっと興味深いのは、この start.sh スクリプトでしょう。クリーンアップが必要ですが、管理者ユーザー、APIキーを作成し、レートリミッターを無効にします。

「いいね!」 2