Skip to content

CLI

The kino binary is the same executable in every form factor — the Linux package, the macOS .pkg, the Windows installer, and the tarball / cargo install build all install one binary. By default, running kino with no subcommand starts the HTTP server in the foreground; the subcommands below cover everything else.

Terminal window
kino [GLOBAL OPTIONS] [SUBCOMMAND]

These flags apply to every subcommand, but in practice they’re only read when the binary is starting the HTTP server (default invocation or kino serve).

FlagEnvDefaultDescription
--port, -p <PORT>KINO_PORT8080TCP port the HTTP server binds to.
--data-path <DIR>KINO_DATA_PATHplatform defaultDirectory for the database, cached images, trickplay sprites, and librqbit session.
--no-open-browserKINO_NO_OPEN_BROWSERunsetSkip the auto-open of the setup wizard in the user’s default browser on first launch.

The platform-default data directory follows XDG / native conventions (see environment variables). The native packages set --data-path explicitly via the systemd unit / launchd plist / Windows Service descriptor, so service-mode never falls back to the default.

Starts the HTTP server in the foreground. Equivalent to kino serve. This is what the systemd unit, the launchd plist, and the Windows Service Manager all invoke.

Terminal window
kino --port 8080 --data-path /var/lib/kino

Explicit form of “run the HTTP server in the foreground”. Useful in scripts where the default-when-no-subcommand behaviour would be ambiguous.

Terminal window
kino serve

Deletes all of Kino’s data and resets to the first-run state. The SQLite database, the librqbit session directory, and any cached images are removed.

Terminal window
kino reset

Installs Kino as a platform-native service: a systemd unit on Linux, a LaunchDaemon on macOS, or a Windows Service on Windows. The native packages do this for you during install — this subcommand is the fallback for the tarball and cargo install paths.

FlagDescription
--userInstall as a per-user service where the OS supports it (systemd user unit on Linux, per-user LaunchAgent on macOS). Defaults to a system-wide install requiring admin / root.
Terminal window
sudo kino install-service # system-wide
kino install-service --user # per-user (Linux/macOS)

After install, manage the service with the platform’s tooling:

  • Linux: systemctl start kino / systemctl status kino
  • macOS: launchctl print system/tv.kino.daemon
  • Windows: sc start kino

Stops the platform service and removes its descriptor. The data directory is preserved — to fully wipe Kino, follow with kino reset or delete the data directory by hand.

Terminal window
sudo kino uninstall-service

Runs the system-tray / menu-bar icon. The tray talks to the local Kino server over http://localhost:{port} — it does not start the server itself. You usually launch it via kino install-tray rather than running it directly.

Terminal window
kino tray

Writes the per-user autostart entry for the tray and starts it now. The native installers handle this during install; this subcommand is the tarball / cargo install fallback.

Terminal window
kino install-tray

Removes the per-user autostart entry and kills any running tray process.

Terminal window
kino uninstall-tray

Start Kino in the foreground on a non-default port, with an explicit data directory:

Terminal window
kino --port 9090 --data-path /srv/kino

Install Kino as a system-wide service on Linux, then start it:

Terminal window
sudo kino install-service
sudo systemctl start kino

Headless server with no browser auto-open:

Terminal window
KINO_NO_OPEN_BROWSER=1 kino serve

Wipe everything and start from a fresh setup wizard:

Terminal window
sudo systemctl stop kino
kino reset
sudo systemctl start kino