Daily start and stop
Starting the four services every day with a single command, in the right order, and stopping them cleanly.
After the first start, daily work comes down to two commands: in the morning the daily launcher (launch-system) brings up the four background services, in the evening the stop tool (stop-system) shuts them down cleanly. This chapter describes what the two do, and what to watch out for.
Starting with one command
In the root of the repository: launch-system.cmd on Windows, launch-system.command on macOS – a double-click works too. The -langhu twin always writes in Hungarian.
launch-system.cmd # all four services
launch-system.cmd -NoTranslator -NoVoice # without the translator and the voice service
The daily launcher starts only the four background services, each in its own window (on macOS in its own Terminal window):
- first the account service (and before it its database, if that is the machine's own database);
- then the translator and the voice service, together;
- finally the caption service.
The order is fixed and cannot be changed. The caption service sizes itself to the free video memory and takes nearly all of it – so the translator and the voice service have to claim theirs first. At every step the daily launcher waits until the service is really serving (while the model loads, the service still reports a "loading" state), and only then moves on.
Worth knowing about starting
- What is already running is not restarted: it says it is already running and moves on. An accidental double-click therefore stops nothing.
- The account service is only started if the account address points to this machine. If the account service runs on another machine, the launcher only checks that it can be reached.
- Leaving out:
-NoAccount,-NoTranslator,-NoVoice,-NoCaption. This is also how to leave out what runs on another machine, or what does not fit on the graphics card. - The first start is slower: that is when the services build their runnable package, and the first run needs internet to download the Whisper model.
- A service installed as a system service is not started in a separate window; the system's service manager runs it – see the Running as a service chapter. The daily launcher does not run on Linux: installing as a service is the way there.
At the end a summary tells you, per service, what happened. If something did not get ready, or was left out, the window stays open so you can read it. The exit code is 0 if every requested service is running (or was deliberately left out); 6 if something did not get ready; 1 on a usage error, a faulty account address, or if another start or stop is running at the moment.
The app starts separately
The daily launcher does not start the desktop app. LiveCaption is started on Windows by LiveCaption\start-livecaptionpro.cmd and on macOS by LiveCaption/start-livecaptionpro-avalonia.command (it builds the program first if needed). One LiveCaption runs on a machine at a time: if it is already running, the launcher warns and exits with code 7. On a server machine without a caption window, the daily start is just launch-system.
Starting them one by one
Every service has its own launcher, and the daily launcher calls these too – there is no difference between the two:
| Service | Launcher |
|---|---|
| account service | AccountServer\start-accountserver.cmd |
| translator | TranslatorServer\start-translatorserver.cmd |
| voice service | VoiceServer\start-voiceserver.cmd |
| caption service | CaptionServer\start-captionserver.cmd |
On macOS the same ones end in .command. When starting by hand, keep the order above. Ctrl+C in a service's own window stops it cleanly.
Stopping
The daily launcher's pair is stop-system.cmd (on macOS stop-system.command). It stops in reverse order: first the caption service, the voice service and the translator get the stop signal together, and the stop tool waits for all three to exit; the account service stops last, because the others ask it for their permissions.
stop-system.cmd # every service, every instance
stop-system.cmd -NoAccount # the account service keeps running
stop-system.cmd -Instance web-2 # only one named instance
- Clean shutdown: after the signal the service saves what it still holds in memory (the usage data, for example) and stops its own engine. If it does not exit within 30 seconds, the stop tool forces it, and says so – in that case usage data gathered since the last save may be lost.
- It only stops your own processes. It leaves alone another user's service, a model started by hand, or another program's engine.
- A service installed as a system service is not stopped, because the system would restart it: the tool prints the command that stops it.
- It does not close the LiveCaption app; close that from its own menu.
- With
-NoCaption,-NoTranslator,-NoVoiceand-NoAccounta service keeps running.
The exit code is 0 if everything stopped, and 6 if something did not. Only one start or stop can run at a time: if the daily launcher is busy, the stop tool does not begin, but exits with code 1 – wait for the launcher to finish, and run it again.
If something does not start
The service's window always tells you why: a port in use (and what holds it), a missing prerequisite, a missing account address or a rejected key. The most common cases are in the Troubleshooting chapter; you can see the services' state in the web interface – see the Web admin basics chapter.