HomeLab 1. dio— uvod u priču

Dickobraz
8 min readMar 4, 2024

--

Kućni laboratorij. Ne, nije to što ste, možda, pomislili. Nema epruveta, zabranjenih kemijskih supstanci iz Breaking Beda. Ovdje je riječ o malom projektu kućnog servera koji bi radio cijelo vrijeme, bio dovoljno mali i nečujan da se može sakriti iz vidokruga a na kojeg bi se postavili razni hobi projekti i napravila neka automatizacija relativno kompleksnih radnji i svela se na svega nekoliko klikova mišem.

Članci iz serijala:

Pa, krenimo.

Server

Već neko vrijeme razmišljao sam o nekom „serveru“ koji bi mi doma služio za neke manje projekte koje radim ili kao neko spremište stvari koje je uvijek dostupno. Desktop računalo mi je preglasno, volio bih imati neki „mali“ komp, skriven od očiju i ušiju, a uz to i jeftin. Naravno, prvo što mi je palo na pamet jest Raspberry Pi. Međutim kada sam si slagao što bi mi sve trebalo Raspberry mi se sve manje činio kao dobro rješenje, jer iako je sama cijena uređaja relativno mala, kada se počnu kupovati dodaci (memorija, kućište, disk, hladnjak…) cijena raste prema iznosu od 200€. Tada sam naletio na Beelink Mini PC S12 Pro sa Intel N100 procesorom. U ponudi na Amazon.de (https://www.amazon.de/-/en/dp/B0BWLV6CK4?psc=1&ref=ppx_yo2ov_dt_b_product_details) naletio sam na akciju gdje me je ovaj uređaj koštao 185€ (bez PDVa i bez dostave) sa 16 GB RAMa i 500GB SSD.

Dostava uređaja je bila unutar 7 dana. Ugodno su me iznenadili!

Slika preuzeta sa: https://www.bee-link.com/

Aplikacije

Čekajući dostavu razmišljao sam i čitao koji bi projekt mogao biti prvi, kao i kako to sve dignuti, koji OS, virtualizacija da ili ne. Na kraju sam odlučio slijedeće:

· Na MiniPC instalirati ću Proxmox Virtual Environment, jer mi on omogućuje i izradu Virtualnih mašina, kao i Linux Containera u kojima bih mogao izolirati sve aplikacije i servise koje ću vremenom instalirati na server.

· Iskoristi ću i „stari“ externi USB disk koji mi se već neko vrijeme povlači po stanu i on će mi služiti kao mrežni dijeljeni disk.

· Isto tako želio sam se pozabaviti i orkestracijom i automatizacijom sustava i tu sam odlučio instalirati *arr servise (Sonarr, Radarr…). Iako nisam osoba koja puno koristi torrent servise radi downloada sadržaja, sam proces koji se mora proći da bi film ili serija bio dostupan na TVu, iako jednostavan, zamara me. Pretraga filma/serije na torrent pretraživačima, download, potraga za titlovima, promjena naziva titla kako bi odgovarao nazivu datoteke sa video sadržajem, prebacivanje na USB disk, spajanje. Uh, ne volim to. Zato mi ovakav sustav djeluje zanimljivo.

Proxmox

Srce kućnog labaratorija, moćan sustav za organizaciju i virtualizaciju sustava koje želimo koristiti uz jednostavno web sučelje u kojemu kreiramo virtualne mašine, linux containere te dodajemo resurse sustavima po potrebi. I sve to Open Source, uz hrpe vodiča kako što napraviti, raznih skripti koje olakšavaju posao kao i templateovi za razne potrebe.

Što se tiče same arhitekture, na Proxmoxu planiram dignuti jednu Virtualnu Mašinu u kojoj će se nalaziti svi *arr servisi, a sve ostale stvari (za sada) planiram držati u Linux Containerima. Zašto virtualna mašina za *arr servise? Na VM planiram instalirati Docker, jer za sve *arr servise već postoje docker compose yaml datoteke, a sama instalacija iz docker composea je trivijalna. Pa, ako si već mogu malo pojednostaviti stvari, zašto ne. Više informacija: https://proxmox.com/en/.

Treba napomenuti kako je Proxmox, iako Open Source — komercijalni proizvod, koji se može koristiti besplatno, ali postoji opcija plaćanja pretplate, koja omogućuje i pristup enterprise repozitoriju sa stabilnim i testiranim paketima.

Samba share (File server)

Ranije spomenut vanjski SSD će mi poslužiti kao dijeljeni mrežni disk, uz konfiguraciju Samba (SMB) servera koji će omogućiti pristup disku putem mreže svim uređajima. A uz to, poslužit će i kao centralno mjesto za spremanje svih filmova i serija koje će se skidati. Budući da je to nezavisni servis, neće se nalaziti unutar virtualne mašine u kojoj će se nalaziti *arr servisi, nego će se File server instalirati kao Linux Container.

Docker i Dockge

Docker kao servis omogućuje virtualziaciju OSa i izolaciju instaliranog softwarea u containerima. Znači isto ono što nam nudi i Proxmox sa svojim Linux Containerima. Docker koristimo jer svi *arr servisi imaju svoj Docker compose datoteke, dok ih za LXC baš i nema previše, što nam olakšava sam proces instalacije. To se nalazi i Dockge — jednostavno web sučelje u koje unosimo docker compose datoteke, mijenjamo ih, pokrećemo, zaustavljamo. Sve ovo se može raditi i iz konzole, ali — ovo je lakše :)

