Skip to main content

Why Self-Host

Self-hosting Sable gives you complete control over your Matrix client deployment. You can:
  • Customize the default homeserver and explore pages
  • Configure account switcher settings
  • Deploy on your own domain or subdirectory
  • Maintain privacy and data sovereignty
  • Apply custom branding and modifications

Requirements

Before deploying Sable, ensure you have the following:
  • Node.js: Version 24.x
  • npm: Version 11.x
  • Web server: nginx or similar (for production)
  • Git: To clone the repository
Sable requires specific versions of Node.js and npm. Using a version manager like fnm or nvm is recommended.

Deployment Options

Sable can be deployed using several methods:

Docker Deployment

The easiest way to deploy Sable is using Docker. This method packages the application with nginx in a single container.
  • Pre-configured nginx setup
  • Minimal manual configuration
  • Easy updates and rollbacks
See the Docker deployment guide for detailed instructions.

Manual Build

For more control, you can build Sable manually and serve it with your own web server.
1

Clone the repository

Download the Sable repository to your local machine or server.
2

Install dependencies

npm ci
3

Build the application

npm run build
This compiles the app into the dist/ directory.
4

Deploy the dist directory

Copy the dist/ directory to your web server and configure it to serve the static files.

Configuration

After building Sable, you can customize several settings:
  • Default homeservers: Configure in config.json
  • Explore pages: Also defined in config.json
  • Account switcher: Enable or disable in config.json
  • Base path: For subdirectory deployments, modify build.config.ts before building

Next Steps

Docker Deployment

Deploy Sable using Docker with pre-configured nginx

Nginx Configuration

Configure nginx for reverse proxy and SSL/TLS

Subdirectory Deployment

Deploy Sable on a subdirectory path

Build docs developers (and LLMs) love