Skip to content

7w1/sable

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2,090 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Sable

A Matrix client built to enhance the user experience with quality-of-life features, cosmetics, utilites, 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 can either run the prebuilt container image or build Sable yourself.

Docker

Prebuilt images are published to ghcr.io/7w1/sable.

  • latest tracks the current dev branch image.
  • X.Y.Z tags are versioned releases.
  • X.Y tags float within a release line.
  • Pushes to dev also publish a short commit SHA tag.

Run the latest image with:

docker run --rm -p 8080:80 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:80'
    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.

  • The default homeservers and explore pages are defined in config.json.

  • You can also disable the account switcher in the config.json.

  • To deploy on subdirectory, you need to rebuild the app youself after updating the base path in build.config.ts.

    • For example, if you want to deploy on https://sable.moe/app, then set base: '/app'.

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 start # Serve a development version

To build the app:

npm run build # Compiles the app into the dist/ directory

About

Yet another matrix client but better

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors

No contributors

Languages

  • TypeScript 98.2%
  • Other 1.8%