RemarkableCloud

Docker image

Chatwoot in Docker. Support inbox, your server.

Chatwoot is the open source customer engagement platform: live chat for your website plus a shared inbox for email, WhatsApp and social channels, the self-hosted answer to Zendesk and Intercom.

Prefer not to run it yourself? Managed Chatwoot from $13.33/mo

ghcr.io/remarkablecloud/chatwoot
# Chatwoot in Docker, base pinned by digest
docker pull ghcr.io/remarkablecloud/chatwoot:4.17.1-r1
docker compose up -d
Current build
4.17.1-r1, updated Sep 11, 2026
Base
Chatwoot official, digest-pinned
What's inside
Live chat + shared inbox, pgvector Postgres and Redis wired, generated super admin, signup closed
Upstream license
Chatwoot: MIT (with a separately licensed enterprise/ directory, not enabled in this image).

The image

What our image adds.

What changes from upstream Chatwoot, and why it matters in production.

Generated super admin on first boot

The account exists before the port opens; the credentials are printed once to the container log and never baked into the image.

Self-registration disabled by default

A support tool should not be an open signup page; agents get invited by the admin.

pgvector-ready database

The stack ships PostgreSQL 16 with pgvector, so Chatwoot's AI features have the vector store they expect from day one.

One container, both processes

Web and worker (Sidekiq) run together under one supervisor, sized for single-server deployments; no second container to babysit.

Proxy-aware

FRONTEND_URL drives every generated link; TLS terminates at your reverse proxy.

Run it yourself, or not

Same image either way.

Pull it and run it anywhere, or let us run Chatwoot for you on a managed server with updates, monitoring and snapshots.

Free

Run Chatwoot yourself

  • Pull it from GHCR and run it on any Docker host
  • The guide below: compose, environment, backups, upgrades
  • You patch, back up and watch it
Read the guide
Managed

Chatwoot on a managed server

  • Installed for you from this same image, $0 for the app
  • Updates with a snapshot first, monitoring and a managed firewall
  • A 4 GB server from $13.33/mo billed annually, with room for more apps

The guide

Run it in production.

Compose file, environment reference, hardening, backups and upgrades, written by the people who build the image.

On this page

Architecture at a glance

Three containers: chatwoot (Rails web + Sidekiq worker), postgres (pgvector/pg16), redis (7, password-protected). Chatwoot listens on 3000 inside the network; the compose maps it to a host port for your proxy. State lives in PostgreSQL and Redis plus a storage volume for uploads.

Docker Compose walkthrough

The compose in the repository is the reference. The essentials: set DB_PASSWORD, REDIS_PASSWORD and SITE_URL in your .env, keep the Postgres and Redis services on the internal network only, and front the mapped port with your TLS proxy. First boot runs the database preparation and prints the super admin credentials in the chatwoot container log; store them, then log in and invite your agents.

Environment variable reference

VariablePurpose
POSTGRES_HOST / POSTGRES_USERNAME / POSTGRES_PASSWORDDatabase connection
REDIS_URL / REDIS_PASSWORDRedis connection (sessions, Sidekiq, cache)
FRONTEND_URLPublic https URL; drives links in emails and the widget
SMTP settingsOutbound mail for agent invites and notifications; configure before inviting anyone

Hardening notes

Registration stays closed unless you deliberately open it. The super admin password is generated per install, never a default. Keep 3000 unpublished except through your proxy, and give Redis its password even on the internal network; Sidekiq jobs are not something a neighbor container should be able to enqueue.

Backups

Two things hold the state: the PostgreSQL database and the storage volume (attachments, avatars). Dump the database with pg_dump on schedule and back the volume as files; restoring both restores every conversation.

Upgrades

New image tags follow upstream releases. Pull the new tag, recreate the container, and migrations run on boot. Check the changelog entry before jumping multiple majors.

Changelog

Each build is pinned by digest and recorded here, so you can see what changed before you pull a new tag.

  1. 4.17.1-r1 Current Sep 11, 2026
Full changelog on GitHub

Chatwoot and other product names are trademarks of their respective owners. RemarkableCloud is not affiliated with or endorsed by them.

FAQ

Chatwoot in Docker, answered.

Short answers from the people who build and run this image.

Is this the full Chatwoot?

It is Chatwoot's MIT-licensed community code; the separately licensed enterprise directory is not enabled in this image.

Can I connect WhatsApp and social channels?

Yes, through Chatwoot's channel integrations; each provider needs its own API credentials configured in the dashboard.

Why don't I see a signup page?

By design. The generated super admin invites agents; open registration on a support tool is an attack surface, not a feature.

Where are the admin credentials?

Printed once in the chatwoot container log on first boot. Read them with docker logs, store them in your password manager, then rotate the password in the profile.

Pull it, or let us run it.

The same image runs Chatwoot on our managed servers, updates and monitoring included.