Skip to content

Windows

Windows

This doc covers the installation of main karaoke application on Windows, for Demucs service, refer to Demucs service.

1. Download Python/UV and dependencies

  • Python 3.11 or later, make sure to check "Add Python to PATH" during installation.
  • UV
  • ffmpeg 6.0 or later, add to PATH.
  • Deno add to PATH, only if needed.

2. Add binary to PATH

Open "Edit the system environment variables" and add the following to PATH:

  • C:\Tools\ffmpeg\bin (or wherever you installed ffmpeg, ffprobe, and ffplay.exe)
  • Deno path if needed, for example C:\Tools\deno

Verify on the command line:

ffmpeg -version
uv --version
deno --version  # only if needed
python --version

3. Download and setup the application

git clone https://github.com/vttc08/demucs-karaoke-app.git
cd demucs-karaoke-app
uv venv
uv pip install -e .

Tip

If git is not available, you can download the zip from GitHub and extract it.

Note

The default installation does not include numpy and scipy, which are required for vocal sync. If you need vocal sync, install the vocal-sync extra:

uv pip install -e .[vocal-sync]

4. Build documentation

For non-Docker setup, the static documentation is not included. It's fine to run the application without it and use the online documentation. To build the documentation, install mkdocs and mkdocs-material:

uv pip install mkdocs mkdocs-material mkdocs-minify-plugin mkdocs-static-i18n
uv run scripts/build_docs.py

5. Configure the environment

cp .env.example .env

The default environment configuration should work for most use cases. You can review the detailed configuration in the Settings page.

6. Running the application

uv run uvicorn main:app --host 0.0.0.0 --port 8000

For unattended startup, use Task Scheduler or a service wrapper such as NSSM. Store media, cache, logs, and the SQLite database under a directory that the service account can read and write.

7. Configure the admin user and default presets

While the application is running, open another PowerShell window in the application directory. Create the first admin user and install the default stage presets:

uv run python scripts/admin_user.py create --username admin
uv run python scripts/default_presets.py

Once the application is running, open http://<your-server-ip>:8000/login and log in with the admin user you just created.

Next Steps