docs: rewrite README for Sanctum self-hosted setup

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
MiTHRAL 2026-04-21 01:14:41 -04:00
parent 376dc56e52
commit 2379562aec

View file

@ -1,84 +1,72 @@
<div align="center">
<h1>
Stoat for Desktop
[![Stars](https://img.shields.io/github/stars/stoatchat/for-desktop?style=flat-square&logoColor=white)](https://github.com/stoatchat/for-desktop/stargazers)
[![Forks](https://img.shields.io/github/forks/stoatchat/for-desktop?style=flat-square&logoColor=white)](https://github.com/stoatchat/for-desktop/network/members)
[![Pull Requests](https://img.shields.io/github/issues-pr/stoatchat/for-desktop?style=flat-square&logoColor=white)](https://github.com/stoatchat/for-desktop/pulls)
[![Issues](https://img.shields.io/github/issues/stoatchat/for-desktop?style=flat-square&logoColor=white)](https://github.com/stoatchat/for-desktop/issues)
[![Contributors](https://img.shields.io/github/contributors/stoatchat/for-desktop?style=flat-square&logoColor=white)](https://github.com/stoatchat/for-desktop/graphs/contributors)
[![License](https://img.shields.io/github/license/stoatchat/for-desktop?style=flat-square&logoColor=white)](https://github.com/stoatchat/for-desktop/blob/main/LICENSE)
</h1>
Application for Windows, macOS, and Linux.
<h1>Sanctum</h1>
A self-hosted Revolt desktop client for Windows and Linux, built on top of <a href="https://github.com/stoatchat/for-desktop">Stoat for Desktop</a>.
Connects exclusively to <a href="https://mithraic.space">mithraic.space</a>.
</div>
<br/>
## Installation
<a href="https://repology.org/project/stoat-desktop/versions">
<img src="https://repology.org/badge/vertical-allrepos/stoat-desktop.svg" alt="Packaging status" align="right">
</a>
Download the latest release from [git.mithraic.cloud/ad3laid3/sanctum/releases](https://git.mithraic.cloud/ad3laid3/sanctum/releases).
- All downloads and instructions for Stoat can be found on our [Website](https://stoat.chat/download).
**Linux (zip):**
```bash
mkdir -p ~/.local/share/sanctum
unzip sanctum-linux-x64-*.zip -d ~/.local/share/sanctum/
# create a .desktop launcher
cat > ~/.local/share/applications/sanctum.desktop <<EOF
[Desktop Entry]
Name=Sanctum
Exec=$HOME/.local/share/sanctum/sanctum
Icon=$HOME/.local/share/sanctum/resources/assets/desktop/icon.png
Type=Application
Categories=Network;InstantMessaging;
StartupWMClass=sanctum
EOF
```
## Development Guide
**Windows (zip):**
Extract the zip and run `sanctum.exe`.
_Contribution guidelines for Desktop app TBA!_
The app checks for updates automatically on launch and will notify you when a new version is available.
<!-- Before contributing, make yourself familiar with [our contribution guidelines](https://developers.revolt.chat/contrib.html), the [code style guidelines](./GUIDELINES.md), and the [technical documentation for this project](https://revoltchat.github.io/frontend/). -->
## Development
Before getting started, you'll want to install:
Before getting started, install:
- Git
- Node.js
- pnpm (run `corepack enable`)
Then proceed to setup:
- pnpm (`corepack enable`)
```bash
# clone the repository
git clone --recursive https://github.com/stoatchat/for-desktop stoat-for-desktop
cd stoat-for-desktop
git clone https://git.mithraic.cloud/ad3laid3/sanctum
cd sanctum
# install all packages
# install dependencies
pnpm i --frozen-lockfile
# start the application
# start the app (connects to mithraic.space)
pnpm start
# ... or build the bundle
pnpm package
# ... or build all distributables
pnpm make
```
Various useful commands for development testing:
### Building releases
CI runs automatically when a version tag is pushed:
```bash
# connect to the development server
pnpm start -- --force-server http://localhost:5173
# test the flatpak (after `make`)
pnpm install:flatpak
pnpm run:flatpak
# ... also connect to dev server like so:
pnpm run:flatpak --force-server http://localhost:5173
# Nix-specific instructions for testing
pnpm package
pnpm run:nix
# ... as before:
pnpm run:nix --force-server=http://localhost:5173
# a better solution would be telling
# Electron Forge where system Electron is
git tag v1.x.x
git push origin v1.x.x
```
### Pulling in Stoat's assets
If you want to pull in Stoat brand assets after pulling, run the following:
To build locally:
```bash
# update the assets
git -c submodule."assets".update=checkout submodule update --init assets
# Linux (deb + zip)
PLATFORM=linux pnpm make
# Windows (zip, no Wine required)
pnpm make --platform win32 --arch x64
```
Currently, this is required to build, any forks are expected to provide their own assets.
Artifacts are written to `out/make/`.