ドキュメント/ はじめに

デプロイ

3つのインストール方法から1つを選びます。データの保存場所とアップグレード方法まで確認すれば、このページの内容は完了です。

どの種類を選ぶか§

  • Docker Compose — 推奨方式です。1コマンドで起動し、アップグレードも1コマンドで行えます。
  • ネイティブバイナリ —— Docker を入れたくない場合
  • Windows インストーラー —— Windows で自動起動のサービスとして導入したい場合
  • ソースコードビルド — コードを変更する場合や、特定プラットフォーム向けにビルドする場合に使います。

わからない場合は最初のものを使ってください。

Docker Compose§

① サービスを起動
git clone --depth 1 --branch v2 \
  https://github.com/tbphp/gpt-load.git
cd gpt-load

cp .env.example .env
docker compose up -d
② 実行中であることを確認
curl --fail http://127.0.0.1:3001/health
③ 管理キーを取得する
docker compose exec gpt-load \
  sh -c 'cat /app/data/auth.key'
コンテナ内で二つの値が上書きされる

これは最も簡単に陥る落とし穴です。コンテナ内ではHOST0.0.0.0DATA_DIR/app/dataに固定されているため、.envで変更しても反映されません。外部からの到達可否は Compose のポート公開設定で決まり、デフォルトではホストの127.0.0.1:3001にだけ公開されます。

ネイティブバイナリ§

GitHub Releases から対応するプラットフォームのビルドをダウンロードします。対象は 5 つ:Linux と macOS がそれぞれ amd64 と arm64、Windows は amd64 です。

ダウンロード後にまず検証。リリースページにはSHA256SUMSが含まれています:

検証して実行
# チェックサムを確認
sha256sum -c SHA256SUMS --ignore-missing

chmod +x ./gpt-load-linux-amd64
HOST=127.0.0.1 DATA_DIR=./data ./gpt-load-linux-amd64

次にhttp://127.0.0.1:3001を開きます。管理キーは./data/auth.keyにあります。

Windows の gpt-load-windows-amd64.exeフォアグラウンドで実行される ため、ウィンドウを閉じるとサービスは停止します。常駐させたい場合は、以下のインストーラーを使ってください。

Windows インストーラー§

リリースページにはもう一つ gpt-load-windows-setup.exe があります。Windows でより手軽な導入方法です。ダブルクリックして管理者権限を許可すると、次の作業を自動で行います:

  • Windows サービスとして登録 —— 低権限アカウントで実行し、自動起動を設定します
  • ショートカットを作成 —— デスクトップとスタートメニューの両方に管理画面へのショートカットを作成します
  • サービスを起動 —— インストール後すぐに使え、追加のコマンドは不要です
インストール中に管理キーが表示されます

初回生成される管理キーは はインストーラー画面で一度だけ表示されます。ページを閉じる前に保存してください。見逃しても %ProgramData%\GPT-Load\data\auth.key にあります。

インストール後、2 つのディレクトリを覚えておいてください:

  • 設定ディレクトリ —— %ProgramData%\GPT-Load。サービスはここから .env を読み込みます
  • データディレクトリ —— %ProgramData%\GPT-Load\data。データベースと 2 つのキーはここにあります

サービスを手動で管理する場合は、プログラム付属のサブコマンドを使います:

インストール済みサービスの管理
gpt-load-windows-amd64.exe service status
gpt-load-windows-amd64.exe service stop
gpt-load-windows-amd64.exe service start
gpt-load-windows-amd64.exe service restart

アップグレード は新しいインストーラーで上書きするだけです。更新前にサービスを正常に停止します。アンインストール はプログラムとサービスを削除しますが、データディレクトリは残します。つまり再インストール後も設定は残り、完全に消したい場合は手動削除が必要です。

ソースコードビルド§

ソースからのビルドには Go と Node が必要です。管理画面はバイナリに組み込まれるため、先にフロントエンドをビルドします:

ソースコードからビルド
git clone --branch v2 https://github.com/tbphp/gpt-load.git
cd gpt-load

# 管理画面を構築、生成物はバイナリに埋め込まれる
make build

./gpt-load

必要な Go と Node のバージョンは、リポジトリルートのgo.modweb/package.jsonを参照してください。

データの保存場所§

デフォルトの SQLite 構成では、すべての状態がDATA_DIRに保存されます。Compose 構成上の論理ボリューム名はgpt-load-dataですが、実際の Docker ボリューム名は Compose プロジェクト名から決まるため、同じとは限りません:

  • gpt-load.db — データベースです(デフォルトは SQLite)。
  • auth.key——AUTH_KEYが明示的に設定されていない場合に自動生成されます
  • encryption.key——ENCRYPTION_KEYが明示的に設定されていない場合に自動生成されます
バックアップは一緒に準備しなければならない

暗号化キーはデータベースとセットでバックアップする必要があります。AUTH_KEYまたはENCRYPTION_KEYを明示的に設定している場合は、元の安全な保管元から別途バックアップしてください。これらはデータボリュームへ自動的には書き込まれません。詳しくはデータベースとバックアップを参照してください。

MySQL または PostgreSQL を使う場合はDATABASE_DSNを設定し、組み込み SQLite を使う場合は空のままにします。

日常運用§

よく使うコマンド
# ログを見る
docker compose logs -f

# サービス停止
docker compose stop

# 再起動
docker compose restart

アップグレードとロールバック§

GitHub を見張る必要はありません。管理画面の設定ページにあるシステム情報で現在のバージョンを確認でき、新しいバージョンが出るとリリースノートへのリンク付きで通知されます。手動での更新確認も可能です。

最新の 2.x にアップグレードする
docker compose pull
docker compose up -d

データは名前付きボリュームに残るため、アップグレードで失われません。データベーススキーマの変更は起動時に自動適用され、手動操作は不要です。

公式 Compose はv2beta更新チャネルを使用し、latestに依存しません。このタグは 2.0 Beta のリリースに合わせて移動します。バージョンを固定する場合は、具体的なバージョンタグまたはイメージダイジェストを使用してください。

データベースのマイグレーションは一方向のため、ロールバックではイメージタグを戻すだけでは不十分です。アップグレード前にサービスを停止してバックアップしてください。ロールバックする場合は、アップグレード前のデータベースと対応するキーを復元し、そのバックアップに対応する旧バージョンを起動します。

インストール後はクイックスタートで最初のGroupを作成し、本番運用前にセキュリティと本番運用のチェックリストを確認してください。

デプロイ - GPT-Load