Deploy Multica (Prebuilt)
AI coding agent issue tracker for Claude Code, Codex, Cursor and 17 more
Postgres
Just deployed
/var/lib/postgresql/data
multica-web
Just deployed
multica-api
Just deployed
/app/data/uploads
Deploy and Host Multica on Railway
Multica is a self-hosted issue tracker whose assignees can be AI coding agents. Assign work to Claude Code, Codex, Cursor, Copilot CLI, OpenCode or another supported agent, and it runs on a machine you control.
This template uses prebuilt images based on Multica v0.5.1 with an owner-password login patch. Enter your owner email and password during deployment, then sign in with those credentials. No email provider or verification code is required.
About Hosting Multica
The template includes three services: a Go API and live-updates server, a Next.js web app, and PostgreSQL 17 with pgvector. Services communicate over Railway's private network. The web service forwards API and sign-in requests to the backend so authentication cookies work on one browser address.
The API and database have separate persistent disks. Database passwords and session signing keys are generated uniquely for each deployment.
Common Use Cases
- A private issue tracker with AI agents and humans working on the same board.
- A shared team board that dispatches tasks to agents installed on local machines.
- Keeping issue data and attachments on infrastructure you control.
Dependencies for Multica Hosting
- PostgreSQL 17 with pgvector, included in the template.
- The Multica CLI and at least one supported AI agent installed on your own machine. Agents run locally, not on Railway.
Deployment Dependencies
- Upstream project: https://github.com/multica-ai/multica
- Owner-password fork: https://github.com/hmseeb/multica-railway/tree/railway-owner-password
- Self-hosting guide: https://github.com/multica-ai/multica/blob/main/SELF_HOSTING.md
- CLI installation:
brew install multica-ai/tap/multica
Implementation Details
Owner account. The deploy form requires MULTICA_OWNER_EMAIL and
MULTICA_OWNER_PASSWORD. Use a password of at least 15 characters. Open the web
service's public address, sign in with those credentials, and create your
workspace. Email delivery is optional.
The owner is initialized once, only on an empty database. Its salted password hash is stored in PostgreSQL. Redeploying does not replace the account or its password. Changing the owner environment variables is not a password reset, and these variables cannot take over an existing user's account.
Private by default. New account signup is disabled with ALLOW_SIGNUP=false.
If you need other users, configure email delivery and your signup/invitation
policy. Do not enable a fixed MULTICA_DEV_VERIFICATION_CODE on a public instance.
Optional email delivery. Set RESEND_API_KEY and RESEND_FROM_EMAIL to a
sender on your verified Resend domain, then redeploy the API. SMTP is also
supported via SMTP_HOST, SMTP_PORT, SMTP_USERNAME, SMTP_PASSWORD and
SMTP_FROM_EMAIL. Without an email provider, owner-password deployments hide
email-code login instead of asking you to find a code in the logs.
Connecting your machine. Install the CLI and point it at the API and web service addresses:
multica setup self-host --server-url https://YOUR-API-ADDRESS --app-url https://YOUR-WEB-ADDRESS
Open Settings, then Runtimes to check that your machine is connected.
Optional integrations. Google sign-in uses GOOGLE_CLIENT_ID,
GOOGLE_CLIENT_SECRET and GOOGLE_REDIRECT_URI. GitHub uses GITHUB_APP_SLUG
and GITHUB_WEBHOOK_SECRET. Object storage uses S3_BUCKET, S3_REGION and
matching credentials. Owner-password login has PostgreSQL-backed attempt limits;
Redis via REDIS_URL can enable the upstream email/auth rate limiter.
Self-hosted Gitea, Forgejo or GitLab requires
MULTICA_VCS_INTEGRATION_ENABLED=true and MULTICA_VCS_SECRET_KEY: exactly 32
random bytes in base64, generated with openssl rand -base64 32.
First boot. The API runs database migrations before it answers health checks. Give it a few minutes. With no email provider, sign in using your owner password. Logs about disabled optional email, Redis or VCS integrations do not prevent owner-password login.
Upgrades and limits. Keep the backend and web services on the same tested owner-password build. Replacing them with official upstream images removes this patch's password-login support. Images are pinned by digest for reproducible deployments. Attachments remain on the API disk; move them to object storage before adding replicas. Automatic database backups are not configured by this template. Password reset UI is not included.
License. Multica's license permits internal use within your organization. Operating a hosted service for third parties requires a commercial license from Multica. The fork retains the upstream branding, license and attribution.
Why Deploy Multica on Railway?
Railway provides private networking, persistent disks and HTTPS service addresses for this stack. Prebuilt images avoid compiling Go and Next.js during deployment, and owner-password login removes the email-provider setup step for the initial owner.
Template Content
Postgres
pgvector/pgvector:pg17multica-web
ghcr.io/hmseeb/multica-webmultica-api
ghcr.io/hmseeb/multica-backendMULTICA_OWNER_EMAIL
Owner account email. Sign in with this email and your owner password; email verification is not needed.
MULTICA_OWNER_PASSWORD
Owner password: at least 15 characters. Saved on first boot only; changing this variable does not reset an existing account.
