docs: rewrite README for Sanctum self-hosted setup
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
2379562aec
commit
17da0c0234
1 changed files with 52 additions and 27 deletions
79
README.md
79
README.md
|
|
@ -1,20 +1,36 @@
|
||||||
<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
|
|
||||||
cat > ~/.local/share/applications/sanctum.desktop <<EOF
|
# register it as a desktop app
|
||||||
|
cat > ~/.local/share/applications/sanctum.desktop << EOF
|
||||||
[Desktop Entry]
|
[Desktop Entry]
|
||||||
Name=Sanctum
|
Name=Sanctum
|
||||||
Exec=$HOME/.local/share/sanctum/sanctum
|
Exec=$HOME/.local/share/sanctum/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)
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue