Mājas servera iestatīšana, izmantojot Docker Desktop kā centrālā sastāvdaļa Tas ir kļuvis par vienu no ērtākajiem veidiem, kā iegūt savus pakalpojumus: privāto mākoni, multivides serveri, VPN, filtrētu DNS, paroļu pārvaldniekus un pat spēļu serverus. Ar nelielām zināšanām un jebkuru vecu datoru vai mini datoru jūs varat izveidot īstu mājas laboratoriju, lai mācītos un, starp citu, izmantotu ikdienas dzīvē noderīgus pakalpojumus.
Vispārējā ideja ir ļoti vienkārša: izmantot stabila operētājsistēma (Debian, Ubuntu, Proxmox, pat Windows) un izmantot Docker, lai katru pakalpojumu iekapsulētu savā konteinerā. Tas atdala katru lietojumprogrammu, novērš konfliktus, vienkāršo atjauninājumus un ļauj visu noņemt un atjaunot, nebaidoties sabojāt visu sistēmu. Apskatīsim soli pa solim un diezgan detalizēti, kā tas viss ir organizēts un kādus interesantus pakalpojumus varat iestatīt savā mājas serverī, izmantojot Docker vai Docker Desktop.
Mājas servera aprīkojuma un sistēmas izvēle
Pirmkārt, ir jāprecizē, ar kuru ierīci jūs strādāsit: jebkurš vecs dators Tas, kas jums ir mājās, parasti ir vairāk nekā pietiekami, lai sāktu. Daudzi cilvēki atkārtoti izmanto vecu torņdatoru, citi iegādājas mazjaudas mini datoru, un daži pat jaunina to uz NAS, piemēram, Synology, vai profesionālāku risinājumu, piemēram, Proxmox.
Ja izvēlaties vecu torni, ir normāli to piebūvēt. īpašie cietie diski Piemēram, datu glabāšanai pāris vairāku terabaitu cietie diski RAID formātā kļūdu tolerances nodrošināšanai. Diezgan tipisks scenārijs ir iestatīt divus 2 TB diskus RAID formātā un vēlāk paplašināt līdz 8 vai 12 TB diskiem, kad vietas nepietiek.
Runājot par operētājsistēmu, klāsts ir plašs: Varat izmantot Windows, Linux vai konkrētu distro. Krātuvei, piemēram, TrueNAS. Daudzi cilvēki sāk tieši ar Windows, kas nāk komplektā ar datoru, un tā darbojas bez problēmām, bet, ja jums šodien būtu jāsāk no nulles, jūs, iespējams, vairāk interesētu viegls Linux (Debian vai Ubuntu Server) vai NAS ar savu izplatījumu, piemēram, Synology NAS ierīces, kas nāk ar ļoti optimizētu Linux.
Arī minimālais aparatūras līmenis nav nekas traks: lielākajai daļai mājas pakalpojumu ar 2 GB RAM un divkodolu centrālais procesors Jaudas būs vairāk nekā pietiekami, ja vien sistēma būs kaut nedaudz optimizēta un netiks pārslogota darbvirsmas vide. Synology tipa NAS ar 2 GB RAM un divkodolu procesoru var darbināt ievērojamu skaitu konteineru (mākoni, multividi, lejupielādes, DNS utt.), nepārsniedzot 20% procesora noslodzi, izņemot neregulārus pieaugumus video atskaņošanas laikā.
Lielākais jautājums parasti ir, vai izvēlēties NAS, piemēram, Synology, vai palikt pie torņa datora: NAS aizņem mazāk vietas, Tas rada daudz mazāk trokšņa Un tas ir diezgan labi pielāgots lietošanai kā serveris, taču tas ir dārgāks, ja jums jau mājās ir galda dators. No otras puses, galda datoru var paplašināt; varat mainīt centrālo procesoru, operatīvo atmiņu, pievienot kartes… un, ja jums ir nepieciešama liela jauda, tā būs viselastīgākā iespēja. Tikai pārliecinieties, ka tam ir… pienācīga tīkla karteJo nav īpaši noderīgi izmantot jaudīgu serveri, ja vājā vieta ir savienojums.
Proxmox, Docker, Docker Desktop un Portainer: kombinācija jūsu laboratorijai
Ļoti ērts veids, kā organizēt savu mājas serveri, ir iestatīt Proxmox kā virtualizācijas slānis un tajā izveidot LXC konteinerus vai virtuālās mašīnas, kurās var instalēt Docker. Proxmox tiek pilnībā pārvaldīts no pārlūkprogrammas, piekļūstot servera IP adresei (kaut kas līdzīgs http://<ip_servidor>), tāpēc jums nav nepieciešams monitors vai tastatūra, kas pievienota "serverim".
Tipiskā Proxmox iestatījumā var būt vairāki LXC konteineri, kuros darbojas dažādi distribūcijas (Debian, Ubuntu utt.), katram ar savu IP adresi un piešķirtiem resursiem. Docker tiek instalēts vienā no tiem, un no turienes konteinerus var pārvaldīt no komandrindas vai grafiskas saskarnes, piemēram, Portainer. Tas ļauj izolēt pakalpojumus un, piemēram, vienu konteineru izmantot tīmekļa pakalpojumiem, otru datubāzēm, vēl vienu uzraudzībai utt.
Docker pats par sevi ir konteineru platforma kas ietver lietojumprogrammas kopā ar visām to atkarībām. Resursdatora sistēma koplieto kodolu, tāpēc tā ir daudz vieglāka nekā pilna virtuālā mašīna. Tas ir ideāli piemērots, ja vairāki pakalpojumi iekšēji klausās vienās un tajās pašās pieslēgvietās, bet ārēji kartē dažādas pieslēgvietas, lai izvairītos no konfliktiem. Piemēram, divi konteineri ar tīmekļa serveriem iekšēji izmanto 80. portu, bet viens resursdatorā ir atvērts kā 8080:80, bet otrs — kā 8081:80.
Ja strādājat uz darbvirsmas (Windows vai macOS), Docker Desktop ievērojami vienkāršo iestatīšanu, jo Tas instalē Docker dzinēju jūsu vietāPamata grafiskais interfeiss un integrācija ar Docker Compose. Tīrā Linux serverī Docker Engine tiks izmantots "pa virspusēji", bez darbvirsmas saskarnes, taču filozofija ir tāda pati.
Kā noslēguma pieskārienu varat uzstādīt PortainersPortainer ir ļoti lietotājam draudzīga tīmekļa saskarne konteineru, attēlu, tīklu un sējumu pārvaldībai, neizmantojot termināli. No Portainer var startēt, apturēt un dzēst konteinerus, skatīt žurnālus un izveidot failu kaudzes. docker-compose.yml un jūs kontrolējat vairākus Docker resursdatorus no viena paneļa.
Docker instalēšana Debian, Proxmox vai LXC konteinerā

Ja kā bāzes sistēmu izvēlaties Debian 10/11, ieteicamais process ir šāds: Pievienojiet oficiālo Docker repozitoriju un izvairieties no noklusējuma pakotnes, kas nāk līdzi izplatīšanai un parasti ir novecojusi. Tipiskas darbības ir sistēmas sagatavošana, GPG atslēgas pievienošana, repozitorija konfigurēšana, pakotņu instalēšana un pārbaude, vai viss darbojas.
Vispirms atjauniniet sistēmu, instalējiet pamata pakotnes (piemēram, ca-certificates, curl, gnupg y lsb-release) un pēc tam Lejupielādējiet atslēgu no oficiālās krātuves Lai instalētu Docker, reģistrējiet to sistēmā un pievienojiet ierakstu, kas atbilst jūsu Debian versijai. Pēc tam instalējiet Docker dzinēju un ieteicamos komponentus.
Pēc instalēšanas ieteicams palaist testa konteineru. hello-world par Pārliecinieties, vai Docker darbojas un pārbaudiet versiju ar docker --versionStarp citu, ir ieteicams pievienot grupai savu lietotājvārdu. docker tāpēc jums nav jāizmanto sudo visu laiku. Pēc ātras restartēšanas pārbaudiet pakalpojuma statusu, izmantojot systemctl status docker un tas arī viss
Vidēs ar Proxmox un LXC konteineriem daudzi cilvēki izmanto a automatizēts skripts Šis skripts, kas darbojas LXC vidē, palaiž Docker, pielāgojot cgroups un citus konteinera iestatījumus. Šie skripti parasti ir atrodami Proxmox kopienas repozitorijos un ietaupa daudz laika, lai gan vienmēr varat sekot oficiālajai Docker dokumentācijai Ubuntu vai Debian.
Ja izmantojat operētājsistēmu Windows vai macOS ar Docker Desktop, process ir lietotājam draudzīgāks: lejupielādējat instalētāju, palaižat to, restartējat, ja nepieciešams, un pēc tam pašu lietotni. Docker dzinēja palaišana Fonā. No grafiskā interfeisa var skatīt konteinerus, attēlus un žurnālus, kā arī paralēli izmantot parasto termināli ar tām pašām Docker komandām.
Portainer: tīmekļa panelis konteineru pārvaldībai
Portainer ir viens no tiem rīkiem, ko, tiklīdz izmēģini, Jūs vairs nevēlaties visu pārvaldīt tikai ar komandrindas saskarni (CLI).It īpaši, ja jūs tikai sākat darbu. Tas tiek izvietots tāpat kā jebkurš cits Docker konteiners, un, kad tas ir izveidots un darbojas, tas nodrošina tīmekļa paneli, lai skatītu un pārvaldītu jūsu vidi.
Piemēram, Debian serverī visizplatītākā prakse ir vispirms izveidot Portainer konteineru, kartējot 9000. osta (vai 9443, ja izmantojat HTTPS). Klasiskais attēls ir portainer/portainer vai pašreizējā versijā portainer/portainer-ceAr vienkāršu komandu docker run Norādot konteinera nosaukumu, portus un datu apjomu, panelis tagad ir gatavs.
Lai piekļūtu, vienkārši atveriet pārlūkprogrammu un norādiet uz servera IP adrese, kam seko portskaut kas līdzīgs http://ip-del-servidor:9000Pirmajā piekļuves reizē Portainer lūdz izveidot administratora lietotāja paroli, atlasīt vidi (lokāli pašu Docker resursdatoru), un no turienes jūs nonāksit galvenajā panelī, no kura varēsiet redzēt attēlus, konteinerus, tīklus, sējumus, stekus utt.
Liela priekšrocība ir tā, ka Portainer Tas ļauj jums izveidot konteinerus ar vienu klikšķi.vai nu izmantojot veidnes, vai augšupielādējot savus failus docker-compose.yml sadaļā Steki. Varat arī skatīt reāllaika žurnālus, pārvaldīt vides mainīgos, pievienot sējumus, tīklus un daudz ko citu, neiegaumējot visu terminālī.
Docker tīkli, iekšējais DNS un sagatavošanās apgrieztajam starpniekserverim
Kad jums sāk būt vairāki konteineri, kuriem ir jāsazinās vienam ar otru (tīmeklis, datubāze, mākonis, reversais starpniekserveris utt.), ir svarīgi saprast, kā... tīkls Docker vidēVisizplatītākā pieeja ir izveidot savu tilta tīklu saviem pakalpojumiem un savienot ar to visus konteinerus, kuriem nepieciešams sazināties.
Veidojot pielāgotu tilta tīklu, Docker rada nelielu iekšējais DNS serveris šim tīklam. Tas nozīmē, ka konteineri var identificēt viens otru pēc nosaukuma, neizmantojot IP adreses. Piemēram, ja jūsu datubāzes konteiners tiek saukts par mariadb Un, ja jūsu Nextcloud konteiners atrodas tajā pašā tīklā, jūs varēsiet izmantot mariadb kā datubāzes resursdatoru Nextcloud konfigurācijā.
Neliela interese: ja pēc tam šos nosaukumus izmantojat nginx konfigurācijās (manuālā apgrieztā starpniekservera vai iepriekš konfigurētā konteinerā), ieteicams, lai visiem konteineru nosaukumiem jābūt ar mazajiem burtiemJo nginx pirms atrisināšanas normalizējas uz mazajiem burtiem. Tas novērš muļķīgas DNS problēmas, kas tērēs jūsu laiku.
Šis kopīgais tiltu tīkls ir lieliski piemērots arī tad, ja iestatāt apgrieztais starpniekserveris ar nginx vai tādiem rīkiem kā Nginx Proxy Manager vai Traefik, jo starpniekserverim ir jāzina tikai mērķa konteineru nosaukumi (piemēram, nextcloud, jellyfinutt.) un varēs maršrutēt datplūsmu iekšēji, nepieskaroties IP adresēm.
Ārēja piekļuve: DuckDNS, SSL sertifikāti un Let's Encrypt
Ja vēlaties piekļūt savam mājas serverim ārpus tīkla (piemēram, no privātā mākoņa vai multivides servera), jums būs nepieciešams domēns vai apakšdomēns, kas norāda uz jūsu IP adresiTā kā lielākajai daļai no mums ir dinamiska IP adrese no mūsu interneta pakalpojumu sniedzēja, plaši izmantots risinājums ir DuckDNS, kas nodrošina bezmaksas apakšdomēnu un vienkāršu veidu, kā atjaunināt savu IP adresi.
Lieliski ir tas, ka jūs varat arī Izmantojiet DuckDNS no Dockerpaceļot konteineru, piemēram, tādu, kāds redzams linuxserver/duckdnsŠajā konteinerā jūs konfigurējat savu apakšdomēnu un marķieri, un tas automātiski atjaunina publisko IP adresi, lai domēna vārds vienmēr pareizi norādītu uz jūsu mājām. Tādā veidā jums nav jāuztraucas, ja maršrutētāja IP adrese ir mainījusies pēc restartēšanas.
Šeit noder Let's Encrypt. Ideja ir izveidot konteineru, kas apvieno nginx kā apgrieztais starpniekserveris un Let's Encrypt lai automātiski pārvaldītu SSL sertifikātus. Attēls linuxserver/letsencrypt Tā ir klasika: tā rūpējas par sertifikāta (pat aizstājējzīmju apakšdomēniem) izsniegšanu un automātisku atjaunošanu, kad tuvojas tā derīguma termiņa beigas.
Pirmajā konteinera palaišanas reizē Let's Encrypt pārbauda, vai jūs patiešām esat domēna īpašnieks, parasti izmantojot pašu DuckDNS. Ja viss norit labi, tas ģenerē sertifikātus, un no šī brīža nginx sāk atbildēt. HTTPS 443. portāSertifikāti ir derīgi 90 dienas, taču konteiners katru dienu pārbauda to statusu un, ja redz, ka atlikušas mazāk nekā 30 dienas, mēģina tos automātiski atjaunot. Ja kaut kas noiet greizi, sistēma piesakās. /config/log/letsencrypt Viņi jums pastāstīs, kas notika.
Attiecībā uz portu konfigurāciju bieži tiek izmantota maršrutētāja portu pāradresācija: piemēram, novirzīt ārējo portu 443 uz servera iekšējo portu 444un pēc tam kartējiet servera 444. portu ar konteinera 443. portu pakalpojumā Docker. Lai piekļūtu internetam, joprojām izveidojiet savienojumu, izmantojot https://tusubdominio.duckdns.org neko nepamanot. 80. ports ir jāatver tikai tad, ja vēlaties HTTP validāciju, bet noteiktiem DNS validācijas režīmiem tas pat nav nepieciešams.
Mitiniet statiskas tīmekļa vietnes un konfigurējiet nginx konteinerā
Kad jūsu nginx + Let's Encrypt konteiners ir iestatīts un darbojas, varat to izmantot, lai apkalpot statisku tīmekļa vietni kopā ar pārējiem pakalpojumiem. Šis attēls parasti sasaista konfigurācijas un datu mapi ar resursdatoru, kaut ko līdzīgu /home/user/appdata/letsencrypt, kur iekšpusē būs apakšmapes, piemēram, /config, /www, /nginx, Uc
Jūsu statiskās vietnes HTML faili parasti tiek ievietoti mapē /config/wwwTātad, ja jūs kopējat index.html vai page1.htmlJūs varēsiet tam piekļūt, izmantojot savu drošo domēnu: piemēram, https://www.subdominio.duckdns.org/page1.htmlTas ir ļoti vienkāršs veids, kā uzturēt "pašdarinātu" vietni tieši no tā paša servera.
Galvenais nginx konfigurācijas fails parasti atrodas /config/nginx/defaultNav ieteicams to dzēst, jo tas tiek atjaunots, kad konteiners tiek restartēts, bet jūs varat rediģēt to, lai pielāgotu atbilstoši jūsu vajadzībām. Pēc noklusējuma tas parasti klausās 443. portā, un dokumenta sakne norāda precīzi uz /config/www.
Ja vēlaties, lai es klausītos arī 80. portā un Novirzīt visu HTTP datplūsmu uz HTTPSJums būs jāatkomentē atbilstošās rindas faila augšdaļā (blokā server (klausās 80. portā un atgriež pāradresāciju uz 443. portu). Pēc katrām konfigurācijas failu izmaiņām restartējiet konteineru, lai nginx atkārtoti ielādētu konfigurāciju.
Nextcloud aiz apgrieztā starpniekservera: jūsu privātais mākonis
Viena no galvenajām mājas servera lietojumprogrammām ir Nextcloud, jūsu privātais mākonis ar failu, kalendāra, kontaktu, piezīmju, fotogalerijas sinhronizāciju un daudz ko citu. Parasti to izvieto kopā ar datubāzi, piemēram, MariaDB, un pēc tam novieto aiz apgrieztā starpniekservera, kas jums jau ir ar Let's Encrypt.
Tipiska darbplūsma Docker vidē ir apmēram šāda: vispirms izveidojat datubāzes konteineru, izmantojot attēlu linuxserver/mariadbkonfigurējot vides mainīgos tā, lai izveidojiet konkrētu lietotāju un datubāzi Nextcloud (piemēram, MYSQL_USER=nextclouddroša parole un datubāze ar nosaukumu nextcloud_dbPēc tam jūs startējat konteineru un, ja vēlaties, ievadiet to, lai pārvaldītu datubāzes no komandrindas.
Pēc tam izveidojiet Nextcloud konteineru ar attēlu linuxserver/nextcloud vai oficiālo, savienojot to ar to pašu tilta tīklu un norādot tā mainīgos uz datubāzi pēc konteinera nosaukuma (izmantojot mariadb kā resursdators). Sākotnēji jūs varējāt īslaicīgi piekļūt Nextcloud, izmantojot iekšējo portu (kaut ko līdzīgu http://ip_servidor:444), taču visizplatītākā prakse ir nogaidīt, līdz tas ir novietots aiz starpniekservera, un pabeigt konfigurēšanu, izmantojot HTTPS.
Lai to integrētu ar Let's Encrypt apgriezto starpniekserveri, mapē /config/nginx/proxy-confs Šajā konteinerā jūs atradīsiet failu piemērus, piemēram nextcloud.subdomain.conf.sample. Pietiek ar pārdēvēt to par nextcloud.subdomain.conf un, ja vēlaties, pielāgojiet apakšdomēnu, kuru izmantosiet (piemēram, nextcloud.subdominio.duckdns.orgPēc Let's Encrypt konteinera restartēšanas šis apakšdomēns tagad norādīs uz jūsu Nextcloud konteineru.
Pirmajā vizītē uz https://nextcloud.tusubdominio.duckdns.org, jūs redzēsiet Nextcloud instalēšanas ekrānu: tur jūs definējat administratora lietotāju un viņa paroli, jūs norādāt datubāzi (nextcloud_db), MariaDB konfigurētais lietotājvārds un parole, kā arī jūsu norādītais datubāzes resursdators mariadb. Kopš tā laika, Visa lietotāju piekļuve tiks šifrēta. Pateicoties Let's Encrypt starpniekserverim, iekšējā komunikācija starp starpniekserveri un Nextcloud konteineru tiek uzturēta lokālajā Docker tīklā.
Svarīgākie pakalpojumi, ko varat iestatīt, izmantojot Docker
Kad esat pabeidzis pamata iestatījumus un tos palaidis (Docker, tilta tīkls, reversais starpniekserveris, SSL sertifikāts), Debesis ir robežaIr daudz pakalpojumu, kas ir ideāli piemēroti mājas serverim, un gandrīz visiem no tiem ir ļoti labi uzturēti attēli, kurus var izvietot, izmantojot Docker Compose vai Portainer.
Docker pārvaldībai, Portainer ir tavs labākais sabiedrotaisTas ļauj uzreiz redzēt visus konteinerus, attēlus un sējumus, kā arī izveidot sarežģītas stekas, izmantojot failus. docker-compose.ymlTurklāt, ja nākotnē jums būs vairāk nekā viens Docker resursdators (piemēram, cits serveris jūsu tīklā), jūs varēsiet tos visus pārvaldīt no vienas Portainer instances.
Klasisks veids, kā centralizēt domēnus un sertifikātus bez nepieciešamības manuāli cīnīties ar nginx, ir Nginx starpniekservera pārvaldnieksTas ir konteiners, kas nodrošina piekļuvi 80., 81. un 443. portam: 80. ports HTTP, 443. ports HTTPS un 81. ports administrēšanas saskarnei. Tas tiek iestatīts, izmantojot Docker Compose, definējot attēlu (jc21/nginx-proxy-manager:latest), container_name, atkārtotas palaišanas politikas, portus, kā arī konfigurāciju un datu apjomus, lai sertifikāti un iestatījumi saglabātos pat tad, ja izdzēšat konteineru.
Pašā failā docker-compose.yml Varat eksperimentēt ar portu kartēšanu, piemēram, mainot administrācijas osta uz kaut ko mazāk standarta: ja jūs ievietojat 84:81Jūs novirzīsiet resursdatora 84. portu uz konteinera 81. portu, lai piekļūtu tīmekļa panelim no http://<ip_servidor>:84Tas ir noderīgi, ja jums ir citas lietojumprogrammas, kas izmanto 81. slotu, vai vēlaties izvairīties no noklusējuma vērtībām.
Skaļuma līmenī Nginx Proxy Manager parasti pievieno resursdatora mapes (absolūtos ceļus), kur tas glabā konfigurāciju un sertifikātus, taču varat arī izvēlēties Docker nosauktie sējumikuriem nav nepieciešami konkrēti ceļi failu sistēmā. Docker tos saglabā /var/lib/docker/volumes Un tie ir ideāli piemēroti, ja nav nepieciešams precīzi kontrolēt, kur dati nonāk, tikai lai tie tiktu saglabāti, atjaunojot konteinerus.
Papildus starpniekserverim un Portainer mājas laboratorijā ir pieejama vesela virkne ļoti populāru pakalpojumu: Wireguard vai Zerotier VPN gadījumā — AdGuard vai Pi-hole DNS filtrēšanai, Grafana un Prometheus uzraudzībai, datubāzes, piemēram, PostgreSQL, MongoDB vai Redis, Nextcloud mākonim, Jellyfin vai Plex multimedijam, Home Assistant mājas automatizācijai un tipiskie -arr pakalpojumi (Sonarr, Radarr, Prowlarr, Readarr), kas integrēti ar torrent klientu, piemēram, Transmission.
Krātuve, multivide, paroles un DNS filtrēšana jūsu serverī
Viens no praktiskākajiem mājas servera pielietojumiem ir centralizēts failu serveris kur var glabāt dokumentus, fotoattēlus, videoklipus un dublējumkopijas. Varat to iestatīt kā vienkāršu tīkla mapi no datora failu pārlūka vai piešķirt tai "mākoņa" slāni, izmantojot Nextcloud vai FileBrowser, atkarībā no tā, vai vēlaties kaut ko līdzīgu Google diskam vai dodat priekšroku kaut kam vienkāršākam.
Ja failiem piekļūst tikai divi vai trīs cilvēki (piemēram, jūs un jūsu partneris), tas bieži vien ir ērtāk. kartēt tīkla disku sistēmā (SMB/NFS) un aizmirstiet par sarežģītām tīmekļa saskarnēm. Tas nenozīmē, ka nevarat izmantot NAS paredzētas fotoattēlu lietotnes (piemēram, Synology) vai Nextcloud lietotnes, lai no mobilās ierīces piekļūtu organizētām galerijām.
Otra lieliskā klasika ir mājas multivides serverisPat ja turpināsiet maksāt par Netflix, Prime, HBO un citiem pakalpojumiem, vienmēr būs saturs, kas nav pieejams nevienā platformā vai kuru vēlaties lejupielādēt. Lai to atskaņotu televizorā, tālrunī vai planšetdatorā, parasti ir pieejamas Plex, Emby vai Jellyfin iespējas. Piemēram, Synology vidēs Plex parasti darbojas īpaši nevainojami, jo tam ir iebūvēta pakotne, kas novērš nepieciešamību pēc Docker, tādējādi samazinot procesora slodzi un uzlabojot kopējo lietošanas pieredzi.
Plex trūkums ir kustīgā daļa. nepieciešams abonements (apmēram 5 eiro mēnesī vai dārgāka mūža licence), taču pretī tā piedāvā ļoti noslīpētu saskarni un pienācīgu atbalstu. Jellyfin ir pilnīgi bezmaksas un atvērtā koda programmatūra, taču atkarībā no aparatūras un transkodēšanas kombinācijām var radīt nelielas raustīšanāsEmby atrodas kaut kur pa vidu. Ideālā gadījumā jums vajadzētu izmēģināt vairākus un noskaidrot, kurš no tiem vislabāk atbilst jūsu serverim un klientiem.
Lai automatizētu satura lejupielādi, parasti tiek iestatīts lietojumprogrammu komplekts. beidzas ar -arrProwlarr darbojas kā indeksēšanas apkopotājs, Sonarr — TV seriāliem, Radarr — filmām, Readarr — grāmatām, un tas viss tiek vadīts ar torrentu klientu, piemēram, Transmission. Katrs komponents darbojas savā konteinerā, koplietojot lejupielādes un bibliotēkas mapes, lai, kad sērija ir gatava, tā automātiski pārvietotos uz savu atrašanās vietu un parādītos Plex vai Jellyfin platformā.
Drošības ziņā ir ļoti ieteicams, lai jums būtu savs pašmitināts paroļu pārvaldnieksVaultwarden (viegla Bitwarden implementācija) ir ļoti populāra Docker opcija, jo tā integrējas ar pārlūkprogrammas paplašinājumiem un mobilajām lietotnēm tāpat kā oficiālais pakalpojums. Tas novērš paroļu atkārtotu izmantošanu un ļauj izvairīties no pārlūkprogrammas atmiņas, kas var tikt apdraudēta, ja inficējaties ar ļaunprogrammatūru. Ja nevēlaties to mitināt pats, vienmēr varat izmantot mākoņpakalpojumus, piemēram, NordPass, taču svarīgi ir neuzglabāt pārlūkprogrammā nešifrētas paroles.
DNS un reklāmu vai izsekotāju bloķēšanas jomā Pi-hole joprojām ir viens no vadošajiem projektiem. Jūs to ievietojat konteinerā, norādāt maršrutētājs vai jūsu ierīces lai viņi varētu izmantot jūsu IP adresi kā savu DNS serveri, un tas filtrē reklāmas un izsekotājus, pamatojoties uz ārējiem sarakstiem. Tīmekļa vietnes, piemēram, Firebog, ļauj jums apkopot bloķējamo domēnu sarakstus: sākot no vienkāršām reklāmām līdz uzmācīgiem izsekotājiem. Tādā veidā visa jūsu tīkla datplūsma pirms nonākšanas internetā iziet caur Pi-hole.
Tīklošana, porti, VPN un darba sākšana ar Docker, ja esat apmaldījies
Sākumā viena no biedējošākajām lietām ir tā daļa par tīkls un portiPatiesībā pamatkoncepcija ir ļoti līdzīga klasiskā spēļu servera koncepcijai: katrs konteiners klausās vienā vai vairākās iekšējās pieslēgvietās, un jūs izlemjat, kuras resursdatora pieslēgvietas jūs atvērsiet un novirzīsiet no sava maršrutētāja uz ārpusi.
Docker programmā Compose portu sintakse atbilst shēmai host:contenedor. Piemēram, 80:80 Tas nozīmē, ka resursdatora 80. ports tiek pārvietots uz konteinera 80. portu. Ja pārslēdzaties uz 8080:80Jūs piekļūsiet iekšējam portam 80, izmantojot resursdatora portu 8080. Tas ļauj daudziem pakalpojumiem izmantot vienu un to pašu iekšējo portu, bet ar dažādas ārējās pieslēgvietas, bez konfliktiem.
Lai nodrošinātu drošu attālinātu piekļuvi tīklam (ne tikai noteiktu pakalpojumu atklāšanu), WireGuard ir viegls un ļoti ātrs risinājums. Ar labi konfigurētu WireGuard konteineru varat pievienot mobilo tālruni vai klēpjdatoru ārpus mājas un pārlūkot tīklu tā, it kā atrastos savā lokālajā tīklā (LAN). ZeroTier ir vēl viena interesanta alternatīva, ja vēlaties izveidot virtuālie tīkli starp draugiem spēļu serveriem un tamlīdzīgi, bez nepieciešamības tik daudz nodarboties ar NAT un portiem katrā galā.
Ja sākat no nulles un tas viss izklausās pēc nesaprotamām lietām, padomājiet par šādu trauku izolēta “mini sistēma” jūsu serverī, kuram piekļūstat ar tādām komandām kā docker exec -it nombre_contenedor bashTas ir līdzīgi kā ieiešana virtuālā vidē, bet sistēmas līmenī, nevis tikai valodu bibliotēkās. Konteinera iekšpusē jūs izmantojat lietojumprogrammas komandas (piemēram, datubāzes klientus, pakotņu pārvaldniekus utt.), savukārt ārpusē jūs pārvaldāt konteinera darbības ar... docker o docker compose.
Laika gaitā jūs redzēsiet, ka visērtāk ir definēt visus savus pakalpojumus vienā vai vairākos. failus docker-compose.ymlTur jūs deklarējat attēlu, konteinera nosaukumu, restartēšanas politiku (unless-stopped (tas ir ļoti bieži), porti, sējumi un vides mainīgie. Pēc tam jums vienkārši jāatver mape, kurā atrodas fails, un jāpalaiž docker compose up -d lai viss darbotos fonā. Ja vēlaties kaut ko vizuālāku, Portainer ļaus jums ielādēt šos YAML failus no saskarnes un pārvaldīt tos kā "stekus".
Kad esat ieguvis stabilu Docker pamatu, izveidojis un darbinājis labu skaitu pakalpojumu un ieguvis zināmu pieredzi ar portiem un tīkliem, jūsu mājas serveris kļūst par ideāla laboratorija, lai turpinātu mācītiesVarat eksperimentēt ar datubāzēm, mikropakalpojumiem, uzraudzību ar Grafana un Prometheus, mājas automatizāciju ar Home Assistant vai pat iestatīt savu tīmekļa serveri kā testēšanas poligonu, pirms to izvietojat publiskā VPS.
Visa šī ekosistēma, ko atbalsta Docker vai Docker Desktop, nodrošina, ka ar vecu datoruAr pāris cietajiem diskiem un nedaudz laika jūs varat pāriet no neziņas, ar ko sākt, uz daudzu noderīgu un drošu pakalpojumu darbību mājās, ar šifrētu piekļuvi no ārpuses, dublējumkopijām, centralizētu multividi un infrastruktūru, ar kuru varat turpināt darboties, nebaidoties sabojāt kaut ko svarīgu.