Fluxomni Studio runs live streams on your own server. Send one stream in. Fluxomni Studio can send it out to many places at once: RTMP, SRT, or Icecast.
This repo is for self-host installs. Linux and macOS are supported on x64 and ARM64. Windows is supported through WSL2 with Ubuntu.
- Stable public automation API — GraphQL automation now uses Route and Artifacts vocabulary, release-pinned schema discovery at
/api/schema.graphql, and a session-aware@fluxomni/api-client - Per-output origin audio control — each destination can keep program audio, select a track or channel, or drop origin audio before mix-ins are applied
- Configurable media baselines — route workspaces can learn media profiles from real sources and reuse those baselines for playlist and source compatibility checks
- More compact operator flows — route workspaces, playlist controls, diagnostics, and route cards have tighter controls and clearer live-operation states
For older versions, see the Release Channels section below.
curl -fsSL https://install.fluxomni.io | bashAfter installation:
- open
http://<your-server-ip> - use
/routesto manage streams - use
/fleetto check server health - copy the RTMP publish address from a route workspace
Note
On Debian and Ubuntu, the installer can install Docker automatically if it is missing. That path requires root or sudo access.
Best for most users. Installs Fluxomni Studio on one server.
curl -fsSL https://install.fluxomni.io | bashUse this when Fluxomni Studio already runs somewhere else and this server should only move video.
FLUXOMNI_VERSION=edge \
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-nodeSet FLUXOMNI_MEDIA_NODE_PUBLIC_HOST to the real hostname or IP for this media server. Fluxomni Studio uses it for ingest and playback URLs.
# Install into a custom directory
FLUXOMNI_DIR=/opt/fluxomni \
curl -fsSL https://install.fluxomni.io | bash
# Pin a specific stable release
FLUXOMNI_VERSION=v26.2.4 \
curl -fsSL https://install.fluxomni.io | bash
# Use the newest main-branch build
FLUXOMNI_VERSION=edge \
curl -fsSL https://install.fluxomni.io | bash
# Use a custom self-host config ref
FLUXOMNI_SELFHOST_REF=my-ref \
curl -fsSL https://install.fluxomni.io | bashFor the default self-host setup, the installer:
- installs Docker automatically on supported Debian and Ubuntu hosts if needed
- downloads the correct
docker-compose.ymland.env.example - creates or updates
.envin place - pulls and starts Fluxomni Studio
- preserves your existing
data/directory on reruns - verifies that the local services actually start before printing success
The web UI is included in the default install.
| Install type | Default directory | Main services |
|---|---|---|
| Self-hosted stack | ~/fluxomni |
Fluxomni Studio |
| Standalone media node | ~/fluxomni-media-node |
media-node |
The installer manages:
docker-compose.yml.envdata/for state, recordings, downloaded videos, and runtime files
| Channel | Description |
|---|---|
latest |
Newest stable release (default) |
vYY.Q.N |
Canonical public stable release tag |
vX.Y.Z |
Core image tag, accepted for direct image pinning |
edge |
Latest successful publish from main |
Use latest unless you need a pinned release or a test build. The current stable public release is v26.2.4; it maps to retained core image tag v0.13.0. Older v0.x.y core tags remain available for rollback.
See the What's New section above for the latest highlights.
If you used the default single-host install:
cd ~/fluxomni
# Troubleshooting (Connection & Health Doctor)
./doctor.sh
# Update to the currently configured image tags
docker compose pull
docker compose up -d
# Follow logs
docker compose logs -f
# Stop the stack
docker compose downIf you used a custom directory or installed only a media node, run these commands from that directory.
You can run install.sh again on the same install. It keeps your data and updates known .env keys.
- If
FLUXOMNI_VERSIONis pinned, the installer tries the matching self-host files first. Stable public pins fail loudly when matching assets are missing after release sync. - Use
FLUXOMNI_SELFHOST_REFto force a self-host asset ref. - Use
FLUXOMNI_REPO_RAWto use a custom raw asset base. - Use
FLUXOMNI_FRONTEND_IMAGE,FLUXOMNI_CONTROL_PLANE_IMAGE, andFLUXOMNI_MEDIA_NODE_IMAGEonly when you publish your own images.
Useful standalone media-node overrides:
FLUXOMNI_MEDIA_NODE_ENDPOINTFLUXOMNI_MEDIA_NODE_IDFLUXOMNI_MEDIA_NODE_NAMEFLUXOMNI_MEDIA_NODE_LABELSFLUXOMNI_MEDIA_NODE_ZONE
Start here if you want step-by-step guidance:
- Published documentation
- Book introduction
- Roadmap
- Quick start
- Configuration
- Private Access & Tunnels
- Troubleshooting
- Deployment overview
- Hetzner guide
- DigitalOcean guide
- Oracle guide
- Vscale guide
This repository builds the published docs website from the docs/ mdBook.
Before opening a PR that changes docs or the installer, run:
make lintFor the same strict check used in CI:
make lint.ciUseful local commands:
make build- build the docs intodocs/bookmake serve- serve the docs locallymake lint- build docs, check local Markdown links, and run markdownlint when availablemake lint.ci- strict CI docs lint; requiresmarkdownlint-cli2make screenshots- refresh user-guide page and guided-flow screenshots from a running Fluxomni Studio instance
Compatibility aliases still exist for the older make docs.build, make docs.serve, make docs.lint, and make docs.lint.ci targets.
# Against a local Docker stack (default http://localhost)
make screenshots
# Against a specific host
FLUXOMNI_URL=http://192.168.1.100 make screenshots
# With auth enabled
FLUXOMNI_URL=http://192.168.1.100 FLUXOMNI_ADMIN_PASSWORD=secret make screenshotsSee screenshots/README.md for the full image list and capture details.
