Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Installation

DatanoiseTV edited this page Jun 18, 2026 · 2 revisions

Installation

TinyIce ships as a single static binary with everything embedded. Pick the method that fits your environment; all of them land you at the same place — a server you reach on port 8000 and configure through the JSON config or the admin UI.

Requires nothing at runtime: no FFmpeg, no GCC, no separate database. The binary is self-contained.

Released binary

# Latest release for your OS/arch
curl -LJO "https://github.com/DatanoiseTV/tinyice/releases/latest/download/tinyice-$(uname -s | tr '[:upper:]' '[:lower:]')-$(uname -m)"
chmod +x tinyice-*
mv tinyice-* tinyice
./tinyice

Releases are published for Linux, macOS, and Windows on amd64 and arm64. Pick a specific version from the releases page if you need to pin.

Docker (GHCR, multi-arch)

Pre-built images for linux/amd64 and linux/arm64 are published on every release tag.

The image listens on 8080 inside the container and reads its config from /data/config.json, so map the port as host:8080 and mount a volume at /data:

docker run --rm -p 8000:8080 -v tinyice-data:/data \
 ghcr.io/datanoisetv/tinyice:latest
# now reachable on http://localhost:8000
Tag Points at
:latest Newest stable release
:beta Newest beta in the current pre-release line
:vX.Y.Z An exact release (e.g. :v2.6.3)
:X.Y / :X Newest patch in a minor / major line

The /data volume holds config.json, history.db, playlists, and ACME certificates, so they survive container restarts. To stream video, also publish the RTMP and/or SRT ports — see Streaming Sources. A ready-to-use Compose file is in Examples and Recipes#docker-compose.

Debian / Ubuntu (.deb) and RHEL/Fedora (.rpm)

Per-arch packages are attached to every GitHub release (amd64/arm64 for .deb, x86_64/aarch64 for .rpm). They install the binary at /usr/bin/tinyice, create a dedicated tinyice system user, lay down /etc/tinyice (config) and /var/lib/tinyice (state), and ship a hardened systemd unit at /lib/systemd/system/tinyice.service.

# Debian / Ubuntu
sudo dpkg -i tinyice_2.6.3_amd64.deb
# RHEL / Fedora / openSUSE
sudo rpm -i tinyice-2.6.3-1.x86_64.rpm

The packaged binary is granted cap_net_bind_service so it can bind 80/443 without root.

The service is installed masked on purpose. A stray systemctl start tinyice or a distro auto-enable hook must not bring up an unconfigured daemon. The post-install message walks you through the safe sequence:

sudo systemctl unmask tinyice
sudo systemctl enable --now tinyice
# then read the generated admin password from the journal:
sudo journalctl -u tinyice | grep -A4 "FIRST RUN"

See Deployment for the full systemd story.

From source

Requires Go 1.25+ and Node.js 20+ (Node is only needed to rebuild the frontend).

git clone https://github.com/DatanoiseTV/tinyice.git
cd tinyice
make build # rebuild frontend assets, then compile the Go binary
./tinyice
Target Does
make build Frontend (go generate) + Go binary
make generate Frontend assets only
make quick Go binary only (reuse existing dist/)
make dev Vite frontend dev server with hot reload
make clean Remove build artifacts

More in Developing.

Binding ports 80/443 without root

On Linux, grant the file capability instead of running as root:

sudo setcap 'cap_net_bind_service=+ep' ./tinyice

The .deb/.rpm packages and the systemd unit already handle this.

Updating

There is no in-process self-updater — distributions own the binary. To update, replace the artifact you installed:

  • Binary: download the new release and replace the file (use a hot-swap for zero-downtime).
  • Docker: docker pull the new tag and recreate the container.
  • Package: apt upgrade tinyice / dnf upgrade tinyice.

Next: Quick Start to get streaming, then Configuration for the details.

Clone this wiki locally

AltStyle によって変換されたページ (->オリジナル) /