Nokturno pro Stremio na VPS s vlastní doménou¶
V domácí síti stačí aplikace na televizi, počítači nebo Raspberry Pi, viz
Nokturno pro Stremio – aplikace. Mimo domov se k ní dostaneš i bez VPS, přes Tailscale
nebo jinou VPN, viz Nokturno pro Stremio mimo domov – Tailscale a VPN.
Když chceš doplněk na mobilu nebo televizi bez VPN, pusť aplikaci na vlastním VPS s vlastní doménou.
Stremio i Nuvio pak jen zadají adresu https://<tvoje doména>/….
Instance na VPS je ve výchozím stavu osobní: je pro tebe a tvou domácnost. Adresu doplňku ani doménu nikomu nedávej a provoz pro cizí lidi nedělej. Výjimku tvoří sekce „Nastavení pro kamarády“ níž, kterou zapneš jen vědomě.
Postup počítá s tím, že umíš pracovat v příkazové řádce Linuxu přes SSH.
Kde vzít VPS a doménu¶
VPS¶
Stačí nejmenší VPS s 1 vCPU, 1 GB RAM a systémem Debian 12 nebo Ubuntu 24.04. Pár příkladů poskytovatelů, ceny jsou orientační, ověř je na webu poskytovatele. S žádným z nich nejsme nijak spojeni.
| Poskytovatel | Orientační cena | Poznámka |
|---|---|---|
| Hetzner Cloud (nejmenší stroj řady CX nebo CAX, třeba CX22 nebo CAX11) | kolem 4 € měsíčně | datacentra v EU, CAX je procesor ARM |
| Contabo | kolem 5 € měsíčně | víc RAM a disku za podobnou cenu |
| Oracle Cloud Always Free | zdarma | stroj s procesorem ARM, registrace je složitější, chce platební kartu a volná kapacita někdy chybí |
| WEDOS (VPS ON), Forpsi | podle konfigurace | české, s administrací a podporou v češtině |
Stačí nejlevnější VPS?¶
Ano, s velkou rezervou. Data filmu přes VPS u většiny zdrojů neteče, přehrávač si soubor stahuje přímo ze zdroje. Server hledá a vrací seznam streamů. Soubory z vlastního úložiště a FastShare ale tečou přes VPS, počítej proto s jeho přenosem dat. Z měření: aplikace si bere zhruba 250 MB RAM a na jednom jádře zvládla i tisíce hledání denně při zhruba 5 % vytížení procesoru. Pro tebe a tvou domácnost je to víc než dost.
Omezení je jinde než ve výkonu: všechno hledání jde z jedné IP adresy VPS a zdroje můžou IP, ze které přichází hodně dotazů, omezit nebo zablokovat. I proto je instance osobní, adresu doplňku ani doménu nikomu nedávej.
Doména¶
- Vlastní doména nebo subdoména od libovolného registrátora (třeba
nokturno.tvoje-domena.cz) s A záznamem na veřejnou IP adresu VPS. - Zdarma: subdoména od DuckDNS (třeba
tvoje-jmeno.duckdns.org). VPS má veřejnou IP, stačí ji v DuckDNS nastavit jednou.
Ověříš to příkazem getent hosts nokturno.tvoje-domena.cz, musí vypsat IP VPS.
Instalace jedním příkazem¶
Na VPS se přihlas přes SSH a spusť:
sudo apt install -y curl ufw
curl -fsSL https://raw.githubusercontent.com/nokturno-app/nokturno-stremio-app/main/install.sh | sudo bash -s -- --domain nokturno.tvoje-domena.cz
Skript:
- pozná architekturu, stáhne aplikaci z posledního vydání a ověří její otisk SHA-256;
- založí systémového uživatele
nokturnoa službunokturno(aplikace v/opt/nokturno/nokturno, nastavení a data v/opt/nokturno/data); - nainstaluje Caddy, který před aplikací zajistí HTTPS s certifikátem Let's Encrypt;
- když je nainstalovaný firewall
ufw, povolí porty 22, 80 a 443 a zapne ho (proto ho první řádek instaluje); - zkontroluje, že doména míří na tento server, a na konci vypíše adresu nastavení.
Aplikace pak poslouchá jen na 127.0.0.1 a zvenku je dostupná jen přes Caddy. Tuhle izolaci umí aplikace
od verze 9.0.4. Se starší verzí poslouchá na všech rozhraních, skript její port ve firewallu nepovolí a na konci
na to upozorní. Když má poskytovatel VPS vlastní firewall v administraci, povol v něm jen porty 22, 80 a 443.
| Přepínač | Co dělá |
|---|---|
--domain DOMÉNA |
instalace s doménou a Caddy |
--port 7140 |
jiný port aplikace |
--no-firewall |
na ufw nesahá |
--uninstall |
odstraní službu, aplikaci a konfiguraci Caddy pro Nokturno, data nechá v /opt/nokturno/data |
Aktualizace: aplikace se aktualizuje sama. Nový soubor aplikace stáhne i opětovné spuštění téhož příkazu,
doménu a port si skript pamatuje a nastavení zachová. Odinstalace: stejný příkaz s --uninstall
místo --domain ….
Stav služby: systemctl status nokturno, výpis: journalctl -u nokturno -f.
Ruční instalace¶
Když chceš mít každý krok pod kontrolou, jde to i bez skriptu.
Aplikace jako služba¶
Zjisti architekturu VPS příkazem uname -m: x86_64 = soubor linux-amd64, aarch64 = linux-arm64.
Číslo poslední verze najdeš na stránce vydání.
sudo mkdir -p /opt/nokturno
sudo curl -L -o /opt/nokturno/nokturno \
https://github.com/nokturno-app/nokturno-stremio-app/releases/download/v<verze>/nokturno-<verze>-linux-amd64
sudo chmod +x /opt/nokturno/nokturno
sudo useradd --system --create-home --home-dir /var/lib/nokturno --shell /usr/sbin/nologin nokturno
Nastavení aplikace /var/lib/nokturno/nokturno.json. HTTPS řeší Caddy, vlastní HTTPS přes local-ip.co
proto vypni (enable_https). Statistiky a hlášení o pádech jsou volitelné:
{
"port": 7140,
"enable_https": false,
"stats": true,
"crash_reports": true
}
Nastav vlastníka: sudo chown nokturno: /var/lib/nokturno/nokturno.json.
Služba /etc/systemd/system/nokturno.service:
[Unit]
Description=Nokturno pro Stremio
After=network-online.target
Wants=network-online.target
[Service]
User=nokturno
ExecStart=/opt/nokturno/nokturno --data /var/lib/nokturno
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now nokturno
curl http://127.0.0.1:7140/health
Poslední příkaz musí odpovědět. Aplikace poslouchá na všech rozhraních, port 7140 proto ven neotevírej, zavře ho firewall v dalším kroku.
Caddy a firewall¶
Caddy se postará o HTTPS certifikát od Let's Encrypt sám.
sudo apt install caddy
Obsah /etc/caddy/Caddyfile nahraď:
nokturno.tvoje-domena.cz {
reverse_proxy 127.0.0.1:7140
}
sudo systemctl reload caddy
Firewall (ufw) pustí dovnitř jen SSH a web:
sudo apt install ufw
sudo ufw default deny incoming
sudo ufw allow OpenSSH
sudo ufw allow 80,443/tcp
sudo ufw enable
Když má poskytovatel VPS vlastní firewall v administraci, povol v něm taky porty 80 a 443.
Přidání do Stremia a Nuvia¶
- Otevři
https://nokturno.tvoje-domena.cz/configurehned po instalaci a nastav heslo správce. Kdo stránku otevře první, stane se správcem. - Založ profil s názvem, viz Nastavení a přidání do Stremia.
- Vyplň vlastní úložiště a případně účty zdrojů, u každého dej Ověřit.
- Přidat do Stremia nebo Přidat do Nuvia. Adresa doplňku začíná
https://nokturno.tvoje-domena.cz/c/p…. Na televizi se doplněk objeví sám, když ho přidáš na telefonu nebo počítači pod stejným účtem Stremio.
Vlastní úložiště doma musí být dosažitelné z VPS (přehrávač jde přes VPS), tedy přes veřejnou adresu
nebo VPN. Adresa v domácí síti (192.168.…) z VPS nefunguje.
Aktualizace a logy¶
- Aplikace se aktualizuje sama, při startu a pak každých 6 hodin. Nové verze stahuje do složky s daty,
soubor
/opt/nokturno/nokturnose měnit nemusí. Když nová verze nenaběhne, vrátí předchozí. - Při instalaci skriptem stáhne nový soubor aplikace i opětovné spuštění téhož příkazu.
- Výpis aplikace:
journalctl -u nokturno -f, výpis Caddy:journalctl -u caddy -f. - Systém VPS aktualizuj jako obvykle (
sudo apt update && sudo apt upgrade).
Nastavení pro kamarády¶
Od verze 9.7.0 jde na instanci s veřejnou adresou zpřístupnit stránku nastavení i z internetu. Kamarád si pak
na https://<tvoje doména>/configure založí vlastní profil se svými účty a doplněk přidá do svého Stremia.
Od verze 9.12.0 vidí jen profily, které si uložil ve svém prohlížeči. Všechny profily, povolování zařízení
a aktualizace vidí jen správce přihlášený heslem.
Zapneš to volbou "sdilena": true v nokturno.json (vedle "port", "stats" a dalších; /opt/nokturno/data
při instalaci skriptem, /var/lib/nokturno při ruční instalaci). Pak aplikaci restartuj:
sudo systemctl restart nokturno. Výchozí hodnota je false.
Než to zapneš, počítej s tímhle:
- Bez přihlášení kamarádů. Kamarád heslo nepotřebuje. Kdo zná doménu, může si založit profil a hledat přes tvůj server. Cizí profily od verze 9.12.0 neuvidí. Doménu dávej jen lidem, kterým věříš.
- Jedna IP. Všechno hledání jde z IP tvého VPS, zdroje mohou IP s mnoha dotazy omezit.
- Přenos dat. Soubory z vlastního úložiště a FastShare tečou přes VPS.
Bezpečnost a soukromí¶
- Adresa doplňku neobsahuje hesla ani nastavení, jen náhodný klíč profilu (
/c/p<klíč>/manifest.json). Kdo adresu má a dostane se k aplikaci, přesto používá tvoje účty, proto ji dál nikomu neposílej. - Instance je ve výchozím stavu jen pro tebe. Neprovozuj ji jako veřejnou službu pro cizí lidi (výjimka viz výš). Kdo zná adresu tvé domény, může si ve formuláři vyrobit vlastní doplněk a hledat přes tvůj server, proto doménu nikde nezveřejňuj.
- Heslo na celou doménu (basic auth v Caddy) nedávej. Stremio ani Nuvio jsme s doplňkem za heslem neověřovali a doplněk by nejspíš přestal fungovat.
- Statistiky vypneš v
nokturno.json(/opt/nokturno/datapři instalaci skriptem,/var/lib/nokturnopři ruční instalaci):"stats": false, hlášení o pádech"crash_reports": false. Pak aplikaci restartuj:sudo systemctl restart nokturno. Účty ani adresa doplňku se neposílají nikdy. - Na VPS se přihlašuj SSH klíčem, ne heslem.
Časté problémy¶
| Co se děje | Co udělat |
|---|---|
https://…/configure se neotevře, Caddy hlásí chybu certifikátu |
doména ještě neukazuje na VPS. Počkej, až getent hosts <doména> vypíše IP VPS (obvykle minuty, výjimečně hodiny), pak sudo systemctl reload caddy. |
| Certifikát se nevydá ani po změně DNS | Let's Encrypt potřebuje dosáhnout na porty 80 a 443. Zkontroluj sudo ufw status a firewall v administraci VPS. Důvod vypíše journalctl -u caddy. |
| Caddy hlásí „502 Bad Gateway“ | aplikace neběží. sudo systemctl status nokturno a journalctl -u nokturno. |
| U filmu nejsou streamy | viz U filmu nejsou streamy Nokturna |