Skip to main content
☁️ オプション 0: クラウド(セットアップ不要) セルフホストしたくない場合は、cloud.fim.ai で FIM One を今すぐお試しください — Docker、API キー、設定は不要です。サインインするだけで準備完了です。アーリーアクセス。

オプション A: Docker(推奨)

ローカルの Python または Node.js は不要です。すべてコンテナ内でビルドされます。
http://localhost:3000 を開きます。初回起動時は、管理者アカウントの作成ガイドが表示されます。以上です。 初回ビルド後、その後の起動には以下のみが必要です:
データは Docker の名前付きボリューム(fim-datafim-uploads)に永続化され、コンテナの再起動後も保持されます。 注意: Docker モードはホットリロードをサポートしていません。コード変更にはイメージの再ビルド(docker compose up --build -d)が必要です。ライブリロード機能を備えたアクティブな開発には、以下のオプション B を使用してください。

オプション B: ローカル開発

前提条件: Python 3.11+、uv、Node.js 18+、pnpm。

設定

FIM One は任意の OpenAI 互換 LLM プロバイダーで動作します — OpenAI、DeepSeek、Anthropic、Qwen、Ollama、vLLM など。 Jina AI は Web 検索/取得、埋め込み、および完全な RAG パイプラインを実現します(無料ティアあり)。 最小限の .env:
すべての設定オプションの完全なリストについては、環境変数リファレンスを参照してください。

本番環境へのデプロイ

Docker(推奨)

docker compose up -d は必要なすべてをセットアップします — 手動でのサービス設定は不要です

ワーカーでのスケーリング

デフォルトでは、APIは単一のワーカープロセスで実行されます。より多くの同時ユーザーを処理するには、.envでワーカーを増やします:
マルチワーカーの要件:
  • PostgreSQL — SQLiteはシングルライターであり、同時書き込みをサポートしていません。DATABASE_URLをPostgreSQL接続文字列に設定します。
  • Redis — Docker Composeに既に含まれています(自動設定)。ワーカー間の割り込み/注入リレーを処理します。
WORKERS=1(デフォルト)の場合、RedisやPostgreSQLは不要です — SQLiteで問題なく動作します。

Nginx リバースプロキシ

HTTPS とカスタムドメインの場合は、Nginx リバースプロキシをフロントに配置します:
API は内部的にポート 8000 で実行されます — Next.js は /api/* リクエストを自動的にプロキシします。ポート 3000 のみを公開する必要があります。

コード実行サンドボックス

コード実行サンドボックス(CODE_EXEC_BACKEND=docker)を使用する場合は、Dockerソケットをマウントします:

Cloudflare Tunnel

ゼロオープンポートセットアップの場合は、Nginx の代わりに Cloudflare Tunnel を使用してください。すべてのトラフィックは Cloudflare のエッジを通じて流れます。ポート 80/443 を公開したり、SSL 証明書を管理したり、ファイアウォールルールを設定する必要はありません。
中国本土ユーザー: Cloudflare Free/Pro/Business プランは中国本土に PoP(Points-of-Presence)がありません。中国本土からのトラフィックは海外エッジ(通常は US West)にルーティングされ、頻繁に 502 エラーが発生し、レイテンシが高くなります。主なユーザーが中国本土にいる場合は、Cloudflare Tunnel を使用しないでください。中国本土への信頼できるアクセスには、China Network(JD Cloud パートナーシップ)を備えた Cloudflare Enterprise が必要です。
セットアップ:
1

トンネルを作成する

Cloudflare Zero Trust → Networks → Tunnels → Create a tunnel に移動します。 コネクタタイプとして Cloudflared を選択します。
2

パブリックホスト名を設定する

トンネル設定で、パブリックホスト名を追加します:その他のすべての設定(HTTP Host Header、Chunked Encoding、Timeouts、Access)はデフォルトのままにしておきます。
URL は localhost ではなく Docker サービス名 fim-one を使用します。これは cloudflared が同じ Docker ネットワーク内の別のコンテナとして実行されるためです。
3

トンネルトークンをコピーする

トンネルの Configure ページで、インストールコマンドを見つけます。これには eyJ... で始まるトークンが含まれています。それをコピーします。
4

トークンを .env に追加する

5

トンネルオーバーレイでデプロイする

docker-compose.tunnel.yml オーバーレイは cloudflared サイドカーコンテナを追加します。ベースの docker-compose.yml は変更されません。Cloudflare を使用しないコミュニティユーザーは、引き続き docker compose up -d を使用できます。
6

古い DNS レコードを削除する

ドメインに以前にサーバーの IP を指すA レコードがあった場合は、Cloudflare DNS で削除してください。トンネルは自動的にそのエッジエンドポイントを指す CNAME レコードを作成します。
7

サーバーポートを閉じる

サーバーの docker-compose.yml から ports セクションを削除(またはコメントアウト)します。トラフィックはトンネルを通じてのみ流れます。インバウンドポートは不要です。
Cloudflare Tunnel は Free を含むすべてのプランで無料です。帯域幅またはトラフィック制限はありません。

スクリプトデプロイメント(ベアメタル)

ベアメタルサーバーまたはカスタムプロセスマネージャーの場合、./start.sh を直接使用します:
このモードでは、Redis は自動的に含まれません。システムはデフォルトでシングルワーカー、インプロセスモードで実行されます。これは低トラフィックのデプロイメントに適しています。 ローカルでマルチワーカーと Redis を有効にするには: