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 filePORT=3000# Optional: Defaults to 3000GITHUB_REPO=your-org/your-repo# Required: Target GitHub repoGITHUB_TOKEN=ghp_your_token_here# Optional: For private repositoriesGITHUB_PRE_RELEASES=true# Optional: Allow downloading pre-releasesGITHUB_PRE_UPDATE=true# Optional: Allow pre-releases in update channelREFRESH_INTERVAL=15m# Optional: Default is 15 minutesPUBLIC_MACOS_UNSIGNED_WARNING=true# Optional: Show the unsigned macOS download warningInstall 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]