mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-04-25 08:46:22 +02:00
1.2 KiB
1.2 KiB
SurfSense Desktop
Electron wrapper around the SurfSense web app. Packages the Next.js standalone build into a native desktop application with OAuth support, deep linking, and system browser integration.
Prerequisites
- Node.js 18+
- pnpm 10+
- The
surfsense_webproject dependencies installed (pnpm installinsurfsense_web/)
Development
pnpm install
pnpm dev
This starts the Next.js dev server and Electron concurrently. Hot reload works — edit the web app and changes appear immediately.
Configuration
Two .env files control the build:
surfsense_web/.env — Next.js environment variables baked into the frontend at build time:
surfsense_desktop/.env — Electron-specific configuration:
Set these before building.
Build & Package
Step 1 — Build the Next.js standalone output:
cd ../surfsense_web
pnpm build
Step 2 — Compile Electron and prepare the standalone output:
cd ../surfsense_desktop
pnpm build
Step 3 — Package into a distributable:
pnpm dist:mac # macOS (.dmg + .zip)
pnpm dist:win # Windows (.exe)
pnpm dist:linux # Linux (.deb + .AppImage)
Step 4 — Find the output:
ls release/