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 13:08:15 -04:00
parent 2379562aec
commit 17da0c0234

View file

@ -1,19 +1,35 @@
<div align="center"> <div align="center">
<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>. # Sanctum
Connects exclusively to <a href="https://mithraic.space">mithraic.space</a>.
**A private, self-hosted desktop client for [mithraic.space](https://mithraic.space)**
Built on [Revolt](https://revolt.chat) — open source, no tracking, no telemetry, no nonsense.
Windows & Linux. Auto-updates from your own server.
</div> </div>
<br/>
## Installation ---
Download the latest release from [git.mithraic.cloud/ad3laid3/sanctum/releases](https://git.mithraic.cloud/ad3laid3/sanctum/releases). ## What is this?
Sanctum is a custom fork of [Stoat for Desktop](https://github.com/stoatchat/for-desktop), hardwired to connect exclusively to **mithraic.space** — a self-hosted Revolt instance. It replaces the default branding, icons, and update pipeline with a fully self-contained setup hosted on a private Forgejo instance.
No reliance on external services. Updates come from `git.mithraic.cloud`. Builds run on a self-hosted CI runner. Everything stays in-house.
---
## Installing
Grab the latest build from the [Releases page](https://git.mithraic.cloud/ad3laid3/sanctum/releases).
### Linux
**Linux (zip):**
```bash ```bash
# extract to your local apps folder
mkdir -p ~/.local/share/sanctum mkdir -p ~/.local/share/sanctum
unzip sanctum-linux-x64-*.zip -d ~/.local/share/sanctum/ unzip Sanctum-linux-x64-*.zip -d ~/.local/share/sanctum/
# create a .desktop launcher
# register it as a desktop app
cat > ~/.local/share/applications/sanctum.desktop << EOF cat > ~/.local/share/applications/sanctum.desktop << EOF
[Desktop Entry] [Desktop Entry]
Name=Sanctum Name=Sanctum
@ -25,41 +41,41 @@ StartupWMClass=sanctum
EOF EOF
``` ```
**Windows (zip):** Then search for **Sanctum** in your app launcher and you're in.
Extract the zip and run `sanctum.exe`.
The app checks for updates automatically on launch and will notify you when a new version is available. ### Windows
## Development Extract the zip, run `sanctum.exe`. That's it.
Before getting started, install: ---
- Git ## Auto-updates
- Node.js
- pnpm (`corepack enable`) Sanctum checks for new releases on every launch. When a newer version is available on `git.mithraic.cloud`, you'll get a desktop notification — click it to download. No background processes, no silent installs.
---
## Building from source
You'll need Git, Node.js, and pnpm (`corepack enable`).
```bash ```bash
# clone the repository
git clone https://git.mithraic.cloud/ad3laid3/sanctum git clone https://git.mithraic.cloud/ad3laid3/sanctum
cd sanctum cd sanctum
# install dependencies
pnpm i --frozen-lockfile pnpm i --frozen-lockfile
# start the app (connects to mithraic.space)
pnpm start pnpm start
``` ```
### Building releases ### Releasing a new build
CI runs automatically when a version tag is pushed: Push a version tag and CI does the rest — compiles Linux and Windows builds, creates a release, and uploads artifacts automatically.
```bash ```bash
git tag v1.x.x git tag v1.x.x
git push origin v1.x.x git push origin v1.x.x
``` ```
To build locally: ### Building locally
```bash ```bash
# Linux (deb + zip) # Linux (deb + zip)
@ -69,4 +85,13 @@ PLATFORM=linux pnpm make
pnpm make --platform win32 --arch x64 pnpm make --platform win32 --arch x64
``` ```
Artifacts are written to `out/make/`. Output lands in `out/make/`.
---
## Tech
- [Electron](https://www.electronjs.org/) + [electron-forge](https://www.electronforge.io/)
- [Revolt](https://revolt.chat) open-source chat backend
- [Forgejo](https://forgejo.org/) for self-hosted git + CI
- Discord Rich Presence via [discord-rpc](https://github.com/discordjs/RPC)