コンテンツにスキップ

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付き:

Terminal window
git clone https://github.com/diegoparras/fisherboy.git
cd fisherboy
cp .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) — すべてプライベート ネットワーク上です。

便利な後続コマンド:

Terminal window
docker compose -f docker-compose.standalone.yml logs -f # ログを追う
docker compose -f docker-compose.standalone.yml down # 停止

ビルドしたくない場合は、ビルド済みイメージ(GitHub Actionsが公開)をpullします:

Terminal window
docker pull ghcr.io/diegoparras/fisherboy:latest

Redisコンテナと一緒に手動で実行します:

Terminal window
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.worker

APIはイメージの既定コマンド(uvicorn app.main:app --host 0.0.0.0 --port 8000)であり、 ワーカーは python -m app.worker で起動します。

.env.example.env にコピーし、少なくとも次を設定します:

APP_MODE=standalone
SECRET_KEY=<長いランダム文字列>
GOD_PASSWORD=<管理者パスワード>
ANGEL_PASSWORD=<任意>
HUMAN_PASSWORD=<任意>
COOKIE_SECURE=0 # ローカルの http://localhost(HTTPSなし)では 0
  1. スタックを起動します(docker compose -f docker-compose.standalone.yml up -d --build)。最初のビルドには数分かかりますが、以降の起動は瞬時です。
  2. http://localhost:8000 を開きます。
  3. ログイン画面で GOD_PASSWORD を入力します。

Fisherboyは APP_MODE で選択される2つのモードのいずれかで動作します。コアは同一で、モードは Web UIをマウントするかどうかとドキュメント変換をどこに委譲するかだけを決めます。

standalonesidekick
Web UIあり、独自なし、ヘッドレス
インターフェースUI + REST + MCPREST + MCP
用途セルフホスト、個人利用Escribaの背後、内部ネットワーク

Escribaの背後で sidekick モードを使う場合は、docker-compose.yml を使用します。これは外部の escriba_internal ネットワークに参加してAnonimalとEscribaに到達します。

変数既定値役割
APP_MODEsidekickstandalone(Web UIをマウント)または sidekick(ヘッドレス)。
SECRET_KEY認証時は必須。 セッションクッキーに署名します。すべてのレプリカで同じ値を使います。
GOD_PASSWORD / ANGEL_PASSWORD / HUMAN_PASSWORDロールパスワード。ログインを有効にするには少なくとも1つ設定します。
COOKIE_SECURE1セッションクッキーをHTTPS経由でのみ送信します。ローカルhttpでは 0 に設定します。
FISHERBOY_OPEN_GOD0開発専用:ログインなしで dios としてアクセスを開放します。本番では絶対に使わないでください。
REDIS_URLredis://fisherboy-redis:6379/0キュー+エンベロープストア。
ANONIMAL_URL完全なNERのためのAnonimal(Escriba内)。空の場合は組み込みの正規表現匿名化にフォールバックします。
MAX_FETCH_TIER3エスカレーションの上限(0 静的、1 TLS、2 ステルス、3 ブラウザ)。
PROXIESカンマ/改行区切りのプロキシプール。
MAX_JOBS_PER_MIN60IPごとのジョブ投入のレート制限。
CRAWL_MAX_PAGES100ジョブあたりのページ数のハードキャップ。
LLM_API_BASE_URL / LLM_API_KEY / LLM_MODELoutput_format=json(LLM抽出)用。
ALLOW_PRIVATE_TARGETS0開発/テスト専用 — SSRF保護を無効化します。本番では絶対に使わないでください。

完全でコメント付きの一覧はリポジトリの .env.example にあります。Docker Desktop、 EasyPanel、本番デプロイについては docs/DEPLOY.md を参照してください。

ドキュメントを読む