Fisherboyのインストール
Fisherboyは単一の自己完結型Dockerイメージ(ghcr.io/diegoparras/fisherboy:latest)として提供されます。
同じイメージがAPI、ワーカー、そしてオプションのWeb UIを実行し、Redisサービスがジョブキューを
支えます。
- Docker(Windows/MacではDocker Desktop、LinuxではDocker Engine)。
- キュー用の Redis サービス — 同梱のcomposeファイルに含まれています。
- イメージ用に約 1 GB のディスク(ブラウザtier用にChromiumを同梱しています)。
- 起動に外部サービスは不要:
ANONIMAL_URLを設定しない場合、組み込みの正規表現匿名化が使われます。
クイックスタート(Docker Compose)
Section titled “クイックスタート(Docker Compose)”最速の方法 — スタンドアロンでWeb UI付き:
git clone https://github.com/diegoparras/fisherboy.gitcd fisherboycp .env.example .env # SECRET_KEY + GOD/ANGEL/HUMAN_PASSWORD を設定docker compose -f docker-compose.standalone.yml up -d --build# → http://localhost:8000 を開くdocker-compose.standalone.yml ファイルは3つのサービスを起動します — API(fisherboy-api、
ポート8000)、ワーカー(fisherboy-worker)、Redis(fisherboy-redis) — すべてプライベート
ネットワーク上です。
便利な後続コマンド:
docker compose -f docker-compose.standalone.yml logs -f # ログを追うdocker compose -f docker-compose.standalone.yml down # 停止公開イメージを実行する
Section titled “公開イメージを実行する”ビルドしたくない場合は、ビルド済みイメージ(GitHub Actionsが公開)をpullします:
docker pull ghcr.io/diegoparras/fisherboy:latestRedisコンテナと一緒に手動で実行します:
docker run -d --name fisherboy-redis redis:7-alpine
docker run -d --name fisherboy-api --env-file .env \ -e APP_MODE=standalone \ -e REDIS_URL=redis://fisherboy-redis:6379/0 \ -p 8000:8000 --link fisherboy-redis \ ghcr.io/diegoparras/fisherboy:latest
docker run -d --name fisherboy-worker --env-file .env \ -e APP_MODE=standalone \ -e REDIS_URL=redis://fisherboy-redis:6379/0 \ --link fisherboy-redis \ ghcr.io/diegoparras/fisherboy:latest python -m app.workerAPIはイメージの既定コマンド(uvicorn app.main:app --host 0.0.0.0 --port 8000)であり、
ワーカーは python -m app.worker で起動します。
最小限の .env
Section titled “最小限の .env”.env.example を .env にコピーし、少なくとも次を設定します:
APP_MODE=standaloneSECRET_KEY=<長いランダム文字列>GOD_PASSWORD=<管理者パスワード>ANGEL_PASSWORD=<任意>HUMAN_PASSWORD=<任意>COOKIE_SECURE=0 # ローカルの http://localhost(HTTPSなし)では 0- スタックを起動します(
docker compose -f docker-compose.standalone.yml up -d --build)。最初のビルドには数分かかりますが、以降の起動は瞬時です。 http://localhost:8000を開きます。- ログイン画面で
GOD_PASSWORDを入力します。
2つのモード
Section titled “2つのモード”Fisherboyは APP_MODE で選択される2つのモードのいずれかで動作します。コアは同一で、モードは
Web UIをマウントするかどうかとドキュメント変換をどこに委譲するかだけを決めます。
standalone | sidekick | |
|---|---|---|
| Web UI | あり、独自 | なし、ヘッドレス |
| インターフェース | UI + REST + MCP | REST + MCP |
| 用途 | セルフホスト、個人利用 | Escribaの背後、内部ネットワーク |
Escribaの背後で sidekick モードを使う場合は、docker-compose.yml を使用します。これは外部の
escriba_internal ネットワークに参加してAnonimalとEscribaに到達します。
主な環境変数
Section titled “主な環境変数”| 変数 | 既定値 | 役割 |
|---|---|---|
APP_MODE | sidekick | standalone(Web UIをマウント)または sidekick(ヘッドレス)。 |
SECRET_KEY | — | 認証時は必須。 セッションクッキーに署名します。すべてのレプリカで同じ値を使います。 |
GOD_PASSWORD / ANGEL_PASSWORD / HUMAN_PASSWORD | — | ロールパスワード。ログインを有効にするには少なくとも1つ設定します。 |
COOKIE_SECURE | 1 | セッションクッキーをHTTPS経由でのみ送信します。ローカルhttpでは 0 に設定します。 |
FISHERBOY_OPEN_GOD | 0 | 開発専用:ログインなしで dios としてアクセスを開放します。本番では絶対に使わないでください。 |
REDIS_URL | redis://fisherboy-redis:6379/0 | キュー+エンベロープストア。 |
ANONIMAL_URL | — | 完全なNERのためのAnonimal(Escriba内)。空の場合は組み込みの正規表現匿名化にフォールバックします。 |
MAX_FETCH_TIER | 3 | エスカレーションの上限(0 静的、1 TLS、2 ステルス、3 ブラウザ)。 |
PROXIES | — | カンマ/改行区切りのプロキシプール。 |
MAX_JOBS_PER_MIN | 60 | IPごとのジョブ投入のレート制限。 |
CRAWL_MAX_PAGES | 100 | ジョブあたりのページ数のハードキャップ。 |
LLM_API_BASE_URL / LLM_API_KEY / LLM_MODEL | — | output_format=json(LLM抽出)用。 |
ALLOW_PRIVATE_TARGETS | 0 | 開発/テスト専用 — SSRF保護を無効化します。本番では絶対に使わないでください。 |
完全でコメント付きの一覧はリポジトリの .env.example にあります。Docker Desktop、
EasyPanel、本番デプロイについては docs/DEPLOY.md を参照してください。