NODED.CLOUD/Blog/Replace Restream: Self-Hosted Multistreaming on a VPS

Replace Restream: Self-Hosted Multistreaming on a VPS

30 Jul 2026 · Mario Marin

Twitch dropped the last multistreaming penalty in March 2026. One Docker command on a €0.12/mo VPS now replaces your Restream subscription — here's how.

For years the standard advice on multistreaming was "pay Restream and don't think about it." That advice made sense when Twitch exclusivity clauses made simulcasting contractually awkward and the self-hosted alternative meant compiling nginx modules on a Saturday. Neither is true anymore. The platform rules changed, and datarhei Restreamer packed the entire relay stack — ingest, web UI, fan-out — into one Docker container.

What's left is a hosting problem, and hosting problems are our department. Here's how we'd run a self-hosted Restream alternative on our streaming VPS, with real commands, real numbers, and an honest section at the end about when the managed service is still the right call.

Why multistream in 2026: the rules finally caught up

Two things changed. In October 2023, Twitch dropped its exclusivity requirements — Affiliates and Partners can simulcast to any platform, no special contract needed. The remaining awkwardness was the combined-chat rule: Twitch's simulcasting guidelines prohibited showing a merged cross-platform chat on stream, which made multistreaming feel like a compliance exercise.

That's gone too — in practice. In February 2026, Twitch's CEO announced the company would stop enforcing the combined-chat restrictions, so as of March 2026 there's no penalty for displaying a unified Twitch-plus-YouTube-plus-Kick chat overlay (the written guidelines haven't been formally rewritten yet, but enforcement — and the penalties — have stopped). Two rules of etiquette survive: the Twitch experience has to be at least as good as your other destinations, and you can't tell Twitch viewers to leave for your concurrent stream elsewhere. Both are trivially satisfied by, well, streaming normally.

Kick's terms permit simulcasting and the platform is openly friendly to it, while YouTube doesn't restrict it at all. So the question is no longer "am I allowed to multistream to Twitch, YouTube and Kick" — it's "what's the cheapest reliable way to fan one stream out to three ingests." Our live-streaming use-case page covers the general architecture; this post is the specific recipe.

The cost math: managed service vs. a box you own

Restream's paid plans start at $16/mo for Standard, which caps you at 8 destinations, and Riverside's comparison notes that full HD 1080p is reserved for the highest-tier plans. The free tier streams to 2 channels at 720p with a permanent watermark. None of this is unreasonable for a managed service; it's just a lot of money for what is, mechanically, one FFmpeg process copying packets.

Here's the same job, self-hosted:

OptionCostDestination capResolution cap
Restream Standard$16/moUp to 81080p (full HD gated to top tiers)
NODED streaming VPS€9.99/moNone — it's your boxWhatever the platforms accept
NODED hourly VPS, 20 h/mo≈ €0.12/moNoneWhatever the platforms accept

The €9.99/mo streaming VPS ships with pre-installed images for OBS, Nginx-RTMP — and Restreamer itself — on a 10 Gbps unmetered port. That's the always-on option: the ingest URL never changes, and it costs less than the managed service's entry tier while removing every cap.

The occasional streamer: worked hourly math

If you stream five evenings a month, four hours each, an always-on box is overkill. Our hourly KVM VPS starts at €0.006/hr — pay per hour, billed to the second. The arithmetic for a 20-hour month:

  • 20 hours × €0.006/hr = €0.12
  • Deploy time is ~60 seconds per session (root SSH in 47 s median), so setup overhead rounds to nothing
  • A 3 h 47 m stream bills as 3 h 47 m, because metering is to the second

Twelve cents a month. The coffee in the title is, frankly, the expensive option. The trade-off is that you destroy the box between sessions, so you script the setup — which, as you're about to see, is one Docker command — and your ingest IP changes each time. If re-pasting an IP into OBS twice a week annoys you, take the €9.99 box and keep the change from your $16.

Step-by-step: Restreamer on a VPS in about five minutes

1. Deploy the VPS

Pick the POP closest to you — we run 13 across the EU (Frankfurt, Amsterdam, Paris, Madrid, Vienna, Warsaw, Bucharest and more), so the first hop from your home connection stays short. Choose an Ubuntu image, deploy, and you're at a root shell in about a minute. Card or crypto payments both work (Bitcoin and others — EU-regulated, GDPR-compliant). Every box sits behind our free always-on 1 Tbps DDoS mitigation with sub-8-second detection, which matters more than it sounds: a public RTMP ingest port is a target, and yours is about to be public.

2. Run Restreamer

datarhei Restreamer is Apache-2.0 licensed, ships as a single container, and gives you RTMP and SRT ingest, a web UI, an HLS server and multi-destination RTMP push. Install Docker (apt install docker.io on Ubuntu), then run the one-liner from the official docs:

docker run -d --restart=always --name restreamer -v /opt/restreamer/config:/core/config -v /opt/restreamer/data:/core/data -p 8080:8080 -p 8181:8181 -p 1935:1935 -p 1936:1936 -p 6000:6000/udp datarhei/restreamer:latest

