shuffleset
Free self-hosted distribution
Run ShuffleSet on your own media server.
The public image bundles the core ShuffleSet streaming runtime, the ESM player bundle, Caddy, and the branded encoder bumper path. You bring the media folders and decide who can reach it.
Public image
Distinct from the hosted service image.
The free self-hosted build is published separately from the internal hosted build and does not include Noise Factor deployment config, catalog admin wiring, account systems, or site-only service code.
registry.noisefactor.io/shuffleset-selfhost:latest
Setup
Point Compose at your media directories.
Create a working folder, download the compose file, set AUDIO_DIR and VIDEO_DIR, then start it. The default endpoint is http://localhost:8080.
mkdir shuffleset
cd shuffleset
curl -fsSLO https://shuffleset.stream/selfhost/docker-compose.yml
mkdir -p audio video
cat > .env <<'EOF'
AUDIO_DIR=./audio
VIDEO_DIR=./video
SITE_URL=http://localhost:8080
EOF
docker compose up -d
Access control
Use Caddy basic auth when you want a password gate.
The compose file falls back to Caddy for username/password handling. Generate a Caddy hash, then add SHUFFLESET_AUTH_USER and SHUFFLESET_AUTH_HASH to the same .env file.
docker run --rm caddy:2-alpine caddy hash-password --plaintext 'choose-a-password'
License
Free to run, not free to repackage.
No redistribution. You may run the public image for your own instance, but may not redistribute the image, bundle, or code.
No competing service. You may not use this distribution to offer a hosted media streaming service, paid or unpaid, that competes with ShuffleSet.