Deploy DeskcommCRM

WhatsApp sales CRM with AI agents and a self-hosted Supabase, all in one

Deploy DeskcommCRM

Deploy and Host DeskcommCRM on Railway

DeskcommCRM is an open-source CRM for businesses that sell over WhatsApp. Conversations, contacts and deals live in one inbox and pipeline, and AI agents answer, qualify leads and follow up inside it, with a human able to take over at any point. It is a self-hosted alternative to Kommo, Octadesk and Intercom. This is a community-maintained template; it is not affiliated with the DeskcommCRM project.

About Hosting DeskcommCRM

DeskcommCRM is built on Supabase, and upstream's own installer expects a Supabase Cloud account for the database, authentication and file storage, with the CRM, WhatsApp bridge and scheduler on a separate server. This template runs everything on Railway instead, in one project, with nothing to sign up for first.

That makes it a large bundle: twelve services. Six are a self-hosted Supabase (Postgres, Auth, PostgREST, Realtime, Storage and the Kong gateway). Three are DeskcommCRM itself: the web app, the AI agent worker and a cron scheduler. The rest are WAHA for WhatsApp, Valkey, and a small bridge that lets the CRM's Upstash client talk to it. Idle, the whole bundle uses about 1.3 GB of memory.

The hard part of hosting it is the first boot, and the template does it for you. The app waits for Supabase's own services, applies DeskcommCRM's 25,000-line schema, creates your owner account, organisation and super-admin role, and only then starts serving. Nobody can reach a fresh instance before it is yours, and self-service signup starts closed, where upstream's default gives every visitor a tenant of their own.

Why Deploy DeskcommCRM on Railway?

Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.

By deploying DeskcommCRM on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.

Concretely, this template generates more than twenty secrets in the exact formats the CRM requires, derives Supabase's API keys from one of them at start-up, wires all twelve services over Railway's private network with dual-stack listeners, attaches volumes to the database, file storage and WhatsApp sessions, and turns off upstream's default crash reporting to the project's Sentry.

Common Use Cases

  • Answer and qualify WhatsApp leads around the clock with AI agents, and hand over to a salesperson when a deal is real.
  • Run a sales team's shared WhatsApp inbox with assignment, notes and follow-up reminders.
  • Keep customer conversations and data on infrastructure you control, for LGPD or simply ownership.
  • Replace a per-seat SaaS CRM for a small business that sells by chat.

Dependencies for DeskcommCRM Hosting

  • A WhatsApp number to pair, scanned by QR code from the phone.
  • An AI provider key (OpenRouter, OpenAI or Anthropic), added in the app, if you want the agents to answer.
  • Optional: a Resend API key for invitation e-mails. Without one, the app shows invitation links on screen.
  • Nothing else. No Supabase, Upstash or other external account.

Deployment Dependencies

WAHA automates WhatsApp Web rather than using Meta's official Business Platform. WhatsApp can restrict numbers used this way; use a number you can afford to lose, and read the security notes in the template repository first.

Implementation Details

Seven of the twelve services run thin wrapper images published from the template repository; the other five run upstream images unchanged. The wrappers add no application code. They bake in the configuration Supabase's compose file would bind-mount, mint the anon and service-role keys from the shared JWT secret with byte-identical output in Node and Perl, keep the Vault root key on the database volume, apply the schema once per release with a recorded version, make the scheduler reach the app at its Railway hostname, and refuse to start on missing, short or published example secrets. The bundle is tested as a whole in CI, on fresh and on reused volumes, before any image is pushed.

The deploy form asks for one value, OWNER_EMAIL. After deploying, copy OWNER_PASSWORD from the app service's variables and sign in on the app's domain.


Template Content

More templates in this category

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

okisdev
116
View Template
stella
Self-host stella with web, API, Postgres, Redis, and object storage.

Jan Kubica
5
View Template
Hermes Agent | OpenClaw Alternative with Dashboard
Self-Hosted Hermes AI Agent for Telegram, Discord & Slack

codestorm
73