Deployment
Fluxomni Studio deploys to Docker hosts on Linux, macOS, or Windows (WSL2 Ubuntu).
The installer downloads the stack, starts it, and can install Docker on Debian/Ubuntu. Firewall configuration is opt-in: enable it with WITH_UFW=1 or WITH_FIREWALLD=1 when running the installer.
Quick Install
curl -fsSL https://install.fluxomni.io | bash -s
On Debian/Ubuntu hosts, this automatically installs Docker if it is missing.
The default install path is ~/fluxomni.
General Requirements
- Supported platforms: Linux x64/ARM64, macOS x64/Apple Silicon, Windows (WSL2 Ubuntu)
- Recommended server OS: Ubuntu 24.04 LTS
- Architecture: x86_64 (x64) or ARM64 (AArch64)
- Docker: Engine with Compose v2 — the installer bootstraps Docker automatically on Debian/Ubuntu
- Ports: see the Configuration page for the full port list
For the smallest restreaming workloads, a 1-vCPU / 1 GB instance is usually enough. If you plan to run many concurrent routes or use transcoding, size up accordingly.
Cloud Provider Guides
Step-by-step instructions for creating a server and auto-installing Fluxomni Studio:
- DigitalOcean — Droplets
- Hetzner Cloud — Cloud Servers
- Oracle Cloud — OCI Compute (includes Free Tier notes)
- VScale / Selectel — Moscow / St. Petersburg regions
Each guide ends with Fluxomni Studio running at http://<server-ip>/routes.
Installer Variables
The installer accepts environment variables to control its behavior. Pass them before the pipe, for example:
curl -fsSL https://install.fluxomni.io | WITH_UFW=1 FLUXOMNI_VERSION=edge bash -s
Server provisioning
WITH_INITIAL_UPGRADE=1— runapt-get upgradebefore installing (useful for fresh servers)WITH_UFW=1— install and configure ufw with the required Fluxomni Studio portsWITH_FIREWALLD=1— install and configure firewalld instead of ufw (required for Oracle Cloud)ALLOWED_IPS— comma-separated list of IPs to allow through the firewall (default:*for all)
Install target
FLUXOMNI_DIR— install path (default:~/fluxomni, or~/fluxomni-media-nodefor media-node installs)FLUXOMNI_VERSION— image tag:latest(default),edge, canonical publicvYY.Q.N, or core-imagevX.Y.ZFLUXOMNI_FRONTEND_IMAGE— override frontend image repositoryFLUXOMNI_CONTROL_PLANE_IMAGE— override control-plane image repositoryFLUXOMNI_MEDIA_NODE_IMAGE— override media-node image repositoryFLUXOMNI_IMAGE— legacy base repository override (derives split image names when explicit variables are unset)FLUXOMNI_SELFHOST_REF— force a specific self-host config bundle refFLUXOMNI_REPO_RAW— override the raw asset base entirely
Media-node mode
Install a standalone media-node by passing media-node as a positional argument:
FLUXOMNI_CONTROL_PLANE_RPC_ENDPOINT=http://control.example.com:50052 \
FLUXOMNI_CONTROL_PLANE_INTERNAL_AUTH_TOKEN=replace-with-shared-token \
FLUXOMNI_MEDIA_NODE_PUBLIC_HOST=media2.example.com \
curl -fsSL https://install.fluxomni.io | bash -s -- media-node
Required variables: FLUXOMNI_CONTROL_PLANE_RPC_ENDPOINT, FLUXOMNI_CONTROL_PLANE_INTERNAL_AUTH_TOKEN, and FLUXOMNI_MEDIA_NODE_PUBLIC_HOST.
Optional media-node overrides: FLUXOMNI_MEDIA_NODE_ENDPOINT, FLUXOMNI_MEDIA_NODE_ID, FLUXOMNI_MEDIA_NODE_NAME, FLUXOMNI_MEDIA_NODE_LABELS, FLUXOMNI_MEDIA_NODE_ZONE.
Release Channels
latest: newest stable releasevYY.Q.N: canonical public stable release tag, e.g.v26.2.4vX.Y.Z: core image tag, accepted for direct image pinning, e.g.v0.13.0edge: latest successful publish frommain
When FLUXOMNI_VERSION is pinned, the installer first tries the same self-host ref, then its public/core alias when applicable, and falls back to main if no versioned self-host assets are published yet.
After Deployment
Once the stack is running:
- Configuration — environment variables, release channels, attaching media nodes
- Troubleshooting — logs, common issues, rollback
- User Guide — operating the control surface