Chatwoot logo

Deploy Chatwoot

Run your own live chat and shared support inbox

CommunicationWorkHelpdeskChatwoot + Worker + PostgreSQL + Valkey + Email

Deploy Chatwoot with managed Postgres, Valkey, a background worker, platform email, and a public HTTPS URL. Your team answers website chat from one inbox. You pay for compute, not per agent seat.

Chatwoot running on StackBlaze

What you get with Chatwoot

  • Live chat on your siteCreate a Website inbox and paste its script into your site. Visitors chat from the widget; agents answer from the dashboard.
  • One inbox for the teamAssign conversations, leave private notes, tag them with labels, and reply faster with canned responses.
  • Live updates, a real workerA Sidekiq worker runs next to the web app. New messages appear in the agent view as they arrive, and replies reach the widget straight away.
  • Email includedAgent invites, password resets, notifications, and replies to visitors who left the page go out through the platform’s email add-on.
  • Your data, your instanceConversations and contacts live in your own Postgres. Session and encryption keys are generated at deploy and unique to this instance.
  • Uploads that persistAttachments and avatars sit on a 5 GB volume shared by the web app and the worker. Redeploys keep them.

After you deploy Chatwoot

  1. 1Create your adminOpen the public URL. The first start loads the database and takes about two minutes. Then fill in the setup form: name, company, email, and password.
  2. 2Add a Website inboxIn Settings → Inboxes, add a Website channel and copy its script into your site. The widget appears on every page.
  3. 3Invite your teamAdd agents in Settings → Agents. Each one gets an email to set a password, then sees the conversations assigned to them.

How Chatwoot is wired

Chatwoot runs as two processes from one image: the web app on the public URL, and a Sidekiq worker for background jobs. Postgres, Valkey and email are wired in at deploy.

Postgres holds the data
Conversations, contacts, inboxes, and settings live in the attached PostgreSQL with pgvector. Back it up if the history matters.
Valkey drives the queue
Valkey carries the job queue and live updates between the web app and the worker. Both must be running for messages and email to flow.
Keep the generated keys
SECRET_KEY_BASE and the ACTIVE_RECORD_ENCRYPTION_* keys are generated once at deploy. Changing them later signs everyone out and breaks encrypted data.
Scale for busy teams
Each process starts with 768 MB reserved and can use up to 1.5 GB. Raise CPU and RAM, or add web replicas, from the dashboard as volume grows.

Why run Chatwoot on StackBlaze

  • Scale your appChange CPU, RAM, and replicas without a rebuild, or let autoscaling add replicas when CPU climbs.
  • Git-based CI/CDPush to GitHub and it builds and ships. Pull requests get their own preview URL on Pro and Business.
  • One-click rollbackA deploy went wrong? Go back to any previous successful deploy.
  • Environments built inProduction, staging, and dev as separate environments in one project, each with its own URL.
  • Built-in observabilityCPU, memory, and response time per app, live logs with search, and alerts to Slack, Discord, or a webhook.
  • Developer-first toolsA CLI and Stack MCP: deploy, read logs, and wire services from your terminal or your AI assistant.
  • Built for teamsInvite teammates with roles. An audit log records who changed what.
  • Managed Postgres with HAPostgres is run for you. Turn on high availability for a three-node cluster when the app needs it.

Common questions about Chatwoot

How do I sign in after deploy?

Open the public URL. The first visit shows a one-time setup form that creates your account and its admin. After that, sign in with that email and password.

How do I put the chat widget on my site?

Create a Website inbox in Settings → Inboxes. Chatwoot gives you a short script; paste it into your site’s HTML and the widget appears.

Does it send email?

Yes. The template connects the platform email add-on, so agent invites, password resets, notifications, and replies to visitors who left the page are delivered without an SMTP account.

Can customers reply by email?

Not out of the box. Receiving email needs an inbound mail setup: a domain with mail routing and the MAILER_INBOUND_EMAIL_DOMAIN and RAILS_INBOUND_EMAIL_SERVICE variables, as described in Chatwoot’s docs.

Where are files stored?

Attachments and avatars are on a 5 GB volume mounted at /app/storage, shared by the web app and the worker. They survive redeploys.

Can I use my own domain?

Yes. Attach a custom domain from the dashboard and update FRONTEND_URL to match, so links in emails and the widget use it. Custom domains

What does it cost?

You pay for the Chatwoot processes, Postgres, Valkey, storage and bandwidth, not per agent or per conversation. Pricing

More Communication templates