---
title: "Deploy Multica [Oct '26]"
description: "AI teammates on one board: humans + agents, chat, squads. [Oct '26]"
category: "AI/ML"
url: https://railway.com/deploy/multica-oct-26
---

# Deploy Multica [Oct '26]

AI teammates on one board: humans + agents, chat, squads. [Oct '26]

**[Deploy Multica [Oct '26] on Railway](https://railway.com/template/multica-oct-26)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/multica-oct-26/manifest.json

- **Creator:** wotonews
- **Category:** AI/ML

## Template content

### frontend

- **Image:** wotonews/multica-web:v0.3.29-1

### backend

- **Image:** wotonews/multica:v0.3.29-2

### postgres

- **Image:** wotonews/postgres:v18.6-1

## Documentation

🟢 **Actively maintained** — last updated Oct '26.

# 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.

&gt; 🔄 **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

- [PostgreSQL 18](https://www.postgresql.org/) (bundled service, `pgcrypto` + `pg_trgm` preinstalled)
- [`ghcr.io/multica-ai/multica-backend:v0.3.29`](https://github.com/multica-ai/multica) via wrapper `wotonews/multica:v0.3.29-2`
- [`ghcr.io/multica-ai/multica-web:v0.3.29`](https://github.com/multica-ai/multica) via runtime-proxy wrapper `wotonews/multica-web:v0.3.29-1`
- Optional: Resend or SMTP for email codes; GitHub App, Lark, Slack, Telegram integrations

### Deployment Dependencies

- Source: https://github.com/multica-ai/multica
- Docs: https://github.com/multica-ai/multica#readme

## Login credentials

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

| | |
| :--- | :--- |
| **URL** | the `frontend` service's public domain (`https://`) |
| **Username** | your email address (any address you choose on first sign-in) |
| **Password** | none — 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

| Service | Name | Required | Default | Description |
| :--- | :--- | :---: | :--- | :--- |
| postgres | `POSTGRES_PASSWORD` | **yes** | *generated* | Database superuser password. |
| backend | `JWT_SECRET` | **yes** | *generated* | Auth token signing secret (hex). |
| backend | `DATABASE_URL` | no | *auto-composed* | Private-network Postgres URL — do not edit. |
| backend | `FRONTEND_ORIGIN` | no | *auto-composed* | Frontend HTTPS origin; controls Secure cookies and invitation links. |
| backend | `MULTICA_PUBLIC_URL` | no | *runtime-derived* | Webhook base URL — derived from the backend's public domain by the image wrapper. |
| frontend | `REMOTE_API_URL` | no | *auto-composed* | Backend origin for the server-side proxy — do not edit. |
| backend | `RESEND_API_KEY` | no | — | Resend API credential for inbox delivery. |
| backend | `RESEND_FROM_EMAIL` | no | `noreply@multica.ai` upstream | Set your verified sender when using Resend or SMTP. |
| backend | `SMTP_HOST`, `SMTP_PORT` | no | port `25` upstream | SMTP relay address/port; port `465` uses implicit TLS. |
| backend | `SMTP_USERNAME`, `SMTP_PASSWORD` | no | — | SMTP authentication credentials, if required. |
| backend | integrations | no | — | `GITHUB_APP_*`, `MULTICA_LARK_SECRET_KEY`, `MULTICA_SLACK_SECRET_KEY`, … |

## License

Multica is licensed under the [Multica License](https://github.com/multica-ai/multica/blob/main/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

```bash
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
```




## Similar templates

- [Chat Chat](https://railway.com/deploy/-WWW5r) — Chat Chat, your own unified chat and search to AI platform.
- [Weaviate](https://railway.com/deploy/weaviate-1) — Vector database with hybrid search and an API key-protected API
- [Möbius v0.1 Personal AI OS](https://railway.com/deploy/mobius-v01-personal-ai-os) — Self-hosted AI agent that builds and runs apps for you, with memory.

Open this page in a browser: https://railway.com/deploy/multica-oct-26
