A modern update server for Electron apps
Xiris is a sleek and flexible Electron update server inspired by Vercel's Hazel, reimagined with modern web technologies.
- 🌐 Internationalization support via ParaglideJS
- 🎨 Rapid styling with Tailwind CSS
- 💾 Smart caching using SQLite (can be swapped with in-memory for serverless environments)
- 🔐 Private repo support via GitHub tokens
- 🧪 Support for pre-releases and pre-update channels
Set up your environment using a .env
file at the root of the project:
APP_URL=https://your-xiris-server.com # Required: Used in RELEASES file
PORT=3000 # Optional: Defaults to 3000
GITHUB_REPO=your-org/your-repo # Required: Target GitHub repo
GITHUB_TOKEN=ghp_your_token_here # Optional: For private repositories
GITHUB_PRE_RELEASES=true # Optional: Allow downloading pre-releases
GITHUB_PRE_UPDATE=true # Optional: Allow pre-releases in update channel
REFRESH_INTERVAL=15m # Optional: Default is 15 minutes
-
Install dependencies
pnpm install
-
Run the dev server
pnpm dev
-
Build for production
pnpm build
-
Preview production build
pnpm preview
Xiris uses ParaglideJS for type-safe i18n across all routes. Language switching is seamless and supports SSR.
Xiris works well on any Node-compatible hosting provider. For serverless use cases, switch the cache backend to an in-memory adapter.
We recommend Vercel for zero-config deployment.
Inspired by Vercel Hazel, rebuilt with modern tools and open-source love.
GPL3 © [OpenAnime]