Installation

Install C21 Live Control

One-liner installer for the C21 Live Control product, the livecontrol CLI for day-to-day operations, license, backups, SSL and uninstall.

What you install

The C21 Live Control product, packaged as a Docker compose stack. The installer brings up the operator UI, the REST API, the WebSocket layer, the MCP server and the bundled database; the result is an instance reachable at https://<host>:9443/.

The host can later be paired with one or more C21 Live Encoder instances (see Install C21 Live Encoder) and a license file (see step 3 below).

Before you start

Verify the host meets the prerequisites described in Prepare the host. Minimum:

  • Ubuntu 22.04 LTS or 24.04 LTS, x86_64
  • 2 cores / 4 GiB RAM / 20 GiB free on / (4 cores / 8 GiB RAM recommended)
  • HTTPS egress to get.cires21.com and Docker Hub
  • Time synced via NTP, public DNS resolution
  • Ports 9080, 9443, 3000, 3100 free on the host

Steps

1. Run the one-liner installer

curl -fsSL https://get.cires21.com/livecontrol | sudo bash

The installer, in order:

  1. Verifies that the host meets the prerequisites.
  2. Installs Docker if it is not already present.
  3. Pulls the Live Control compose stack and creates the data volumes.
  4. Brings the services up and runs health checks.
  5. Prints the access URL, the initial credentials and the host fingerprint required to request the license.

2. Get the host fingerprint

To request the license, you need the fingerprint that identifies your host. Get it with:

sudo livecontrol license info

The output includes a section like:

C21 Live Control — License binding info
========================================
Host fingerprint:        73250bef2e5af1b5deb8e5e4d7506dff
License file:            /opt/livecontrol/data/license.txt
Current license:         (not installed)
Required product slots:  C21LiveControl, C21LiveDeploy, C21LiveEditor (optional), C21LiveDRM (optional)

Send the Host fingerprint value to your Cires21 representative along with the product slots your contract covers.

3. Install the license

Cires21 will send you a license.txt file with INI sections for each contracted product:

[C21LiveControl]
Expiration=31-12-3000
Quantity=1
Key=<key-1>
[C21LiveDeploy]
Expiration=31-12-3000
Quantity=1
Key=<key-2>
...

Upload it from the UI: open https://<host>:9443/, authenticate as admin with the initial password (printed by the installer in step 1) and on login you will be presented with the license form. Select the license.txt file and confirm.

Alternatively from the CLI:

sudo livecontrol license install /path/to/license.txt
sudo livecontrol restart

After installation, verify:

sudo livecontrol license verify

It should print each slot with status: true and the expiration date (Unlimited when the sentinel value 31-12-3000 applies).

4. First login and credential rotation

Open the UI and authenticate with the credentials the installer printed in step 1. The UI will ask you to rotate the admin password before any other operation — it is part of the mandatory first-use flow.

The initial credentials are also stored in /opt/livecontrol/.credentials (mode 0600, root-owned) on the host.

Supported platform

Operating systemUbuntu 22.04 LTS or 24.04 LTS, x86_64
Permissionsroot or sudo
CPU (minimum / recommended)2 cores / 4+ cores
RAM (minimum / recommended)4 GiB / 8+ GiB
Disk (minimum / recommended)20 GiB / 50+ GiB
Network ports9080, 9443, 3000, 3100 available on the host
Egressget.cires21.com, Docker Hub, hora.cires21.com (or your preferred NTP)

Installer flags

FlagEffect
--unattended, -y, --yesNon-interactive mode — every prompt uses its default.
--version <X>Install a specific version instead of the latest.
--check-onlyVerify requirements without installing.
--upgradeUpgrade an existing installation (equivalent to livecontrol update).
--uninstallRemove the installation (equivalent to livecontrol uninstall).
--debugVerbose installer logs.
--help, -hPrint the flag list.

Environment variables

VariableEffect
PRODUCT_VERSIONPin a specific version (alternative to --version).
INSTALL_DIRInstallation path (default /opt/livecontrol).
UNATTENDED=1Non-interactive mode (equivalent to --unattended).
DEBUG=1Verbose logs (equivalent to --debug).

Non-interactive example

curl -fsSL https://get.cires21.com/livecontrol | sudo bash -s -- --unattended --version 6.10.1

Day-to-day operations

After installation, the livecontrol CLI is available on the host. Always run it with sudo — the configuration and data paths live under /opt/livecontrol with restricted permissions.

Service control

sudo livecontrol status              # Status with health checks
sudo livecontrol start
sudo livecontrol stop
sudo livecontrol restart [service]
sudo livecontrol logs [service]      # Tail; `-f` to follow, `-n N` for N lines
sudo livecontrol version             # Print installed version
sudo livecontrol config              # Current configuration (default: show)
sudo livecontrol config edit         # Edit configuration (`$EDITOR` or nano)
sudo livecontrol activate            # Activate the docker group for the current session

License

sudo livecontrol license info        # Host fingerprint + current status
sudo livecontrol license install <file>
sudo livecontrol license verify      # Status of each slot in the installed file

See Licenses for the full product catalog and the per-license gates.

Backups

sudo livecontrol backup [name]       # Manual backup (auto-named if name is omitted)
sudo livecontrol restore             # List available backups
sudo livecontrol restore <file>      # Restore from a specific backup

The installer schedules an automatic backup daily at 03:00 with a 7-day retention. Backups include the configuration and a database dump; they are stored encrypted at /var/backups/livecontrol/.

Updates

The flow is detailed in Updates. Quick reference:

sudo livecontrol update --check
sudo livecontrol update <version>
sudo livecontrol update <version> --no-backup       # Skip the pre-update backup (not recommended)
sudo livecontrol update <version> --force           # Reinstall the same version and skip prompts

The update runs a pre-update backup, pulls the new images, restarts the stack and rolls back automatically if any step fails.

SSL

sudo livecontrol ssl status
sudo livecontrol ssl info
sudo livecontrol ssl generate [days]                # Generate a self-signed certificate
sudo livecontrol ssl import <cert.crt> <key.pem>    # Import a CA-signed pair

The installer generates a self-signed certificate by default. livecontrol ssl import validates that the certificate and the key correspond before installing them.

Security

sudo livecontrol security status
sudo livecontrol security audit
sudo livecontrol security harden                                  # Default hardening
sudo livecontrol security password <mysql|admin|reset [<user>]>   # Rotate the indicated password

security password reset <user> returns the account to its initial state and forces a change on next login.

Maintenance

sudo livecontrol cleanup [--dry-run]

The installer also schedules weekly automatic maintenance (log rotation, removal of orphaned Docker resources, purge of backups beyond retention).

Uninstall

sudo livecontrol uninstall                          # Interactive — requires typing 'UNINSTALL'
sudo livecontrol uninstall --keep-backups
sudo livecontrol uninstall --keep-data
sudo livecontrol uninstall --force                  # No prompt

The uninstall stops and removes the containers, removes the image set, removes the data volumes (unless --keep-data is used), removes the systemd unit, the cron schedules and the CLI itself.

  • Prepare the host — DNS, NTP, ufw, swap before the install.
  • Install C21 Live Encoder — pair an encoder with this Control instance.
  • Updates — update flow for Control and Encoder.
  • Licenses — license catalog, per-feature gates, file format.
  • Devices — add a registered Encoder to this instance after onboarding.
Copyright © 2026