← Blog

Zdravo svete

Zašto

Još od prve kupljene muzičke kasete, davne 1998, voleo sam da skupljam muziku. U početku su to bile kasete i diskovi, a kasnije, dolaskom bržeg interneta, pojavili su se prvi P2P klijenti (DC++ ako ga se neko seća).

Tako da sam oduvek imao veliku muzičku kolekciju, uglavnom muzike koja je bila besplatna ili nešto što sam kupovao u to vreme. Dosta kasnije pojavili su se prvi streaming servisi poput Spotify-a. Moram priznati da je u početku to bilo vrlo primamljivo rešenje — odjednom je „sva“ muzika bila dostupna, streaming je radio super i sve je bilo baš kako treba.

Ali, da li je baš bilo tako?

Sve češće sam želeo da slušam muziku koju nisam uspeo da nađem na Spotify-u. Takođe sam primetio da sam sve manje slušao muziku na način na koji sam to ranije radio. Sve češće je bila samo pozadinski šum, a ne nešto što stvarno slušam i pokušavam da razumem šta je izvođač hteo da kaže.

Tada sam krenuo u potragu za nekim alternativnim rešenjem, i tada nisam ni slutio u kakav ću rabbit hole da upadnem.

Setup

Prvo sam nabavio mini PC. Konkretno sam uzeo HP ProDesk 400 G4. Jedino na šta sam obraćao pažnju je da ima malo više RAM-a. Na KupujemProdajem sam našao verziju sa 16GB, što mislim da mi je i dalje sasvim dovoljno.

Takođe sam imao jedan eksterni hard disk od 1TB koji sam upario sa HP-om. Pored mrežnog switcha, to je praktično sve od hardverskog setup-a.

Troškovi

Od jednokratnih troškova imao sam kupovinu mini PC-a, što je bilo oko 130€, i kupovinu mrežnog switcha koji je bio oko 20€.

Što se tiče stalnih troškova, imam samo potrošnju struje koja je izuzetno mala — manje od 1€ mesečno. To sam računao samo na osnovu potrošnje samog uređaja. Neki realan porast na računu za struju nisam ni primetio.

Software

Proxmox

Prvo što sam instalirao na mini pc je bio proxmox 8.1.

Posle instalacije i kreiranja prve virtualne mašine naleteo sam na prvi problem — VM-ovi su se nasumično restartovali. Posle kraćeg istraživanja našao sam rešenje

Problem se relativno brzo rešio dodavanjem parametara u boot kernel.

nano /etc/default/grub

Dodavanje parametara

GRUB_CMDLINE_LINUX_DEFAULT="quiet iommu=pt intel_iommu=on"

i posle toga update grub-a i reboot mašine

update-grub 
reboot

Plex server

Za streaming muzike odlučio sam se za Plex. Instalacija je prilično jednostavna, a postoji i mobilna aplikacija za strimovanje.

Druga rešenja još nisam probao i trenutno nemam preteranu želju da eksperimentišem, ali moguće je da ću u budućnosti probati nešto drugo poput Navidrome-a.

VPN

Za pristup mreži od spolja sam koristio tailscale. Isto odlično radi, brz i lagan setup.

Domain

Domen sam registrovao kod Cloudflare-a. Izabrao sam njih zato što lako mogu da napravim secure tunnel i praktično ne moram da imam statički IP da bih šerovao neke aplikacije ili ovaj blog.

Tako da je i ovaj blog hostovan na mini PC-u koji mi stoji u radnoj sobi.

Celokupna Arhitektura

Setup je zapravo prilično jednostavan i sastoji se od samo nekoliko komponenti.

Internet dolazi u kućni ruter, odatle ide u mali mrežni switch, a zatim u mini PC na kojem se nalazi Proxmox. Na Proxmox-u pokrećem virtualne mašine i servise koje koristim.

Jedna od tih mašina hostuje Plex server za muziku, dok Tailscale omogućava siguran pristup mreži spolja. Cloudflare koristim za domen i za tunnel koji omogućava da neke servise izložim internetu bez potrebe za statičkom IP adresom.

U najprostijem obliku to izgleda ovako:

Internet
   │
Router
   │
Network Switch
   │
Mini PC (HP ProDesk 400 G4)
   │
Proxmox
   ├── Plex Server (muzika)
   ├── Tailscale (VPN pristup)
   └── Blog / ostali servisi

Cela infrastruktura je fizički smeštena u radnoj sobi i praktično radi 24/7 bez potrebe za nekim posebnim održavanjem.

Ono što je počelo kao potraga za boljim načinom da slušam svoju muziku na kraju se pretvorilo u mali self-hosting projekat. Najveće iznenađenje za mene je bilo koliko zapravo malo hardvera i novca je potrebno da bi se napravio sasvim funkcionalan kućni server. Jedan polovan mini PC, eksterni disk i malo vremena za podešavanje su bili sasvim dovoljni. Najveća prednost ovakvog setup-a je to što imam potpunu kontrolu nad svojom kolekcijom muzike i načinom na koji joj pristupam. Nema nestajanja albuma sa streaming servisa, nema reklama i nema zavisnosti od tuđih platformi. A kao bonus, ceo proces me je uveo dublje u svet self-hostinga — što je verovatno tek početak rabbit hole-a u koji sam upao.