2026-05-31 18:45:57 +02:00
2026-05-31 18:35:59 +02:00

Scoreko Desktop

This is the Windows desktop wrapper for Scoreko. It bundles Electron, NodeCG, and our custom scoreko-dev bundle into a single standalone executable. Users just double-click the installer and everything works—no Node.js, pnpm, or command line required.

Local Development

If you're working on the app locally, start by installing dependencies at the repository root:

pnpm install

Then, move into the wrapper folder:

cd scoreko-electron-dev
npm install

Useful Commands

  • npm run start: Builds the bundle and launches Electron locally for testing.
  • npm run dist:win: Packages everything and creates the .exe Windows installer in the release/ folder.
  • npm run prepare:runtime: Extracts a fresh NodeCG runtime from the parent bundle (useful if you changed dependencies).
  • npm run rebuild:native: Rebuilds native Node modules (like SQLite) specifically for Electron's V8 engine.
  • npm run doctor: Runs a quick sanity check to verify your local configuration and port availability.

How it works under the hood

When you build the installer, the script automatically compiles the main scoreko-dev bundle, provisions a lightweight NodeCG runtime in lib/nodecg, and packages it as an external asset alongside the Electron app.

When a user runs Scoreko for the first time, the app copies this NodeCG runtime directly into their local AppData folder. This is a deliberate choice: it ensures that databases, configs, and logs remain fully writable, even if the user installed the app in restricted directories like Program Files.

Auto-Updates via Gitea

Scoreko supports seamless, opt-in updates through your Gitea instance.

Before building your production installer, check static/updates.json:

{
  "enabled": true,
  "apiUrl": "http://gitea.local/api/v1/repos/OWNER/REPO/releases/latest",
  "releasePageUrl": "http://gitea.local/OWNER/REPO/releases",
  "assetPattern": "Scoreko-setup-.*\\.exe$"
}

To ship an update:

  1. Bump the version in package.json.
  2. Run npm run dist:win to generate the new installer.
  3. Create a new release tag in Gitea (e.g., v0.2.0) and attach the .exe.
  4. The app will detect the new version, notify the user, and handle the installation safely.

Environment Configuration

The app ships with sensible defaults that match our development bundle:

  • NODECG_BUNDLE_NAME=scoreko-dev
  • NODECG_PORT=9090
  • SCOREKO_DASHBOARD_ROUTE=dashboard/scoreko-dev/main.html?standalone=true
  • SCOREKO_LOADING_ROUTE=dashboard/loading/main.html?standalone=true
  • SCOREKO_UPDATES_ENABLED=true
  • SCOREKO_UPDATE_ASSET_PATTERN=Scoreko-setup-.*\.exe$

You only need to mess with .env.example if you want to override these values locally while testing.

S
Description
No description provided
Readme 1.1 MiB
Languages
TypeScript 82.4%
JavaScript 11%
HTML 4.7%
NSIS 1.9%