Documentation Index
Fetch the complete documentation index at: https://docs.fim.ai/llms.txt
Use this file to discover all available pages before exploring further.
オプション A: Docker(推奨)
ローカルの Python または Node.js は不要です。すべてコンテナ内でビルドされます。fim-data、fim-uploads)に永続化され、コンテナの再起動後も保持されます。
注意: Docker モードはホットリロードをサポートしていません。コード変更にはイメージの再ビルド(docker compose up --build -d)が必要です。ライブリロード機能を備えたアクティブな開発には、以下のオプション B を使用してください。
オプション B: ローカル開発
前提条件: Python 3.11+、uv、Node.js 18+、pnpm。| コマンド | 起動内容 | URL |
|---|---|---|
./start.sh | Next.js + FastAPI | http://localhost:3000 (UI) + :8000 (API) |
./start.sh dev | 同じ、ホットリロード付き (Python --reload + Next.js HMR) | 同じ |
./start.sh dev:api | API のみ、開発モード (--reload) | http://localhost:8000/api |
./start.sh dev:ui | Next.js のみ、開発モード (HMR) | http://localhost:3000 |
./start.sh api | FastAPI のみ (ヘッドレス、統合またはテスト用) | http://localhost:8000/api |
設定
FIM One は任意の OpenAI 互換 LLM プロバイダーで動作します — OpenAI、DeepSeek、Anthropic、Qwen、Ollama、vLLM など。| プロバイダー | LLM_API_KEY | LLM_BASE_URL | LLM_MODEL |
|---|---|---|---|
| OpenAI | sk-... | (デフォルト) | gpt-4o |
| DeepSeek | sk-... | https://api.deepseek.com/v1 | deepseek-chat |
| Anthropic | sk-ant-... | https://api.anthropic.com/v1 | claude-sonnet-4-6 |
| Ollama (ローカル) | ollama | http://localhost:11434/v1 | qwen2.5:14b |
.env:
本番環境へのデプロイ
Docker(推奨)
docker compose up -d は必要なすべてをセットアップします — 手動でのサービス設定は不要です:
| サービス | 目的 | 設定方法 |
|---|---|---|
| fim-one | API + フロントエンド | .env(LLMキーなど) |
| Redis | ワーカー間割り込みリレー | compose により自動設定 |
ワーカーでのスケーリング
デフォルトでは、APIは単一のワーカープロセスで実行されます。より多くの同時ユーザーを処理するには、.envでワーカーを増やします:
- PostgreSQL — SQLiteはシングルライターであり、同時書き込みをサポートしていません。
DATABASE_URLをPostgreSQL接続文字列に設定します。 - Redis — Docker Composeに既に含まれています(自動設定)。ワーカー間の割り込み/注入リレーを処理します。
WORKERS=1(デフォルト)の場合、RedisやPostgreSQLは不要です — SQLiteで問題なく動作します。
Nginx リバースプロキシ
HTTPS とカスタムドメインの場合は、Nginx リバースプロキシをフロントに配置します:/api/* リクエストを自動的にプロキシします。ポート 3000 のみを公開する必要があります。
コード実行サンドボックス
コード実行サンドボックス(CODE_EXEC_BACKEND=docker)を使用する場合は、Dockerソケットをマウントします:
Cloudflare Tunnel
ゼロオープンポートセットアップの場合は、Nginx の代わりに Cloudflare Tunnel を使用してください。すべてのトラフィックは Cloudflare のエッジを通じて流れます。ポート 80/443 を公開したり、SSL 証明書を管理したり、ファイアウォールルールを設定する必要はありません。トンネルを作成する
Cloudflare Zero Trust → Networks → Tunnels → Create a tunnel に移動します。
コネクタタイプとして Cloudflared を選択します。
パブリックホスト名を設定する
トンネル設定で、パブリックホスト名を追加します:
その他のすべての設定(HTTP Host Header、Chunked Encoding、Timeouts、Access)はデフォルトのままにしておきます。
| フィールド | 値 |
|---|---|
| Type | HTTP |
| URL | fim-one:3000 |
URL は
localhost ではなく Docker サービス名 fim-one を使用します。これは cloudflared が同じ Docker ネットワーク内の別のコンテナとして実行されるためです。トンネルオーバーレイでデプロイする
docker-compose.tunnel.yml オーバーレイは cloudflared サイドカーコンテナを追加します。ベースの docker-compose.yml は変更されません。Cloudflare を使用しないコミュニティユーザーは、引き続き docker compose up -d を使用できます。古い DNS レコードを削除する
ドメインに以前にサーバーの IP を指すA レコードがあった場合は、Cloudflare DNS で削除してください。トンネルは自動的にそのエッジエンドポイントを指す CNAME レコードを作成します。
スクリプトデプロイメント(ベアメタル)
ベアメタルサーバーまたはカスタムプロセスマネージャーの場合、./start.sh を直接使用します: