Colloqui

Your team chat.
Entirely yours.

Colloqui is a fully self-hosted team and family chat server. No third-party services, no phone-home, no vendor lock-in — just your conversations, on hardware you control.

Get it on GitHub Explore features
Self-hosted Open source Passkey sign-in Single Docker image
The name

To speak together

Colloqui is Latin — the infinitive of colloquor, "to talk together, to converse." It joins com- ("together with," which softens to col- before an L) with loqui ("to speak"): literally, to speak together. The same root loqui runs through English eloquent, loquacious, and soliloquy — "speaking alone," the opposite idea.

col- · together + loqui · to speak = colloqui
Why Colloqui

Sovereign by design

Most chat tools live in someone else's cloud and quietly own your data. Colloqui refuses the trade-off: every message, file, and account stays on infrastructure you run.

Runs on your hardware

FastAPI + PostgreSQL + a no-framework web client, shipped as a single Docker image. Stand it up on a NAS, a home server, or any box with Docker.

No phone-home

The only outbound call the server ever makes is fetching a pasted link's title for a preview — and it's SSRF-hardened, refusing private, loopback, and cloud-metadata addresses.

No vendor lock-in

All state lives in Postgres and an uploads folder — never baked into the image. Move from a laptop to a NAS and everything comes with you, passkeys included.

Built for a household or team

Spaces keep groups organized, public and private channels keep conversations where they belong, and the first account you register becomes the admin.

Everything inside

A complete chat workspace

All the messaging features you expect — plus a few that most tools leave out.

Spaces & channels

Public and private channels organized into spaces, plus one-to-one DMs and group DMs.

Threads & reactions

Keep replies tidy with threads, react with emoji, @mention teammates, and pin what matters.

Shared task checklists

Turn any channel into a workspace with shared checklists the whole group can tick off.

Reminders & iCal feed

Set reminders that surface when you need them, with an iCal feed you can subscribe to.

Files & link previews

Drag-and-drop uploads with inline image preview, and rich previews for pasted links.

Full-text search

Find any message instantly across every channel and conversation you can see.

Smart notifications

Per-channel notification levels, web push for the PWA, and optional native iOS push.

Incoming webhooks

Pipe alerts from your own tools and scripts straight into a channel.

Passkeys or passwords

Sign in with a WebAuthn passkey or a classic username and password — your choice.

Your conversations never leave home

Sign in with a passkey bound to your own domain, or a username and password on a bare LAN — both work. Native iOS push goes through Apple with your own signing key; web push is generated on first boot with no third-party gateway.

Expose it to the world with a Cloudflare Tunnel and no open inbound ports, or keep it entirely on your LAN. Either way, the data is yours.

Run it yourself

Self-host in three steps

You need Docker with Compose. That's it — the database schema is created and upgraded automatically on startup.

1

Clone it

Grab the repo and drop into the folder.

2

Configure

Copy the example env and set your database password, domain, and origin.

3

Bring it up

One compose command and you're live on port 3300.

# 1 · clone
git clone https://github.com/jwapps-app/colloqui colloqui
cd colloqui

# 2 · configure
cp .env.example .env
# edit .env: POSTGRES_PASSWORD, RP_ID, ORIGIN

# 3 · launch
docker compose -f docker-compose.prod.yml up -d

Open http://<host>:3300 — the first account you register becomes the admin. Works great on a Synology NAS or behind a Cloudflare Tunnel.

FastAPIPostgreSQLDockerWebAuthnMulti-arch
FAQ

Questions, answered

Is Colloqui a self-hosted alternative to Slack?
Yes. Colloqui gives you the same kind of workspace as hosted team-chat tools like Slack or Discord — spaces, channels, DMs, threads, reactions, and @mentions — but it runs entirely on hardware you control, with no third-party services and no phone-home.
What do I need to run it?
Just Docker with Compose. Colloqui ships as a single multi-arch image and creates its own database schema on startup, so there's no manual migration step. It runs happily on a home server, a Synology NAS, or any Linux box.
How do I expose it to the internet safely?
The easiest path is a Cloudflare Tunnel — you get a public HTTPS hostname without opening any inbound ports. You can also keep Colloqui entirely on your LAN and reach it by local IP; passkeys need HTTPS, but password sign-in works on a bare LAN.
Is my data really private?
All state lives in your own Postgres database and uploads folder. The only outbound call the server makes is fetching a pasted link's title for a preview — and that's SSRF-hardened, refusing private, loopback, and cloud-metadata addresses.
Does it cost anything?
Colloqui is free and open source. You only pay for whatever hardware or hosting you choose to run it on — there's no subscription and no per-seat pricing.