Port 8080 is the web UI and HLS output, 1935/1936 are RTMP ingest, and 6000/udp is SRT. Config and stream data persist under /opt/restreamer, so container upgrades don't eat your setup. On the hourly workflow, this command is your provisioning script — paste it into cloud-init or a shell script and a fresh box is streaming-ready a couple of minutes after you click deploy. (And if you took the €9.99 streaming VPS instead, you can skip this step entirely — Restreamer is one of the pre-installed images.)

3. Point OBS at it

Open http://your-vps-ip:8080, set an admin password in the first-run wizard, and choose RTMP as the video source. The wizard hands you an ingest URL and stream key. In OBS: Settings → Stream → Custom, then paste the server URL and stream key the wizard shows you.

Standard platform settings apply — 6,000 kbps for 1080p60, keyframe interval 2 seconds. Sensible hygiene: firewall the UI port to your own IP once configured, and leave only the ingest ports open.

4. Add Twitch, YouTube and Kick outputs

In the Restreamer UI, each destination is a "publication service." Twitch and YouTube have ready-made entries — paste each platform's stream key and toggle them on. For Kick, add a custom RTMP target with Kick's ingest URL and your Kick stream key.

Under the hood each output is an FFmpeg process copying your stream to that platform's ingest, no re-encode, which is why the CPU on even the smallest VPS barely notices. Start streaming in OBS, watch three dashboards light up.

The bandwidth math, or why unmetered matters

This is the actual engineering argument for the relay-server pattern. Multistreaming from OBS directly (three simultaneous outputs) needs 3 × 6 Mbps = 18 Mbps of home upload, sustained, for hours. Most residential connections can't hold that, and the ones that can will still hiccup when someone else in the house opens a video call. With the VPS in the middle, your home connection carries one 6 Mbps stream; the fan-out to 18 Mbps happens in a datacenter where 18 Mbps is a rounding error.

Volume adds up faster than people expect. Three platforms at 6 Mbps for 40 hours a month is about 324 GB of egress; run a 24/7 restream and it's roughly 5.8 TB/month. On clouds that bill per-GB egress, that's a second invoice.

On our streaming VPS the port is 10 Gbps unmetered — the 18 Mbps fan-out, plus any viewers pulling HLS directly off Restreamer's built-in player, never becomes a line item. Even the €0.006/hr VPS carries 1 Gbps unmetered, which is 50× the headroom this workload needs.

The part you can't see on a spec sheet: we run our own network, AS60982, with direct peering at 15 internet exchanges. Both halves of the path — your ISP to the box, and the box to Twitch, YouTube and Kick ingest servers — stay short and predictable, which is what keeps frames from dropping at hour three. If you're an agency fanning out dozens of channels rather than one, that's when this outgrows a VPS and lands on dedicated bare metal with up to 200 Gbps of connectivity.

SRT: for when your uplink hates you

RTMP runs over TCP, and TCP on a lossy link means retransmission stalls — the stream freezes, then lurches. If you're streaming over LTE, hotel Wi-Fi, or DSL with jittery upstream, use the SRT ingest instead. That's why the Docker command exposes 6000/udp: Restreamer accepts SRT in and still pushes clean RTMP out, which turns your VPS into an SRT relay server. SRT retransmits lost packets within a configurable latency budget, so a bad first mile costs you a second of delay instead of a dropped frame.

OBS speaks SRT natively — swap the server URL for the SRT address Restreamer's wizard shows you, and set the latency to roughly four times your ping to the box. The unstable segment of the path gets absorbed at the relay; Twitch, YouTube and Kick only ever see a stream originating from a datacenter with a 10 Gbps port.

When to pick managed Restream instead

We'd be lousy engineers if we pretended one Docker container replaces a product team. Pay for Restream if you want cross-platform chat aggregated in one pane, per-destination titles and thumbnails managed from a dashboard, scheduled broadcasts of pre-uploaded video, or — most importantly — someone else on call when an ingest endpoint changes. Self-hosting means you patch the container, you manage the firewall, and you debug it when it breaks mid-stream. €0.12 a month does not include your time.

If streaming is your income and tooling downtime costs you money, $16/mo is cheap insurance. If you're a hobbyist, a weekend simulcaster, or anyone technical enough to have read this far without flinching — it's one command, one coffee-sized invoice, and no destination caps. Deploy a streaming VPS, paste the Docker one-liner, and keep the difference.

← All posts

Related services

Run this on NODED.CLOUD.

Keep reading

More from the NOC.

30 Jul 2026·Mario Marin

Self-Host a WireGuard VPN on a VPS

A personal WireGuard exit under EU jurisdiction, on our own AS60982, with a clean dedicated IP. Notes from the rack on why a 2GB/1vCPU VPS is plenty and where unmetered bandwidth is the real win.

Read post
28 Jul 2026·Mario Marin

Rust and Palworld Server Hosting

Rust and Palworld punish undersized boxes and lazy restart schedules. Here's how we size RAM per game, cap slots, and schedule restarts for memory-creep titles — with real EUR prices and 1 Tbps DDoS baked in.

Read post
27 Jul 2026·Mario Marin

Minecraft Server Hosting in Europe

A NOC engineer's guide to Minecraft server hosting in Europe: how RAM maps to real player counts, why sub-5ms EU ping matters, and where free 1 Tbps DDoS protection fits in.

Read post

Like the way we run things? Spin up a server in 60 seconds.