logo
icon

Multica

AI ネイティブなタスク管理プラットフォーム。コーディングエージェントが 一級のメンバーとして扱われます。PostgreSQL (pgvector)、Go バックエンド、 Next.js Web アプリの 3 サービスをデプロイします。

template cover
展開済み0
発行者pseudoyu
作成日2026-07-31
タグ
Developer ToolsProject Management

Zeabur 上の Multica

3 つのサービスだけで動き、外部オブジェクトストレージは不要です。添付ファイルは バックエンドの永続ボリュームに保存されます。

デプロイ後

  1. 自分のドメインを開き、メールアドレスを入力してログインコードを要求します。
  2. RESEND_API_KEY を空にした場合は、バックエンドのサービスログから Verification code を検索してコードを読み取ります。
  3. ワークスペースを作成します。
  4. インスタンスを締めます: バックエンドに ALLOW_SIGNUP=falseDISABLE_WORKSPACE_CREATION=true を設定して再起動します。

エージェントランタイムの接続

daemon は Zeabur 上ではなく 自分のコンピューター で動きます。Multica の サーバーは API、WebSocket ハブ、データベースだけです。

brew install multica-ai/tap/multica
multica setup self-host \
  --server-url https://あなたのAPIドメイン \
  --app-url    https://あなたのドメイン

2 つの URL が異なるのは 意図的 です。--app-url はログインする Web アプリ、 --server-url は API ドメインで、CLI は設定を保存する前に /health を プローブします。このパスは Web アプリが転送しないため、--server-url に アプリのドメインを指定するとサーバーに到達できないと報告されます。

ブラウザーはどちらの場合も影響を受けません。WebSocket を含めて常にアプリの ドメインに留まるので、Cookie がオリジンをまたぐことはなく、COOKIE_DOMAIN は 未設定のままで構いません。

あとからドメインを変更する

ブラウザー側はアクセスしたホストに追従します。Web アプリは /api/auth/uploads/ws を自身のオリジンから提供し、クライアントは window.location から wss:// を導出します。この側にドメインを固定している ものはないため、新しいドメインでも設定なしで UI と WebSocket は動きます。

追従しないのはバックエンドです。リクエストの Host を読むことは一切なく、 公開する URL はすべて環境変数から来ます。新しいドメインを割り当てたら、 backend サービスで次を更新して再起動してください:

変数設定値古いままだと壊れるもの
MULTICA_APP_URL新しいアプリのオリジンオンボーディングが旧ホストを表示。招待とログインコードのメールが旧ホストにリンク
FRONTEND_ORIGIN新しいアプリのオリジン上のフォールバック。CSRF オリジンチェック
CORS_ALLOWED_ORIGINS新しいアプリのオリジンクロスオリジンの呼び出しが拒否される
MULTICA_PUBLIC_URL新しい API のオリジンmultica setup self-host が daemon に古い URL を渡す

スキームを含め、末尾のスラッシュは付けません。いずれも失敗は静かです —— アプリは変わらず読み込まれ、一見問題なく見えます。変更後は /api/config を開き、 daemon_app_urldaemon_server_url が実際に使っているドメインと一致するか 確認してください。

カスタムドメインを付ける前に知っておくべき注意点があります。 MULTICA_PUBLIC_URL の初期値は ${ZEABUR_API_URL} ですが、この組み込み変数は カスタムドメインを併せて割り当てたあとでも 自動生成された *.zeabur.app ドメインに解決され、カスタムドメインには追従しません。したがってバックエンドに 自分のドメインを付けた時点で、${ZEABUR_API_URL} をそのドメインの完全な表記に 置き換えてください。

そのうえで、daemon を動かしているすべてのマシンで新しい --server-url を指定して multica setup self-host を実行し直します。CLI は URL を保存するため、 実行し直すまで既存の daemon は古い URL を使い続けます。

ストレージ

S3_BUCKET は未設定のままなので、バックエンドはローカルディスクにフォールバックし /app/data/uploads ボリュームに書き込みます。あとから S3 互換ストレージ (R2、MinIO、B2)に移す場合は、バックエンドに S3_BUCKETAWS_ENDPOINT_URLAWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY を設定します。エンドポイントに ブラウザーから到達できない場合は ATTACHMENT_DOWNLOAD_MODE=proxy も追加します。 既存のファイルは自動では移行されません。

スケーリングについて

uploads ボリュームがあるため、バックエンドはレプリカ 1 に固定されます。増やす 必要がある場合はまず S3 に移し、REDIS_URL を追加してください。Redis がないと リアルタイムイベントはプロセス内メモリにフォールバックし、認証のレート制限は 無効になります。

ライセンスと表示

Multica は、ホスティング/組み込みでの商用利用、ブランディング、表示に関する追加 条件を伴う修正版 Apache License 2.0 の下で提供されます。単一組織内での利用に商用 ライセンスは不要ですが、第三者へのサービス提供には必要です。UI から Multica の 名称、ロゴ、著作権表示を削除するには書面によるブランディング免除が必要です。

ソース: https://github.com/multica-ai/multica · ライセンス: https://github.com/multica-ai/multica/blob/main/LICENSE