Skip to content

betweentwomidnights/gary-localhost-installer

Repository files navigation

gary4local

this is a windows control center for running 6 music models directly on your computer.

this project now supports multiple frontends:

find the macOS version here: gary-localhost-installer-mac.

gary4local is built with Tauri, Rust, and Svelte. the old PyInstaller/Inno Setup flow remains available in the older branch history.

v0.1.15

we've got ACE-Step LoRA training now. you can caption and edit a dataset, train against regular base or XL-base, and automatically register the finished LoRA with carey. see the ACE-Step LoRA training guide for where we're at with it, what i've actually tested, and which parts are still experimental.

i also fixed up the carey service itself to offload models more cleanly so they can be swapped around freely while you're using gary4juce.

older release notes now live in CHANGELOG.md.

preview

install and startup flow:

gary4local install and startup preview

what lives here

  • control-center/ the Tauri + Svelte desktop app that manages the local services, model downloads, installer flow, tray menu, and production runtime sync into %APPDATA%\Gary4JUCE.
  • services/ the Python backends and model-specific code for gary, terry, jerry, carey, foundation, and sa3.
  • keygen_music_for_installer.wav source loop used to generate the tiny installer music asset. cuz why not?

services

custom model backends

for more info about some of the custom model backends and localhost-specific optimizations in this project, see the custom model backend notes.

repo layout notes

  • development runs directly from the repo.
  • production syncs the bundled service source into %APPDATA%\Gary4JUCE\services.
  • mutable runtime data such as logs, virtual environments, caches, and models live under %APPDATA%\Gary4JUCE, not inside the installed app folder.

auto-updater

this project has an auto-updater inside the UI. you can read about how that's handled in the auto-updater notes, or just build it without one:

cd control-center
npm ci
$env:VITE_ENABLE_APP_UPDATER='0'
npm run tauri build
Remove-Item Env:VITE_ENABLE_APP_UPDATER

that flag removes the updater UI and manifest checks from the build.

development

prerequisites:

  • Windows 10 or 11
  • Node.js 20+
  • Rust toolchain for Tauri builds
  • WebView2
  • ffmpeg if you want to regenerate the installer audio asset

run the app in development:

cd control-center
npm install
npm run tauri dev

production build

build the installer:

cd control-center
npm ci
npm run tauri build

the build now stages control-center/src-tauri/resources/services automatically from the tracked repo services/ tree, so a clean clone doesn't need a pre-populated bundled-services folder or extra bash / rsync tooling just to package the app.

if you want a build that hides the experimental Terry Flash Attention toggle entirely, set the feature flag before building:

cd control-center
npm ci
$env:VITE_ENABLE_MELODYFLOW_FA2_TOGGLE='0'
npm run tauri build
Remove-Item Env:VITE_ENABLE_MELODYFLOW_FA2_TOGGLE

notes:

  • VITE_ENABLE_MELODYFLOW_FA2_TOGGLE is a build-time flag, not a runtime toggle.
  • when this flag is set to 0, the terry Flash Attention setting is removed from the UI and the packaged app forces MelodyFlow to stay on the standard attention path.
  • leaving the flag unset keeps the terry Flash Attention panel available, but the optimization itself still defaults to off unless the user enables it.

artifacts land in:

  • control-center/src-tauri/target/release/bundle/nsis/
  • control-center/src-tauri/target/release/bundle/msi/

the current preferred Windows artifact is the NSIS setup executable.

unsigned builds

the installers are currently unsigned. the intended verification flow is:

  1. build the installer locally from this branch with one of the commands above.
  2. compare the generated hash against the release artifact hash.

example:

certutil -hashfile .\control-center\src-tauri\target\release\bundle\nsis\gary4local_0.1.1_x64-setup.exe SHA256

related repos