Quick Start
Introduction
Section titled “Introduction”Everything you need to get your own Chatto instance started is bundled into a single chatto binary. Depending on where and how you want to host it,
there’s also a Docker image available; we also have example configuration files for Docker Compose, Kubernetes and more in the Deployment section.
Using Docker (Recommended)
Section titled “Using Docker (Recommended)”The fastest way to try Chatto:
docker run -p 4000:4000 ghcr.io/hmans/chatto:latestOpen http://localhost:4000 in your browser.
Persistent Docker Setup
Section titled “Persistent Docker Setup”To keep your configuration and data across container restarts, use a bind mount:
-
Create a directory for Chatto data:
Terminal window mkdir -p chatto-data -
Generate a configuration file:
Terminal window docker run --rm \-v ./chatto-data:/data \ghcr.io/hmans/chatto:latest \init -c /data/chatto.tomlThis writes
chatto.tomlwith generated secrets into yourchatto-data/directory on the host. -
Start the server:
Terminal window docker run -p 4000:4000 \-v ./chatto-data:/data \ghcr.io/hmans/chatto:latest \run -c /data/chatto.toml -
Open your browser to http://localhost:4000.
From Binary
Section titled “From Binary”-
Download the latest release from GitHub Releases.
-
Generate a configuration file:
Terminal window chatto initThis creates a
chatto.tomlwith random secrets for cookie signing, asset signing, and NATS authentication. -
Start the server:
Terminal window chatto run -
Open your browser to http://localhost:4000.
The chatto init command generates a configuration like this:
# chatto.toml (generated by chatto init)[general]log_level = "debug"
[webserver]port = 4000url = "http://localhost:4000"cookie_signing_secret = "<generated>"
[core.assets]signing_secret = "<generated>"max_upload_size = "25 MB"
[nats.embedded]enabled = trueport = 4222bind_address = "127.0.0.1"http_port = 8222data_dir = "./data"auth_token = "<generated>"
[nats.client]url = "nats://localhost:4222"auth_method = "token"token = "<generated>"