Self-hosted team chat: rooms, DMs, calls, and an HTTP API, shipped as a single Rust binary. Talk on your own terms.
Live staging: https://chat.a8n.systems. Sign in with Bunyip; a throwaway account created at https://a8n.systems works.
Staging shows features in development, not a polished demo. It tracks the latest build from
main, and its data can be reset or redeployed without notice - rooms, messages, and uploads are throwaway. Do not reuse a real password.
Everything else is in docs/, indexed there in full:
- quickstart.md - run the container, or bring up the local dev stack
- configuration.md - every environment variable and what it gates
- features.md - what the product does, surface by surface
- operations.md - health probes and boot dependencies
- architecture.md - the stack, the build modes, the repository layout
- api.md - the JSON HTTP API v1, scopes, and webhooks
Upgrading a deployment starts with CHANGELOG.md, which calls out behavior changes, security fixes, and new variables you may need to set first.
The development home for this repository is https://dev.a8n.run/psa-systems/lets-chat. The GitHub and Codeberg copies are read-only mirrors that exist for visibility only: issues and pull requests are disabled there, and no community support runs on the mirrors. File issues and open pull requests on Forgejo.
Please do not report a suspected vulnerability through the public issue tracker, on Forgejo or on either mirror: filing it there publishes it. Contact a maintainer privately instead. A published disclosure address and a SECURITY.md are being set up and this section will link to them.
MIT. See LICENSE.
Let's Chat is built by PSA Systems.
Built on Rust, Axum, Askama, HTMX, SQLite via SQLx, Tailwind CSS and Project Fluent, with the desktop app on Tauri and stage audio on LiveKit. Driven by just and Nushell, and deployed behind Traefik.
