Skip to content

CLI Reference

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 <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 <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 instances
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 <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 <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 <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 <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
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 <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 launches
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
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 <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 plugins
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 <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
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 <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 versions
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
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
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
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
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 <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 logs
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
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
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
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
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
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
Pull default studio and media images
Options:
--help Show help [boolean]
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
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
One-command demo: init + launch for evaluators
Commands:
norsk-ctl demo delete Tear down the demo
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 <target>
Fetch bundled tools (mkcert)
Commands:
norsk-ctl fetch mkcert Download mkcert v1.4.4 to ~/.norsk-ctl/bin
norsk-ctl fetch mkcert
Download mkcert v1.4.4 to ~/.norsk-ctl/bin
Options:
--help Show help [boolean]
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 presets
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 <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
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
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
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
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 <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 user
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 <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]