|
All checks were successful
Build & Release / build (push) Successful in 2m25s
Auto-updater was always reporting version 1.3.0 regardless of release, making it impossible to detect whether an update had been applied. CI now rewrites package.json version from the tag before building. Updater errors are now logged to console instead of silently swallowed. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .gitea/workflows | ||
| .github/workflows | ||
| .vscode | ||
| assets | ||
| src | ||
| .eslintrc.json | ||
| .gitignore | ||
| .gitmodules | ||
| .prettierrc | ||
| .release-please-manifest.json | ||
| CHANGELOG.md | ||
| chat.stoat.StoatDesktop.desktop | ||
| chat.stoat.StoatDesktop.metainfo.xml | ||
| default.nix | ||
| forge.config.ts | ||
| forge.env.d.ts | ||
| index.html | ||
| LICENSE | ||
| mise.toml | ||
| package.json | ||
| pnpm-lock.yaml | ||
| pnpm-workspace.yaml | ||
| README.md | ||
| release-please-config.json | ||
| screenshot.png | ||
| strings.ts | ||
| tsconfig.json | ||
| vite.main.config.ts | ||
| vite.preload.config.ts | ||
| vite.renderer.config.ts | ||
Sanctum
A private, self-hosted desktop client for mithraic.space
Built on Revolt — open source, no tracking, no telemetry, no nonsense.
Windows & Linux. Auto-updates from your own server.
What is this?
Sanctum is a custom fork of Stoat 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.
Linux
# extract to your local apps folder
mkdir -p ~/.local/share/sanctum
unzip Sanctum-linux-x64-*.zip -d ~/.local/share/sanctum/
# register it as a desktop app
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
Then search for Sanctum in your app launcher and you're in.
Windows
Extract the zip, run sanctum.exe. That's it.
Auto-updates
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).
git clone https://git.mithraic.cloud/ad3laid3/sanctum
cd sanctum
pnpm i --frozen-lockfile
pnpm start
Releasing a new build
Push a version tag and CI does the rest — compiles Linux and Windows builds, creates a release, and uploads artifacts automatically.
git tag v1.x.x
git push origin v1.x.x
Building locally
# Linux (deb + zip)
PLATFORM=linux pnpm make
# Windows (zip, no Wine required)
pnpm make --platform win32 --arch x64
Output lands in out/make/.
Tech
- Electron + electron-forge
- Revolt open-source chat backend
- Forgejo for self-hosted git + CI
- Discord Rich Presence via discord-rpc