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

3 つのサービスだけで動き、外部オブジェクトストレージは不要です。添付ファイルは バックエンドの永続ボリュームに保存されます。
RESEND_API_KEY を空にした場合は、バックエンドのサービスログから
Verification code を検索してコードを読み取ります。ALLOW_SIGNUP=false と
DISABLE_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_url と daemon_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_BUCKET、AWS_ENDPOINT_URL、
AWS_ACCESS_KEY_ID、AWS_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