Installation guide

Install LetsStreamIt, step by step.

One command sets up everything — or follow the six steps below for the manual route. Every step lists the exact commands: no guesswork, no hidden requirements.

Fast install

Everything, one line

Run as root on a fresh Linux server. The script detects your package manager and installs the full stack:

PostgreSQLIcecast2LiquidsoapShoutcast DNASBun
curl -fsSL https://letsstreamit.freebuff.app/install.sh | sh

Idempotent — safe to re-run; existing installs are detected and skipped.

Provisions the DB — creates the role & database and writes DATABASE_URL for you.

Bring the source — run it inside your LetsStreamIt directory, or set APP_DIR / GIT_URL.

Prefer to do it by hand?

The same six steps the script runs — follow them manually if you want full control.

1

Prepare the server

A clean Linux server (or laptop for testing) with sudo access. Open the web port (3000) plus your station port range (default 8000–8999) and FTP (2121, 21100–21110) if you use those features.
2

Install the runtime

Install Bun and PostgreSQL. Bun runs the panel; PostgreSQL stores stations, users and settings.
curl -fsSL https://bun.sh/install | bash
sudo apt install -y postgresql   # Debian/Ubuntu
3

Install the stream engines

At least one engine is needed to actually broadcast. Icecast is the default and recommended; Liquidsoap powers AutoDJ.
sudo apt install -y icecast2 liquidsoap
# Shoutcast DNAS (optional): drop sc_serv at /opt/shoutcast/sc_serv
4

Get the app and install dependencies

Copy the project onto the server, then install packages and let migrations run:
cd letsstreamit
bun install
bun run build
Migrations apply automatically on first boot (src/instrumentation.ts).
5

Start the panel

For production, bind to all interfaces so the domain can reach it:
bun run start   # serves 0.0.0.0:3000
Development uses bun run dev. Environment keys (DATABASE_URL, SMTP, Cloudflare) can be set later in Settings → Environment.
6

Run the install wizard

Open /setup in the browser. The wizard walks you through database → domain & IP → admin account and locks itself when finished. Then create your first station from the dashboard.

Which operating systems?

LetsStreamIt is a Linux-first self-hosted app. Anything with a package manager that can provide PostgreSQL, Icecast and Liquidsoap will run it.

Operating systemSupportNotes
Ubuntu / DebianFully supportedRecommended — Icecast2 and Liquidsoap ship in apt; the install wizard works out of the box.
Rocky / AlmaLinux / Fedora (RHEL family)Fully supportedInstall engines from the distro repos (EPEL where needed); everything else is identical.
Arch LinuxSupportedicecast and liquidsoap are in the official repos.
AlpineSupportedWorks well in small VPS/containers; install postgresql, icecast, liquidsoap via apk.
macOSDevelopment / testingHomebrew provides the engines — great for developing, not intended for public streaming.
WindowsVia WSL2Run the panel inside WSL2 (Ubuntu) — engines are Linux daemons and don't run natively on Windows.
Freebuff Cloud hostingManagedDeploy this app with the platform's default Next.js build — no server to maintain.

Station ports and the FTP range must be reachable from the internet for remote listeners and uploads; the web UI itself only needs one port.

Ready? The wizard does the rest.

Database, domain & IP, and your admin account — four screens, then the console unlocks and the install wizard locks itself.