Guide

How to self-host live chat on Linux with Docker

If you run Linux, hosting your own live chat is a standard container deployment: the ASP.NET Core app in Docker, SQL Server as the database, and a reverse proxy for HTTPS. This guide walks the five steps from a fresh host to a working chat widget, with every conversation stored in your own database. Prefer Windows? See the IIS setup guide.

Step 1. Install Docker

On your Linux host, install Docker Engine and the Compose plugin. Confirm you can reach a SQL Server instance - it can run on the same host, elsewhere on your network, or as Microsoft's official SQL Server container. If you just want to try it first, the free localhost evaluation runs on a single machine with nothing else to set up.

Step 2. Create the database

Create an empty database on your SQL Server and run the included SQL scripts to build the schema. Because the data lives in your own SQL Server, transcripts and visitor records stay on infrastructure you control, queryable and backed up with your existing tools.

Step 3. Run the container

Set the database connection string as an environment variable and start the app with the included docker-compose file, or run the container directly and publish its port. Browse to the host to confirm it loads. Compose keeps the app and its configuration reproducible, so redeploys and upgrades are a single command.

Step 4. Reverse proxy with HTTPS

Put Nginx, Caddy, or Traefik in front of the container to terminate TLS with a certificate from Let's Encrypt. The app listens on plain HTTP inside your network while the proxy handles encryption and forwarding - the same pattern you already use for your other Linux services.

Step 5. Add the widget

Sign in to the dashboard, create and style a widget, and paste its snippet into your website just before the closing body tag. Start a test chat, answer it from the dashboard, and you are live - with the AI chatbot answering first if you have connected a local Ollama model or your own provider keys.

One codebase, your platform

Run it wherever your team already operates

The same application runs on Linux and Docker or on Windows Server with IIS, against the same SQL Server schema. Keep customer conversations in your own database, add a fully local AI chatbot with Ollama, and manage the service with the tooling you already run.

Do I need Windows to run ZChat?
No. The ASP.NET Core edition runs on Linux and in Docker behind Nginx, Caddy, or Traefik. SQL Server also runs on Linux and as a container, so the whole stack can be self-hosted without any Windows machine.
Can the AI chatbot run without internet access on Linux?
Yes. Point the chatbot at a local Ollama model and the AI runs entirely on your own server with no outbound traffic. You can also bring your own OpenAI or Anthropic API keys instead.
Which database does it use on Linux?
SQL Server, including Microsoft's Linux container image. Conversations, visitor records, and audit logs live in your own database and are backed up with your existing tools.
How do I put ZChat behind HTTPS?
Run a reverse proxy such as Nginx, Caddy, or Traefik in front of the app and terminate TLS there with a certificate from Let's Encrypt. The app listens on plain HTTP inside your network while the proxy handles encryption.
Owned customer support software

Deploy live chat on your own terms, not on someone else's pricing model.

ZChat gives you the installable server, web dashboard, website widget, and desktop agent tools in one self-hosted product you buy once and keep. Run it on infrastructure you trust and connect AI only if and how you want it.

Deployment

Install on Windows or Linux, behind IIS or Nginx, in a VM, or in Docker if that fits your stack.

Commercial model

One-time purchase, perpetual license, and no monthly per-agent bill attached to growth.

AI Flexibility

Use Ollama locally or connect OpenAI and Anthropic with your own provider accounts.