This guide covers all official installation methods for VuIO Media Server across Linux, macOS, Windows, Docker, Kubernetes, and BSD.
- Linux Installation
- Homebrew (macOS & Linux)
- Docker Container
- Kubernetes (Helm 3)
- Windows
- FreeBSD & BSD
- Systemd Service Management
- Automatic Self-Updater
Add our official APT repository to get automatic background updates via apt:
# Add the VuIO APT repository
echo "deb [trusted=yes] https://vuiodev.github.io/vuio/apt stable main" | sudo tee /etc/apt/sources.list.d/vuio.list
# Update package index and install vuio
sudo apt update
sudo apt install vuioDistro Codename Alternative: If your setup uses codenames, you can also use
deb [trusted=yes] https://vuiodev.github.io/vuio/apt $(lsb_release -cs) main.
Add our official RPM repository:
# Add the VuIO DNF repository
sudo dnf config-manager --add-repo https://vuiodev.github.io/vuio/rpm/vuio.repo
# Install vuio
sudo dnf install vuioFor older distributions using yum:
sudo yum-config-manager --add-repo https://vuiodev.github.io/vuio/rpm/vuio.repo
sudo yum install vuioAdd our official Alpine Linux repository:
# Add the VuIO Alpine repository to /etc/apk/repositories
echo "https://vuiodev.github.io/vuio/alpine/stable/main" | sudo tee -a /etc/apk/repositories
# Update package index and install vuio
sudo apk update
sudo apk add --allow-untrusted vuioIf you prefer downloading standalone packages without adding a repository:
# For x86_64 (amd64)
wget https://vuiodev.github.io/vuio/packages/vuio_latest_amd64.deb
sudo dpkg -i vuio_latest_amd64.deb
# For ARM64 (aarch64 / Raspberry Pi 64-bit)
wget https://vuiodev.github.io/vuio/packages/vuio_latest_arm64.deb
sudo dpkg -i vuio_latest_arm64.deb# For x86_64
wget https://vuiodev.github.io/vuio/packages/vuio_latest_x86_64.rpm
sudo rpm -ivh vuio_latest_x86_64.rpm
# For ARM64 (aarch64)
wget https://vuiodev.github.io/vuio/packages/vuio_latest_aarch64.rpm
sudo rpm -ivh vuio_latest_aarch64.rpm# For x86_64
wget https://vuiodev.github.io/vuio/packages/vuio_latest_x86_64.apk
sudo apk add --allow-untrusted vuio_latest_x86_64.apk
# For ARM64 (aarch64)
wget https://vuiodev.github.io/vuio/packages/vuio_latest_aarch64.apk
sudo apk add --allow-untrusted vuio_latest_aarch64.apkAdd our official Arch Linux repository to /etc/pacman.conf:
[vuio]
SigLevel = Optional TrustAll
Server = https://vuiodev.github.io/vuio/arch/os/$archThen synchronize pacman and install:
sudo pacman -Sy vuio# For x86_64
wget https://vuiodev.github.io/vuio/packages/vuio_latest_x86_64.pkg.tar.zst
sudo pacman -U vuio_latest_x86_64.pkg.tar.zst
# For ARM64 (aarch64 / Arch Linux ARM)
wget https://vuiodev.github.io/vuio/packages/vuio_latest_aarch64.pkg.tar.zst
sudo pacman -U vuio_latest_aarch64.pkg.tar.zstgit clone https://github.com/vuiodev/vuio.git
cd vuio/packaging/linux
./build-arch.sh
sudo pacman -U vuio-*.pkg.tar.zstFor Linux distributions without glibc 2.31+ (such as Alpine Linux, CentOS 7, RHEL 7, or lightweight embedded Linux), use our statically linked musl binaries:
# Download musl release tarball (x86_64)
curl -sSL -o vuio.tar.gz https://github.com/vuiodev/vuio/releases/latest/download/vuio-linux-x86_64.tar.gz
tar -xvf vuio.tar.gz
sudo mv vuio /usr/local/bin/Install VuIO on macOS or Linux using Homebrew:
brew tap vuiodev/vuio
brew install vuioRun VuIO directly from your terminal:
vuio /path/to/mediaOfficial multi-architecture Docker images are published to GitHub Container Registry (ghcr.io/vuiodev/vuio) for linux/amd64 and linux/arm64.
Note: Docker host networking is recommended for SSDP/UPnP LAN discovery to function properly. For full Docker configuration and environment variable details, see Docker Guide.
docker run -d \
--name vuio-server \
--restart unless-stopped \
--network host \
-v /path/to/media:/media:ro \
-v ./vuio-config:/config \
-e VUIO_IP=192.168.1.100 \
-e VUIO_PORT=8080 \
-e VUIO_WEB_PORT=8090 \
-e VUIO_MEDIA_DIRS=/media \
ghcr.io/vuiodev/vuio:latestCreate a docker-compose.yml file:
version: '3.8'
services:
vuio:
image: ghcr.io/vuiodev/vuio:latest
container_name: vuio-server
restart: unless-stopped
network_mode: host
environment:
- VUIO_IP=192.168.1.100
- VUIO_PORT=8080
- VUIO_WEB_PORT=8090
- VUIO_SERVER_NAME=VuIO Media Server
- VUIO_MEDIA_DIRS=/media/movies,/media/music,/media/pictures
volumes:
- ./vuio-config:/config
- /path/to/movies:/media/movies:ro
- /path/to/music:/media/music:ro
- /path/to/pictures:/media/pictures:roRun with:
docker-compose up -dDeploy VuIO to a Kubernetes cluster using the official Helm chart from GHCR. For comprehensive cluster setup, see Kubernetes Guide.
# Install directly from GitHub Container Registry
helm install vuio oci://ghcr.io/vuiodev/charts/vuio --version 0.0.50Or install from local source:
helm install vuio ./helm/vuioDownload the latest .msi installer from GitHub Releases and double-click to install, or run:
msiexec /i vuio_latest_x64.msiDownload vuio-windows-x86_64.exe, rename to vuio.exe, and run from PowerShell or Command Prompt:
.\vuio.exe C:\MediaDownload the FreeBSD pre-compiled release archive:
curl -sSL -o vuio-freebsd.tar.gz https://github.com/vuiodev/vuio/releases/latest/download/vuio-freebsd-x86_64.tar.gz
tar -xvf vuio-freebsd.tar.gz
sudo mv vuio /usr/local/bin/Run VuIO:
vuio /path/to/mediaWhen installed via DEB or RPM packages, VuIO includes integrated systemd unit files (/lib/systemd/system/vuio.service).
sudo systemctl daemon-reload
sudo systemctl enable --now vuiosudo systemctl status vuiosudo journalctl -u vuio -fThe package creates a default configuration file at /etc/vuio/vuio.toml. Edit this file to customize server settings, ports, and media paths:
sudo nano /etc/vuio/vuio.toml
sudo systemctl restart vuioVuIO features a built-in self-updater. To update an existing installed binary to the latest GitHub release at any time:
vuio --update