Installation and removal
Setting up the whole system in one step with the setup tool, and removing the environment while keeping the backups.
Live Caption Pro has no conventional installer: the services start from the source code repository, and build their own runnable package on the first start. Installation therefore means getting every prerequisite, the models, the database and the keys onto the machine. The setup tool (setup-system) does this in one step; if you would rather go by hand, step by step, the First start chapter gives the order.
Before you begin
- Have a clone of the repository on the machine, and look at the environment check's report (see the Prerequisites and environment check chapter).
- On macOS, PowerShell 7 comes first (
brew install --cask powershell), and you need a graphical session: the services start in Terminal windows, which does not work over SSH. - On Windows, do not run the setup tool as administrator: where rights are needed, the step itself asks for approval.
- Expect a large download: the translation models alone are about 31 GB.
In one step: the setup tool
On Windows setup-system.cmd, on macOS setup-system.command starts it from the root of the repository (a double-click works too); its -langhu twin always writes in Hungarian.
setup-system.cmd # goes through everything, asks where needed
setup-system.cmd -DataHome D:\LiveCaptionPro # with the location of the data given
setup-system.cmd -ListSteps # only lists what would run on this machine
setup-system.cmd -NoTranslator # without the translator
The setup tool calls the product's existing tools in order, and decides what comes next from each one's result:
| Step | What it does |
|---|---|
| pre-check | makes sure it is not running from an elevated window, and that the window's environment is fresh |
| data root | asks where the product's data should go (Enter for the usual place) |
| prerequisites | the environment check in fill-in mode (check-environment -Fix) |
| translation model | the four TranslateGemma variants (12b and 4b, at two precisions), about 31 GB |
| database | the account service's PostgreSQL database |
| peer tokens and account address | the services' keys towards the account service, and the account service's address |
| the account service | starts it, and checks that it accepts the services' keys |
| running | starts the other services with the daily launcher |
| client keys | a key for the command-line scripts and for the LiveCaption app |
-NoTranslator, -NoVoice and the like leave a service out – its prerequisites are not downloaded either. This is useful when that service will run on another machine.
The password of the initial identity administrator (the first account that manages users, admin) appears once, in the account service's own window, when the account service first starts. Do not close that window until you have read the password – the details are in the First start chapter.
If it stops or asks for a restart
Every step can be repeated: it does not overwrite what is already there. An interrupted run continues where it left off when started again; on a finished machine every step answers "already in order".
- If the machine asks for a restart (on Windows because of WSL, the first start of Docker Desktop or the
docker-usersgroup), restart it and run the setup tool again. - The setup tool writes environment variables persistently. It will not start from an old window: if a variable in the window holds something other than its persistent value, it asks for a new window.
- If the account service rejects one service's key, the setup tool replaces only that key, and says so – another machine may be using the same key.
The exit code: 0 all done (or already in order); 1 usage error, nothing changed; 4 ran to the end, but with a warning (a service or a key was left out); 6 a step stopped – after fixing the error, running it again continues.
Questions and licences
-Yessays yes to everything, licences included (winget, Docker Desktop and the voice model's CPML licence, which allows non-commercial use only).-NonInteractiveasks nothing, and without-Yesit decides the safe way: it only reports the prerequisites, issues no keys, and does not accept the voice model's licence.- If the setup tool did not accept the licence, the voice service asks about it in its own window when it first starts.
Where the data lives
The product keeps its settings, logs, models and keys under one data root. On Windows this is the %LOCALAPPDATA%\LiveCaptionPro folder by default, but the setup tool's -DataHome switch (or its question) can put it on another drive; the LCP_HOME environment variable then remembers the place. On macOS the setup tool sets no such variable; the usual place stays. The translation models go into the Hugging Face downloader's own cache (on Windows typically on the C: drive), independently of the data root.
Removing the environment
The removal tool (uninstall-environment.cmd) takes away what the product installed or downloaded: the voice engine's Python environment, the models, the translation engine's programs, the data root and the published packages.
uninstall-environment.cmd # report: what would go, how much space it frees
uninstall-environment.cmd -List # the groups you can choose
uninstall-environment.cmd -Remove # removal, asking item by item
uninstall-environment.cmd -All -Remove -StopServices
- By default it deletes nothing: deleting needs
-Remove, and it asks item by item (-Yesskips that too). -StopServicesfirst stops the running services; without it, files in use can leave the removal partial.- Machine-wide tools (Python, .NET SDK, PowerShell 7, virtual audio cable) only go when asked for separately (
-Groupsor-All), because other programs may use them. - Docker Desktop only goes on explicit request (
-Groups docker-desktop): removing it takes every container and volume on the machine, other projects' too. If the account service's database would stay in Docker, it is skipped. WSL is left alone. - The account service's database is deleted by its own launcher; the database backups stay, and the report tells you where.
What it never touches: the repository's source code, and anything outside the product's own folders. The exit code is 0 if it ran to the end, and 1 if removing an item failed.
On macOS the removal tool has no clickable launcher: it does not know the items installed with Homebrew, so remove those with Homebrew's own command (brew uninstall). Removing services registered as system services is described in the Running as a service chapter.