Network Modes
Network mode is set once at norsk-ctl init and determines how containers communicate with each other and the outside world. There are three modes — docker, host, and hybrid — each trading off isolation, simplicity, and performance differently.
Quick decision matrix
Section titled “Quick decision matrix”| Use case | Mode | Why |
|---|---|---|
| Multi-instance, proxy auth, production | docker | Full isolation, single entry point |
| Single instance, dev/testing, simplest | host | No proxy overhead, direct access |
| Multi-instance, low-latency media ingest | hybrid | Proxy for UI, host networking for media |
Docker mode
Section titled “Docker mode”Docker mode places all containers on a Docker bridge network (norsk-net). An nginx reverse proxy is the single entry point — it routes browser traffic to the correct Studio instance by matching the instance ID in the URL path and forwards API requests to the backend on the host.
This is the default and recommended mode for production. It supports multiple concurrent instances without port conflicts (each Studio and Media container is resolved by name on the bridge network, not by port). Oauth2 security protects the proxy.
Initialise with:
norsk-ctl init --network-mode docker --proxy-user admin --proxy-password <pass>Access Studio at https://<proxy-host>/<instance-id>/studio/.
Host mode
Section titled “Host mode”Host mode runs all containers with network_mode: host — every port binds directly to the host machine. There is no bridge network, no proxy container, and no auth layer. Studio connects to Media via localhost.
This is the simplest mode and ideal for local development or single-instance testing. Because ports bind directly, running multiple instances will cause port conflicts unless you manually assign unique ports to each.
Initialise with:
norsk-ctl init --network-mode hostAccess Studio directly at http://localhost:<port>.
Caveat: no proxy means no auth and no multi-instance routing. Multiple instances require manually assigning distinct ports.
Hybrid mode
Section titled “Hybrid mode”Hybrid mode bridges the gap: Studio containers sit on the Docker bridge network behind the proxy (just like docker mode), while Media containers run on the host network for direct, low-latency media ingest. Studio reaches Media via host.docker.internal instead of a container name.
This gives you proxy-based auth and multi-instance UI routing with the lowest possible latency — media traffic never traverses the Docker network stack.
Initialise with:
norsk-ctl init --network-mode hybrid --proxy-user admin --proxy-password <pass>Access Studio the same way as docker mode: https://<proxy-host>/<instance-id>/studio/.
Switching modes
Section titled “Switching modes”Changing network mode requires re-initialising:
norsk-ctl init --network-mode <new-mode> --forceAll running instances should be stopped first. The --force flag overwrites the existing config.yaml.