CLI Reference
norsk-ctl
Section titled “norsk-ctl”norsk-ctl <command> [options]
First time? Try one of: norsk-ctl demo 5-minute evaluation (BYOL license + Docker) norsk-ctl init guided setup wizard
Commands: norsk-ctl get <resource> Get resources (versions, hardware, status, prerequisites) norsk-ctl instance <subcommand> Manage Norsk Studio instances norsk-ctl images <subcommand> Manage container images (defaults, list pairs) norsk-ctl plugin <subcommand> Manage Norsk Studio plugins norsk-ctl config <subcommand> Manage CLI configuration norsk-ctl serve Start the norsk-ctl daemon in the foreground norsk-ctl shutdown Shut down norsk-ctl: stop proxy, remove instances, exit daemon norsk-ctl proxy <subcommand> Manage the nginx reverse proxy norsk-ctl pull Pull default studio and media images norsk-ctl inspect Show a human-readable dump of the norsk-ctl database norsk-ctl init Initialize norsk-ctl configuration norsk-ctl demo One-command demo: init + launch for evaluators norsk-ctl fetch <target> Fetch bundled tools (mkcert) norsk-ctl source <subcommand> Manage sample SRT sources for instances norsk-ctl stats Show Docker container resource usage norsk-ctl upgrade Download a newer norsk-ctl binary and atomically swap it in norsk-ctl user <subcommand> Manage basic-auth proxy users
Options: -o, --output Output format [string] [choices: "yaml", "json"] [default: "yaml"] --port Daemon port (default 8333, or $NORSK_CTL_PORT) [number] --help Show help [boolean]norsk-ctl get
Section titled “norsk-ctl get”norsk-ctl get <resource>
Get resources (versions, hardware, status, prerequisites)
Positionals: resource Resource type: versions | hardware | status | prerequisites [string] [required] [choices: "versions", "hardware", "status", "prerequisites"]
Options: -o, --output Output format [string] [choices: "yaml", "json"] [default: "yaml"] --port Daemon port (default 8333, or $NORSK_CTL_PORT) [number] --help Show help [boolean]norsk-ctl instance
Section titled “norsk-ctl instance”norsk-ctl instance <subcommand>
Manage Norsk Studio instances
Commands: norsk-ctl instance launch <id> Launch a new Norsk Studio instance norsk-ctl instance delete <id> Delete an instance norsk-ctl instance describe <id> Describe an instance norsk-ctl instance restart <id> Restart an instance (fast, no image change) norsk-ctl instance relaunch <id> Relaunch an instance (teardown + recreate) with optional image overrides norsk-ctl instance list List all instancesnorsk-ctl instance launch
Section titled “norsk-ctl instance launch ”norsk-ctl instance launch <id>
Launch a new Norsk Studio instance
Positionals: id Instance ID [string] [required]
Options: -o, --output Output format [string] [choices: "yaml", "json"] [default: "yaml"] --port Daemon port (default 8333, or $NORSK_CTL_PORT) [number] --help Show help [boolean] --workflow Initial workflow file name [string] --override-file Override file path relative to studio-save-files (e.g. 03-overrides.yaml) [string] --sidecars Admin escape hatch: extra compose files merged into the instance's project. Each adds containers (typically sidecars) alongside studio + media; can also override service values. Repeatable. Loaded after templates. [array] --compose-env Per-launch env vars merged into the compose .env so user overlays can interpolate them (e.g. {DRY_RUN: "0"}). Reserved namespace `NORSK_` and norsk-ctl's managed keys are rejected at validation. [array] --hardware Hardware acceleration profile [string] [choices: "none", "nvidia", "quadra"] --media-image Media container image (default: norskvideo/norsk-media) [string] --media-tag Media container image tag (default: built-in release) [string] --studio-image Studio container image (default: norskvideo/norsk-studio) [string] --studio-tag Studio container image tag (default: built-in release) [string] --ingest-ports Additional ports to expose on the media container. Repeatable. [array] --turn Enable TURN server [boolean] --designer Enable designer mode [boolean] --public-url Public URL prefix for media endpoints [string] --studio-url Public URL prefix for studio endpoints [string] --ice-servers ICE servers configuration for WebRTC [string] --working-directory Host directory to mount as /data in the instance containers [string] --cpu-pinning CPU cores to pin the instance to. Mutually exclusive with cpuCount. [array] --cpu-count Auto-allocate this many free cores. Mutually exclusive with cpuPinning. [number] --container-user Container user:group (e.g. 1000:1000). Auto-detected on Linux. [string] --seed-examples Seed workspace with example workflows and assets [boolean]norsk-ctl instance delete
Section titled “norsk-ctl instance delete ”norsk-ctl instance delete <id>
Delete an instance
Positionals: id Instance ID [string] [required]
Options: -o, --output Output format [string] [choices: "yaml", "json"] [default: "yaml"] --port Daemon port (default 8333, or $NORSK_CTL_PORT) [number] --help Show help [boolean]norsk-ctl instance describe
Section titled “norsk-ctl instance describe ”norsk-ctl instance describe <id>
Describe an instance
Positionals: id Instance ID [string] [required]
Options: -o, --output Output format [string] [choices: "yaml", "json"] [default: "yaml"] --port Daemon port (default 8333, or $NORSK_CTL_PORT) [number] --help Show help [boolean]norsk-ctl instance restart
Section titled “norsk-ctl instance restart ”norsk-ctl instance restart <id>
Restart an instance (fast, no image change)
Positionals: id Instance ID [string] [required]
Options: -o, --output Output format [string] [choices: "yaml", "json"] [default: "yaml"] --port Daemon port (default 8333, or $NORSK_CTL_PORT) [number] --help Show help [boolean]norsk-ctl instance relaunch
Section titled “norsk-ctl instance relaunch ”norsk-ctl instance relaunch <id>
Relaunch an instance (teardown + recreate) with optional image overrides
Positionals: id Instance ID [string] [required]
Options: -o, --output Output format [string] [choices: "yaml", "json"] [default: "yaml"] --port Daemon port (default 8333, or $NORSK_CTL_PORT) [number] --help Show help [boolean] --studio-tag Override studio image tag [string] --media-tag Override media image tag [string]norsk-ctl instance list
Section titled “norsk-ctl instance list”norsk-ctl instance list
List all instances
Options: -o, --output Output format [string] [choices: "yaml", "json"] [default: "yaml"] --port Daemon port (default 8333, or $NORSK_CTL_PORT) [number] --help Show help [boolean]norsk-ctl images
Section titled “norsk-ctl images”norsk-ctl images <subcommand>
Manage container images (defaults, list pairs)
Commands: norsk-ctl images list List image pairs and the current defaults norsk-ctl images set-defaults Pin the default studio + media tags used for new instance launchesnorsk-ctl images list
Section titled “norsk-ctl images list”norsk-ctl images list
List image pairs and the current defaults
Options: -o, --output Output format [string] [choices: "yaml", "json"] [default: "yaml"] --port Daemon port (default 8333, or $NORSK_CTL_PORT) [number] --help Show help [boolean]norsk-ctl images set-defaults
Section titled “norsk-ctl images set-defaults”norsk-ctl images set-defaults
Pin the default studio + media tags used for new instance launches
Options: -o, --output Output format [string] [choices: "yaml", "json"] [default: "yaml"] --port Daemon port (default 8333, or $NORSK_CTL_PORT) [number] --help Show help [boolean] --studio Studio image tag [string] [required] --media Media image tag [string] [required]norsk-ctl plugin
Section titled “norsk-ctl plugin”norsk-ctl plugin <subcommand>
Manage Norsk Studio plugins
Commands: norsk-ctl plugin enable <name> Enable a plugin norsk-ctl plugin disable <name> Disable a plugin norsk-ctl plugin list List all pluginsnorsk-ctl plugin enable
Section titled “norsk-ctl plugin enable ”norsk-ctl plugin enable <name>
Enable a plugin
Positionals: name Plugin name [string] [required]
Options: -o, --output Output format [string] [choices: "yaml", "json"] [default: "yaml"] --port Daemon port (default 8333, or $NORSK_CTL_PORT) [number] --help Show help [boolean]norsk-ctl plugin disable
Section titled “norsk-ctl plugin disable ”norsk-ctl plugin disable <name>
Disable a plugin
Positionals: name Plugin name [string] [required]
Options: -o, --output Output format [string] [choices: "yaml", "json"] [default: "yaml"] --port Daemon port (default 8333, or $NORSK_CTL_PORT) [number] --help Show help [boolean]norsk-ctl plugin list
Section titled “norsk-ctl plugin list”norsk-ctl plugin list
List all plugins
Options: -o, --output Output format [string] [choices: "yaml", "json"] [default: "yaml"] --port Daemon port (default 8333, or $NORSK_CTL_PORT) [number] --help Show help [boolean]norsk-ctl config
Section titled “norsk-ctl config”norsk-ctl config <subcommand>
Manage CLI configuration
Commands: norsk-ctl config set Update config values norsk-ctl config show Show current config norsk-ctl config upgrade-defaults Bump defaultStudioTag/defaultMediaTag to this norsk-ctl binary's built-in versionsnorsk-ctl config set
Section titled “norsk-ctl config set”norsk-ctl config set
Update config values
Options: -o, --output Output format [string] [choices: "yaml", "json"] [default: "yaml"] --port Daemon port (default 8333, or $NORSK_CTL_PORT) [number] --help Show help [boolean] --license-file Path to license file [string] --working-directory Default working directory [string] --host-ip Host IP address for instances [string] --examples-directory Path to examples directory [string] --public-host Public host clients use to reach this server (bare host, e.g. arnuc or my.server.com) [string] --upgrade-check Enable/disable the periodic upgrade check (off = no S3 lookup, no UI banner) [string] [choices: "on", "off"]norsk-ctl config show
Section titled “norsk-ctl config show”norsk-ctl config show
Show current config
Options: -o, --output Output format [string] [choices: "yaml", "json"] [default: "yaml"] --port Daemon port (default 8333, or $NORSK_CTL_PORT) [number] --help Show help [boolean]norsk-ctl config upgrade-defaults
Section titled “norsk-ctl config upgrade-defaults”norsk-ctl config upgrade-defaults
Bump defaultStudioTag/defaultMediaTag to this norsk-ctl binary's built-in versions
Options: -o, --output Output format [string] [choices: "yaml", "json"] [default: "yaml"] --port Daemon port (default 8333, or $NORSK_CTL_PORT) [number] --help Show help [boolean]norsk-ctl serve
Section titled “norsk-ctl serve”norsk-ctl serve
Start the norsk-ctl daemon in the foreground
Options: --help Show help [boolean] --insecure Run without TLS (HTTP only) [boolean] [default: false]norsk-ctl shutdown
Section titled “norsk-ctl shutdown”norsk-ctl shutdown
Shut down norsk-ctl: stop proxy, remove instances, exit daemon
Options: -o, --output Output format [string] [choices: "yaml", "json"] [default: "yaml"] --port Daemon port (default 8333, or $NORSK_CTL_PORT) [number] --help Show help [boolean] --daemon-only Only stop the daemon; leave proxy + instances running (e.g. for an in-place binary swap) [boolean] [default: false]norsk-ctl proxy
Section titled “norsk-ctl proxy”norsk-ctl proxy <subcommand>
Manage the nginx reverse proxy
Commands: norsk-ctl proxy pull Pre-pull nginx and oauth2-proxy images norsk-ctl proxy start Generate nginx config and start nginx norsk-ctl proxy stop Stop nginx norsk-ctl proxy reload Regenerate config and reload nginx without downtime norsk-ctl proxy status Show nginx process status and active upstreams norsk-ctl proxy logs View nginx access or error logsnorsk-ctl proxy pull
Section titled “norsk-ctl proxy pull”norsk-ctl proxy pull
Pre-pull nginx and oauth2-proxy images
Options: -o, --output Output format [string] [choices: "yaml", "json"] [default: "yaml"] --port Daemon port (default 8333, or $NORSK_CTL_PORT) [number] --help Show help [boolean]norsk-ctl proxy start
Section titled “norsk-ctl proxy start”norsk-ctl proxy start
Generate nginx config and start nginx
Options: -o, --output Output format [string] [choices: "yaml", "json"] [default: "yaml"] --port Daemon port (default 8333, or $NORSK_CTL_PORT) [number] --help Show help [boolean]norsk-ctl proxy stop
Section titled “norsk-ctl proxy stop”norsk-ctl proxy stop
Stop nginx
Options: -o, --output Output format [string] [choices: "yaml", "json"] [default: "yaml"] --port Daemon port (default 8333, or $NORSK_CTL_PORT) [number] --help Show help [boolean]norsk-ctl proxy reload
Section titled “norsk-ctl proxy reload”norsk-ctl proxy reload
Regenerate config and reload nginx without downtime
Options: -o, --output Output format [string] [choices: "yaml", "json"] [default: "yaml"] --port Daemon port (default 8333, or $NORSK_CTL_PORT) [number] --help Show help [boolean]norsk-ctl proxy status
Section titled “norsk-ctl proxy status”norsk-ctl proxy status
Show nginx process status and active upstreams
Options: -o, --output Output format [string] [choices: "yaml", "json"] [default: "yaml"] --port Daemon port (default 8333, or $NORSK_CTL_PORT) [number] --help Show help [boolean]norsk-ctl proxy logs
Section titled “norsk-ctl proxy logs”norsk-ctl proxy logs
View nginx access or error logs
Options: -o, --output Output format [string] [choices: "yaml", "json"] [default: "yaml"] --port Daemon port (default 8333, or $NORSK_CTL_PORT) [number] --help Show help [boolean] --type Log type to view [string] [choices: "access", "error"] [default: "access"] -n, --lines Number of tail lines to show [number] [default: 100] -f, --follow Poll for new log output every 2s [boolean] [default: false]norsk-ctl pull
Section titled “norsk-ctl pull”norsk-ctl pull
Pull default studio and media images
Options: --help Show help [boolean]norsk-ctl inspect
Section titled “norsk-ctl inspect”norsk-ctl inspect
Show a human-readable dump of the norsk-ctl database
Options: -o, --output Output format [string] [choices: "yaml", "json"] [default: "yaml"] --port Daemon port (default 8333, or $NORSK_CTL_PORT) [number] --help Show help [boolean]norsk-ctl init
Section titled “norsk-ctl init”norsk-ctl init
Initialize norsk-ctl configuration
Options: --help Show help [boolean] --license-file Path to license file [string] --cert-path Path to TLS certificate file (PEM) [string] --key-path Path to TLS private key file (PEM) [string] --cert-source Certificate source type [string] [choices: "mkcert", "user", "certbot"] --working-directory Default working directory for new instances [string] --proxy-user Create a proxy basic-auth user [string] --proxy-password Password for --proxy-user [string] --network-mode Network mode: docker (bridge+proxy), hybrid (studio proxied, media on host), host (all on host) [string] [choices: "docker", "hybrid", "host"] --default-studio-tag Default studio image tag [string] --public-host Public host clients use to reach this server (bare host or host:port; scheme stripped) [string] --default-media-tag Default media image tag [string] --insecure Run without TLS (HTTP only) [boolean] [default: false] --force Overwrite existing config.yaml [boolean] [default: false] --start-server Start `norsk-ctl serve` immediately after init succeeds (use --no-start-server to opt out) [boolean]norsk-ctl demo
Section titled “norsk-ctl demo”norsk-ctl demo
One-command demo: init + launch for evaluators
Commands: norsk-ctl demo delete Tear down the demonorsk-ctl demo delete
Section titled “norsk-ctl demo delete”norsk-ctl demo delete
Tear down the demo
Options: -o, --output Output format [string] [choices: "yaml", "json"] [default: "yaml"] --port Daemon port (default 8333, or $NORSK_CTL_PORT) [number] --help Show help [boolean] --license-file Path to Norsk license file [string]norsk-ctl fetch
Section titled “norsk-ctl fetch”norsk-ctl fetch <target>
Fetch bundled tools (mkcert)
Commands: norsk-ctl fetch mkcert Download mkcert v1.4.4 to ~/.norsk-ctl/binnorsk-ctl fetch mkcert
Section titled “norsk-ctl fetch mkcert”norsk-ctl fetch mkcert
Download mkcert v1.4.4 to ~/.norsk-ctl/bin
Options: --help Show help [boolean]norsk-ctl source
Section titled “norsk-ctl source”norsk-ctl source <subcommand>
Manage sample SRT sources for instances
Commands: norsk-ctl source start <instanceId> <preset> Start a sample SRT source streaming to an instance norsk-ctl source stop <instanceId> <name> Stop a sample source norsk-ctl source list List running sample sources norsk-ctl source presets List available source presetsnorsk-ctl source start
Section titled “norsk-ctl source start ”norsk-ctl source start <instanceId> <preset>
Start a sample SRT source streaming to an instance
Positionals: instanceId Target instance ID [string] [required] preset Source preset (camera1, camera2) [string] [required]
Options: -o, --output Output format [string] [choices: "yaml", "json"] [default: "yaml"] --port SRT target port (default: 5001) [number] --help Show help [boolean]norsk-ctl source stop
Section titled “norsk-ctl source stop ”norsk-ctl source stop <instanceId> <name>
Stop a sample source
Positionals: instanceId Instance ID [string] [required] name Source name [string] [required]
Options: -o, --output Output format [string] [choices: "yaml", "json"] [default: "yaml"] --port Daemon port (default 8333, or $NORSK_CTL_PORT) [number] --help Show help [boolean]norsk-ctl source list
Section titled “norsk-ctl source list”norsk-ctl source list
List running sample sources
Options: -o, --output Output format [string] [choices: "yaml", "json"] [default: "yaml"] --port Daemon port (default 8333, or $NORSK_CTL_PORT) [number] --help Show help [boolean] --instance Filter by instance ID [string]norsk-ctl source presets
Section titled “norsk-ctl source presets”norsk-ctl source presets
List available source presets
Options: -o, --output Output format [string] [choices: "yaml", "json"] [default: "yaml"] --port Daemon port (default 8333, or $NORSK_CTL_PORT) [number] --help Show help [boolean]norsk-ctl stats
Section titled “norsk-ctl stats”norsk-ctl stats
Show Docker container resource usage
Options: -o, --output, --output Output format [string] [choices: "yaml", "json", "table", "yaml", "json"] [default: "table"] --port Daemon port (default 8333, or $NORSK_CTL_PORT) [number] --help Show help [boolean]norsk-ctl upgrade
Section titled “norsk-ctl upgrade”norsk-ctl upgrade
Download a newer norsk-ctl binary and atomically swap it in
Options: -o, --output Output format [string] [choices: "yaml", "json"] [default: "yaml"] --port Daemon port (default 8333, or $NORSK_CTL_PORT) [number] --help Show help [boolean] --version Pin to a specific version (overrides --channel) [string] --channel Channel to track when --version is not given [string] [choices: "latest", "stable", "beta"] [default: "latest"] --list Show available channels + recent versions without upgrading [boolean] [default: false] --dry-run Resolve target version + verify checksum but do not swap binaries [boolean] [default: false] --max-versions How many versions to show with --list (default 10) [number] [default: 10]norsk-ctl user
Section titled “norsk-ctl user”norsk-ctl user <subcommand>
Manage basic-auth proxy users
Commands: norsk-ctl user set <name> Add or update a basic-auth user norsk-ctl user delete <name> Remove a basic-auth usernorsk-ctl user set
Section titled “norsk-ctl user set ”norsk-ctl user set <name>
Add or update a basic-auth user
Positionals: name Username [string] [required]
Options: -o, --output Output format [string] [choices: "yaml", "json"] [default: "yaml"] --port Daemon port (default 8333, or $NORSK_CTL_PORT) [number] --help Show help [boolean] -p, --password Password (if omitted, read from stdin) [string]norsk-ctl user delete
Section titled “norsk-ctl user delete ”norsk-ctl user delete <name>
Remove a basic-auth user
Positionals: name Username [string] [required]
Options: -o, --output Output format [string] [choices: "yaml", "json"] [default: "yaml"] --port Daemon port (default 8333, or $NORSK_CTL_PORT) [number] --help Show help [boolean]