TutoriaLLMのホスト
アプリケーションのホスト方法
TutoriaLLMをホストするには、フロントエンド、バックエンド、データベースを準備する必要があります。以下では、Docker composeと任意のホスティングサービスを使用して、TutoriaLLM アプリをホストする方法を説明します。
バックエンドとデータベースのホスト
バックエンドとデータベースをホストするには、Docker compose を使用します。以下の手順に従って、TutoriaLLM アプリをホストしてみましょう。 Docker がインストールされているサーバー(VPSなど)や、パソコンを準備してください。
バックエンドのDockerイメージの取得
イメージは、Docker Hub にて利用可能です。さまざまなバージョンが提供されていますが、Latest(最新版)の利用をお勧めします。 イメージを利用するには、Pgvector(または Vector が利用できる PostgreSQL) と接続する必要があります。
バージョンについて
TutoriaLLM では、安定性を確保するため、複数のバージョンを提供しています。バージョンの変更内容などについては、GitHub リポジトリをご覧ください:
latest
- 最新のリリースrelease_[YYYY-DDMM-BUILD_NUMBER]
- バージョン別のリリース
latest-preview
- 開発中の最新のリリースpreview_[YYYY-DDMM-BUILD_NUMBER]
- 開発中のバージョン
compose ファイルの作成
以下は実稼働で利用できるdocker-compose.yml
ファイルの例です。
環境変数の設定
以下は環境変数の例です。デプロイ方法に合わせて調整してください。:
-
OPENAI_API_KEY - OpenAI API を使用するためのキー
-
OPENAI_API_ENDPOINT - OpenAI API のエンドポイント。設定しない場合はデフォルトのエンドポイントを使用します。
-
POSTGRES_USER - データベースのユーザー名
-
POSTGRES_PASSWORD - データベースのパスワード
-
DB_PORT=5432 - データベースのポート番号
-
POSTGRES_DB - データベースの名前
-
DB_HOST - データベースのホスト名
-
DEFAULT_USER_NAME - デフォルトのユーザー名。
-
DEFAULT_USER_PASSWORD - デフォルトのユーザーパスワード。
-
SENTRY_DSN - 任意で Sentry.io の DSN を設定します。バックエンドのエラーを追跡するために使用します。
-
DOMAIN - アプリのドメイン名。自動 SSL 設定に利用します
-
EMAIL - アプリのメールアドレス。自動 SSL 設定に利用します
-
CORS_ORIGIN - CORS の設定。フロントエンドの URL を設定します。
アプリの起動
Compose ファイルと.env ファイルがあるディレクトリ内で、ターミナルで以下のコマンドを実行してアプリを起動します。
フロントエンドのホスト
フロントエンドのホストには、いくつかの方法がありますが、ここではVercelやNetlifyを使用してホストする場合の手順を説明します。
リポジトリのフォーク
GitHub リポジトリをフォークします。
ホスティング
任意のホスティングサービスに、以下の設定を行い、デプロイします。
環境変数の設定
- VITE_BACKEND_URL - バックエンドの API エンドポイント
ビルド設定
ルートディレクトリから全てのパッケージをビルドします。pnpm build:all
コマンドを使用してください。
- ビルドコマンド:
pnpm build:all
そして、ビルドされたフロントエンドファイルをホスティングサービスにアップロードします。 - ビルドディレクトリ:
/apps/frontend/dist
Dockerを利用する場合
フロントエンドのファイルをビルドする際に、環境変数を設定する必要があるため、
Docker Hubにはフロントエンドのイメージは提供されていません。
リポジトリにあるDockerfile
ではフロントエンドのイメージを作成するための定義が利用できるため、
そのファイルを利用してイメージをビルドしてください。