Ir laiks! Taisi savu serveri
Kad tik daudzi pakalpojumi pacēluši cenas, spiego, uzmācas ar mākslīgu saturu, rāda reklāmas utt. jāapsver iespēja pašam mājās uzlikt nelielu serverīti un turēt datus pie sevis. Protams, tas nāk kopā ar lielu atbildību, jo, piemēram, fotogrāfijas droši vien negribētos pazaudēt, nemākulīgas konfigurācijas dēļ. Taču iesaku pamēģināt, sākot ar ko vienkāršu un mazsvarīgu, procesā iemācoties ko jaunu. Ar laiku, gūstot pārliecību savās spējās, var sākt mājās glabāt arī bildes, paroles, dokumentus utt.
Ar ko sākt?
Es šo rakstu rakstīšu ar tādu kā vidēji tehnisku piesitienu. Ir anormāli grūti uzrakstīt šādu rakstu cilvēkam, kas neorientējas kaut kādos tīklošanas pamatos. Pat ja es iemācīšu uzkonfigurēt servisu uz linux, iekopēt failus linux tīkla diskā būs jau nākamais piedzīvojums utt.
Tad nu - tev būs jāzin kas ir IP adrese un kaut kādas linux pamatkomandas, droši vien vajadzēs tīkla šāri vai nu uz šo linux serveri, vai arī tīklā jau esošu NAS ierīci. Bāc, jau sarežģīti. Šis vairāk ir iedvesmas raksts.
Svarīgs priekšnosacījums ir stabils interneta pieslēgums ar publisku IP adresi. Ja savu IP vari sasniegt no citiem tīkliem, ar to vajadzētu pietikt. Tālāk tev būs vajadzīgs maršrutētājs (rūteris), kurš prot veikt port forwarding jeb NAT (network address translation).
Praksē tas notiks tā:
- Tu, esot ārpus mājas, slēgsies pie “Māju IP Adreses”
- Rūteris redzot šo pieprasījumu, atbilstoši norādītajām instrukcijām, pārsūtīs pieslēgumu uz noteikto serveri tavā tīklā
Bet droši vien tu gribēsi vairākus servisus un gribēsi lietot smuku nosaukumu “muzika.es.lv”, šajā gadījumā tev vajadzēs Caddy server, kurš pēc pieprasītās adreses saprot, par kuru no servisiem ir runa un tad pārsūta atbilstoši tālāk, pie reizes arī parūpējoties par SSL sertifikātiem (automātiski!) lai neviens nenozog tavas paroles.
Tad tur būs:
- Tu, esot ārpus mājas, slēgsies pie “Māju DNS Adreses”
- Rūteris redzot šo pieprasījumu, atbilstoši norādītajām instrukcijām, pārsūtīs pieslēgumu uz
noteikto serveri tavā tīklāCaddy serveri tavā tīklā - Caddy pēc pieprasītās adreses https://muzika.es.lv saprot, ka runa ir par mūzikas serveri un pārsūta to uz http://192.168.88.100:4533, kur dzīvo failu serveris
Kas vispār ir serveris?
Serveris ir jebkura ierīce, kuru turēsi ieslēgtu visu laiku un uz kuras darbosies tev vēlamā programmatūra. Tur nav nekādas maģijas. Serveris var būt vienkārši tavs dators, kur programatūras “servisi” strādā fonā, bet tas parast ir skaļš un patērē daudz elektrības. Agrāk populāri bija nelieli mikrodatori RaspberryPi, taču tie kļuvuši tik dārgi, ka, godīgi sakot, izdevīgāk būs iegādāties kādu mazlietotu x86 ierīci.
Piemērs ar mūzikas serveri
Tātad, ko tev vajag:
- Publisko IP adresi, piemēram 100.100.100.100
- Rūteri, kurš māk NAT. Piemēram MikroTik
- Ierīci kur dzīvos tavs serviss, mikrodatoru ar ieteicams Linux (vai BSD)
- NIC.lv vai kādā ārzemju DNS veikalā iegādāties DNS vārdu muzika.es.lv vai jebko pēc sirds patikas
Adrese ir, nopirki tur “es.lv” un NIC.lv portālā pievienoji subdomēnu “muzika”, norādot, ka tas ved uz tavu publisko IP adresi 100.100.100.100, tiktāl viss labi. Ko tālāk?
Ir vajadzīgs pateikt Rūterim, kur dzīvo tavs Caddy, lai visus https pieprasījumus sūtītu viņam:
/ip/fireall/nat add action=dst-nat chain=dstnat comment="DST NAT to Caddy"
dst-address-type=local dst-port=443 protocol=tcp to-addresses=192.168.88.100
Tas saka rūterim, ja kāds slēdzas uz mūsu publisko adresi ar https (TCP ports 443), sūtam viņus pie Caddy, kurš dzīvo lokālā tīkla adresē 192.168.88.100
Nu pieņemsim esi nolēmis iegādāties legālu mūziku FLAC formātā no Bandcamp. Ja tev mājās ir NAS, vari failus turēt tur. Ja nav, vari savā jaunajā serverī iespraust palielu disku un turēt mūziku tur. Jā, tev vajadzēs kaut kādu SMB (Samba) pieeju serverim, lai no sava datora tur kaut ko iekopētu.
Navidrome ir serviss, kuram vari pieslēgties attālināti un klausīties savu mūziku, no sava tīkla. Arī no telefona, arī attālināti. Vari iedot kontus draugiem.
Uzinstalējam Navidrome pēc instrukcijām vai nu ar Docker vai pa tiešo. Tagad tev būs 192.168.88.100:4533, kā piemērs.
Konfigurācijas failā kā minimums vajag pateikt, kur dzīvo tava mūzika:
/usr/local/etc/navidrome # cat config.toml
# Folder where your music library is stored. Can be read-only
MusicFolder = "/mnt/media/Music"
Vari attaisīt pārlūkā http://192.168.88.100:4533 un klausīties savu mūziku.
Bet droši vien gribēsi https://mūzika.es.lv, lai šo adresi ierakstītu kādā ar Navidrome saderīgā mobilā telefona lietotnē un klausīties no jebkurienes. Tagad tev vajag arī Caddy, kas ir “Reverse proxy” serveris (un arī parasts webserveris, iesaku).
Caddy ne tikai pēc domēnvārda pārsūtīs pareizajam servisam (arī uz citu IP adresi tīklā, ja vajag), bet pie reizes arī fiksi iegādāsies un uzkonfigurēs SSL sertifikātu, lai piekļuve ir droša pa https://.
Caddy konfigurācijā taisam šādu bloku:
cat /usr/local/etc/caddy/Caddyfile
muzika.es.lv {
encode zstd gzip
reverse_proxy 192.168.88.100:4533
header {
X-Robots-Tag "noindex, nofollow, nosnippet, noarchive"
}
}
Tas viņam pateiks, ka ja kāds vērsīsies pie šīs adreses un Caddy saņems tādu pieprasījumu, viņš to pārsūtīs tālāk uz Navidrome.

Nav tik komplicēti, ne? Tālāk video, bildes, dokumenti utt. Ja tos servisus laiž ar Docker, tie ir daži klikšķi, ja godīgi. Atliek tikai katram savu domēnu ierakstīt Caddyfile.
Tālāk Immich bildēm, VaultWarden parolēm, NextCloud dokumentiem, Jellyfin filmām utt. Paveras vesela pasaule! Lai veicas!