Više informacija: https://www.docker.com/ i https://dockge.kuma.pet/

Slika preuzeta sa https://sonarr.tv/

Sonarr

Možda već samo ime sugerira, *arr servisi imaju veze sa piratiziranjem sadržaja, u ovom slučaju video sadržaja. Sonarr (https://sonarr.tv/) se naziva „PVRom“ za Usenet i BitTorrent korisnike. A zapravo se radi o Open Source projektu koji služi za pronalazak TV serija na Usenet i BitTorrent servisima, monitoriranju kada izlazi nova epizoda neke serije, downloadu te epizode/serije te ubacivanje iste u Plex, Jellyfin ili Emby, koji služe za kolekciju video sadržaja, sa bogatim meta podacima (slike, opisi..) te streaming tih sadržaja uređaje za gledanje (TV, mobile, web…).

Naravno, Sonarr sve te aktivnosti ne radi sam. Zapravo on samo monitorira ubacivanje novih serija/epizoda, a zatim uz vanjske servise — indexere — pronalazi traženi sadržaj, te ga prosljeđuje za download — downloaderima. Indexeri i Downloaderi mogu biti za Usenet (starija ekipa iz ranih početaka interneta se još uvijek sjeća Useneta/newsa kao i dobrog starog news.carnet.hr) i torrent. Usenet danas više nije dostupan kao ranije, pogotovo ne bin grupe u kojima se nalaze binarni sadržaji (slike, video), te se pristup tim servisima mora dodatno plaćati.

Više informacija: https://sonarr.tv/

Slika preuzeta sa: https://radarr.video/

Radarr

Radarr je, zapravo, fork Sonarra i radi istu stvar kao i Sonarr ali za filmove. Već po web sučelju se vidi gotovo identični ekrani sa gotovo identičnim postavkama. Način rada je, isto tako gotovo identičan.

Više informacija: https://radarr.video/

Slika preuzeta sa: https://jellyfin.org/

Jellyfin

Jellyfin je, kako se sami opisuju, media rješenje koje su izradili volonteri koje daje korisniku kontrolu na vlastitim medijima. Zapravo, Jellyfin je nastao odvajanjem od Embya koji je odlučio zatvoriti dio svojeg source koda, kao i naplaćivati premium uslugu po uzoru na Plex.

Zapravo, Jellyfin je katalog video sadržaja, filmova, serija i live TVa. Nešto poput Netflix aplikacije koji sadrži vaš vlastiti katalog i u kojem vi kreirate i upravljate sa korisnicima.

Sastoji se od dva dijela:
— serverski — web aplikacije koja katalogizira video sadržaje, skida meta podatke (slike, posteri, opisi), streama do klijenata uz transcoding ako je potrebno. Naime, video svijet je poprilično kompliciran sa svojim codecima, containerima za video/audio, a Jellyfin (kao i Emby ili Plex) osiguravaju da uređaj koji se koristi za gledanje uvijek dobije format koji zna i razumije.
— klijentski — aplikacija na kojoj ćemo gledati sadržaje, a to može biti od TV uređaja (LG, Samsung, Sony), preko web aplikacija, sve do mobilnih uređaja.
I sve to potpuno besplatno.

Više informacija: https://jellyfin.org/

Jellyseerr

Još jedan servis koji je izrastao iz open sourcea, a veže se na Jellyfin. Jellyseerr je „Request Managament and Media Discovery Tool“ — iliti sustav u kojem se mogu pronaći zanimljivi sadržaji te zatražiti njihovo ubacivanje u Jellyfin. Princip je, zapravo, jednostavan. Jellyseerr sa raznih mjesta (Netflix, Disney, Prime…) povlači podatke o zanimljivim, novim filmovima i serijama i prikazuje ih u oku ugodnom web sučelju. Korisnici (koji se mogu povući sa JellyFina) mogu pretraživati kataloge, pogledati opis, trailer, te ako im se film ili serija svidi — mogu zahtijevati ubacivanje u Jellyfin jednostavim klikom na „request“. Vežu se na Radarr i Sonarr, jer zahtjeve preusmjeruju na njih, koji odrađuju ostatak posla. Kada film ili serija završe u Jellyfinu to se odmah može vidjeti i u Jellyseerru. Da li je ovo potrebno? Pa i nije baš, ali može olakšati članovima obitelji koji nisu tehnički pismeni pronalazak sadržaja koji, relativno brzo, mogu i pogledati na svojim uređajima.

Naravno, ovo nije baš samo trivijalno, jer zbog sve većih cijena streaming usluga i sve više servisa koji se natječu za korisnike (Netflix, HBO Max, Prime Video, Disney+, Paramount…), sve je više ilegalnih streaming servisa koji se baziraju na Plexu, Jellyfinu i prodaju ilegalni sadržaj. Jellyseerr tu isto ima ulogu, gdje vlasnici tih ilegalnih servisa mogu vidjeti koje sadržaje korisnici žele gledati, pa ih ubacuju i svoje kataloge.

Više informacija: https://github.com/Fallenbagel/jellyseerr

Prowlarr

Servis koji služi kao indexer za Sonarr i Radarr. Što je indexer? Recimo to ovako, to je servis koji se spaja na razne izvore ilegalnih sadržaja (Usenet, Torrent stranice), prikupljaju (indeksiraju) njihov sadržaj, te kada se neki film ili serija želi downloadati, oni su ti koji taj sadržaj pronađu i vraćaju listu natrag. U njemu već postoje predefinirani razni servisi na koje se može spojiti, neki su privatni, neki se plaćaju, a ima i onih koji su javni i besplatni.

Više informacija: https://prowlarr.com/

Bazarr

Nije ovo kraj *arr servisima ima ih još. Bazarr služi za download titlova sa, više-manje, svih poznatih stranica koje nude titlove. Naravno tu su i titlovi.com kao i podnatpisi.net. Bazarr se integira sa Sonarrom i Radarrom te kada primijeti novi film/seriju aktivira svoje „indexere“ u potrazi za prijevodom. Nakon što su titlovi pronađeni, ubacuje ih na isto mjesto gdje se nalazi i video datoteka, sa odgovarajućim nazivom, te prilikom pokretanja filma/epizode na klijentima — titlovi su tu.

Više informacija: https://www.bazarr.media/

Transmission, flaresolverr, qBittorrent

Transmission i qBittorrent su aplikacije za download torrenta. Nema tu neke velike mudrosti, torrent dolazi od Sonarra ili Radarra, pokreće se download, kad završe prebacuju se u seed mod (pod pravilima koje smo im zadali).

Flaresolverr je proxy server koji zaobilazi Cloudflare zaštitu koju neki od torrent pretraživača koristi kako bi se zaštitili od “neovlaštenog“ korištenja.

Više informacija: https://transmissionbt.com/, https://github.com/FlareSolverr/FlareSolverr i https://www.qbittorrent.org/

I to je to. Skupina servisa koja bi trebala olakšati pronalazak i gledanje filmova i serija. Kada sve bude gotovo, dovoljno je na jednom web ekranu odabrati seriju ili film koju želimo gledati, a ta serija/film će se za nekoliko trenutka (ok, ovo ovisi o puno stvari, ali budimo optimisti) pojaviti u aplikaciji koju koristimo za gledanje — potpuno spremna za pokretanje. Bez ikakvih dodatnih akcija, bez potrebe za tehničkim znanjem kako i gdje doći do traženog sadržaja, titlova. Idealno…

Članci iz serijala:

--

--