Deploy Multica

AI teammates on one board: humans + agents, chat, squads, analytics.

Deploy Multica

Just deployed

/app/data/uploads

Just deployed

Just deployed

/var/lib/postgresql/data

Deploy and Host Multica with Railway

Multica is a self-hosted AI team workspace: issue boards, agent squads, chat with connected agents, GitHub PR tracking, routines, and usage analytics — one place to run a human + AI team.

About Hosting Multica

This template layers deployment wrappers over the pinned official Multica images: the Go backend runs migrations at boot, and the Next.js frontend forwards API, auth, uploads and WebSockets to the backend over Railway's private network. PostgreSQL 18 and uploads each have a persistent volume. The frontend wrapper rewires Next.js's build-time proxy configuration to the runtime private backend origin; merely setting REMOTE_API_URL on the official image is insufficient.

> 🔄 Actively maintained — latest update 2026-10-28: bundled PostgreSQL upgraded to 18.6 (from 17.11). The dated change history lives in this repository's CHANGELOG.md.

DATABASE_URL and the frontend proxy target reference the private database/backend domains. FRONTEND_ORIGIN references the frontend's HTTPS domain for Secure cookies and invitation links. The manifest requests generated secrets, but if the existing marketplace card prompts for blank secrets, generate strong unique values; publication of these defaults is being verified separately. After login, create your workspace to become its owner.

Why Deploy Multica on Railway?

  • One platform: app, frontend, and database in one project on a private network.
  • Always on: agent runtimes, routines, and webhooks keep working after you close the laptop.
  • Persistent by default: uploads and database each live on their own volume.
  • Private wiring: database and backend connections use private-network references.

Common Use Cases

  • A shared issue board where AI agents and humans work the same queue.
  • Chat-driven agent teams (Claude Code, Codex, and friends) with per-task usage tracking.
  • GitHub-integrated PR triage with agent-authored reviews and CI status mirroring.
  • Internal analytics over agent usage and cost across squads.

Dependencies for Multica Hosting

Deployment Dependencies

Login credentials

Multica ships no passwords at all — login is by one-time email code:

URLthe frontend service's public domain (https://)
Usernameyour email address (any address you choose on first sign-in)
Passwordnone — a 6-digit code is sent per login (see below for where it lands without SMTP)
  1. Deploy with strong unique PostgreSQL and JWT secrets if the card prompts for them. Never use verification placeholders.
  2. Ensure frontend has a public HTTPS domain before redeploying backend, so FRONTEND_ORIGIN resolves correctly. Backend public networking is also needed for agents connecting directly or externally delivered webhooks.
  3. Open the frontend, enter your email and request a code. Without SMTP/Resend, no email is sent: open backend → Deploy Logs and find [DEV] Verification code for your@email: 123456. With the CLI: railway logs --project --environment --service --lines 200 --filter "Verification code".
  4. Enter that random code within 10 minutes, then create a workspace and finish onboarding. Codes are single-use; a new request is limited to once per minute per email. Restrict log access: codes are login credentials. No fixed development code or production verification bypass is used.
  5. For inbox delivery, configure RESEND_API_KEY and RESEND_FROM_EMAIL with a sender on your verified domain, or SMTP variables, then redeploy. In pinned v0.3.29, SMTP also uses RESEND_FROM_EMAIL as its sender; it defaults to noreply@multica.ai, which you must not use as your own verified sender. SMTP takes precedence over Resend.

Before sharing the service, configure ALLOW_SIGNUP=false plus your ALLOWED_EMAILS/ALLOWED_EMAIL_DOMAINS allowlist as needed. Existing users can still log in. Competing templates multica and multica-self-hosted also document log-code onboarding; multica-prebuilt instead uses a patched owner-password backend. Their documentation is not independent proof of working deployed onboarding.

Environment Variables

ServiceNameRequiredDefaultDescription
postgresPOSTGRES_PASSWORDyesgeneratedDatabase superuser password.
backendJWT_SECRETyesgeneratedAuth token signing secret (hex).
backendDATABASE_URLnoauto-composedPrivate-network Postgres URL — do not edit.
backendFRONTEND_ORIGINnoauto-composedFrontend HTTPS origin; controls Secure cookies and invitation links.
backendMULTICA_PUBLIC_URLnoruntime-derivedWebhook base URL — derived from the backend's public domain by the image wrapper.
frontendREMOTE_API_URLnoauto-composedBackend origin for the server-side proxy — do not edit.
backendRESEND_API_KEYno—Resend API credential for inbox delivery.
backendRESEND_FROM_EMAILnonoreply@multica.ai upstreamSet your verified sender when using Resend or SMTP.
backendSMTP_HOST, SMTP_PORTnoport 25 upstreamSMTP relay address/port; port 465 uses implicit TLS.
backendSMTP_USERNAME, SMTP_PASSWORDno—SMTP authentication credentials, if required.
backendintegrationsno—GITHUB_APP_*, MULTICA_LARK_SECRET_KEY, MULTICA_SLACK_SECRET_KEY, …

License

Multica is licensed under the Multica License (Apache-2.0 with additional conditions). Deploying it for internal use within one organization — including via this template — is permitted. Operating a hosted service for third parties requires a commercial license from the producer, and the Multica branding and attribution notices must be retained. Review the license before offering a Multica instance to users outside your organization.

Local Setup

docker compose -f docker-compose.selfhost.yml up   # upstream self-host stack
# or the template pieces individually:
docker run -d --name multica-pg -e POSTGRES_USER=app -e POSTGRES_PASSWORD=pw -e POSTGRES_DB=app postgres:18-alpine
docker run -d --name multica-be --link multica-pg -e JWT_SECRET=dev -e FRONTEND_ORIGIN=http://localhost:3000 -e DATABASE_URL=postgres://app:pw@multica-pg:5432/app wotonews/multica:v0.3.29-2
docker run -d --name multica-fe --link multica-be -e REMOTE_API_URL=http://multica-be:8080 -p 3000:3000 wotonews/multica-web:v0.3.29-1

Template Content

More templates in this category

View Template
Chat Chat
Chat Chat, your own unified chat and search to AI platform.

okisdev
117
View Template
NEW
Weaviate
Vector database with hybrid search and an API key-protected API

zer0person
1
View Template
Möbius v0.1 Personal AI OS
Self-hosted AI agent that builds and runs apps for you, with memory.

bento
1