Sable
March 9, 2026 ยท View on GitHub
Warning
Sable has moved to SableClient/Sable, please head there for all future pull requests, discussions, questions, and meowing!
Sable
A Matrix client built to enhance the user experience with quality-of-life features, cosmetics, utilities, and sheer usability. See the changelog.
Join our matrix space here to discuss features, issues, or meowing.
Forked from Cinny.
Getting started
The web app is available at app.sable.moe and gets updated on frequently, as soon as a feature is deemed stable.
You can also download our desktop app for windows and linux from releases.
Self-hosting
You have a few options for self hosting, you can:
- Run the prebuilt docker container.
- Deploy on a site like GitLab Pages. Jae has a guide here.
- Build it yourself.
Docker
Prebuilt images are published to ghcr.io/7w1/sable.
latesttracks the currentdevbranch image.X.Y.Ztags are versioned releases.X.Ytags float within a release line.- Pushes to
devalso publish a short commit SHA tag.
Run the latest image with:
docker run --rm -p 8080:8080 ghcr.io/7w1/sable:latest
Then open http://localhost:8080.
If you want to override the bundled config.json, mount your own
file at /app/config.json:
services:
sable:
image: ghcr.io/7w1/sable:latest
ports:
- '8080:8080'
volumes:
- ./config.json:/app/config.json:ro
Build it yourself
To build and serve Sable yourself with nginx, clone this repo and build it:
npm ci # Installs all dependencies
npm run build # Compiles the app into the dist/ directory
After that, you can copy the dist/ directory to your server and serve it.
-
In the
config.json, you can modify the default homeservers, feature rooms/spaces, toggle the account switcher, and toggle experimental simplified slilding sync support. -
To deploy on subdirectory, you need to rebuild the app youself after updating the
basepath inbuild.config.ts.- For example, if you want to deploy on
https://sable.moe/app, then setbase: '/app'.
- For example, if you want to deploy on
Local development
Tip
We recommend using a version manager as versions change quickly. fnm is a great cross-platform option (Windows, macOS, and Linux). NVM on Windows and nvm on Linux/macOS are also good choices. Use the version defined in .node-version.
Execute the following commands to start a development server:
npm ci # Installs all dependencies
npm run dev # Serve a development version
To build the app:
npm run build # Compiles the app into the dist/ directory
Deployment and infrastructure
Deployment workflows and infrastructure details live in
infra/README.md.