Adott a szituáció, mihez tudunk vele kezdeni? Ami azt illeti az attól függ! Ha az a gép legalább 64-bites akkor nagyon jó esélyekkel indulunk, hogy a kis füstölő Raspberry Pi-nket kiváltsuk egy kicsit robosztusabb környezetre.
Persze, ez nem olyan könnyű mint mondjuk egy SD kártyára egy véletlenszerű img fájlt kiírni, bedugni és megnézni, hogy működik -e, DE nagyon sok előnnyel is járhat egy ilyen váltás!
Miért érheti meg?
| Buktatók?
|
Fent láthatjuk, hogy azért nem veszélytelen egy ilyen átállás, vagy kiépítés és persze minden eset egyedi! Én most elmesélem az enyémet 😉
Egy két szintes házban élek és megvolt az a lehetőségem, hogy az építés során beleszóljak néhány dologba mint mondjuk a hálózati kábelek mennyisége, minősége, elhelyezése. Persze hiába a sok lehetőség ezek általában komoly árcédulával is jártak. Amikor elmondtam az agymenésem a villanyszerelőnek… nem is lett belőle semmi, mert a jobbik háromnegyedem (a feleségem) sem adta rá áldását, így nem lett egy szekrény tele impulzus relékkel (olyan mágneses kapcsolók amik úgy maradnak kapcsolás után).
Ami viszont lett: kötődoboz mentes szerelés (a szerelvények alatti mélyítéssel), CAT6-os hálózati kábel minden helységbe, MikroTik hálózati eszközök, NAS, 3 marék különböző Pi és klónjai és egy nem kis szekrény ahova az összes ilyen ketyerét be lehet zsúfolni… persze nagy könnyebbség, hogy ez is a megszakítók és a kaputelefon mellett helyezkedik el és rá lehet csukni az ajtót.
Ebben a környezetben, főleg amikor már média centerek irányába is nézelődik az ember, hamar el lehet jutni a Pi 3 kapacitásának a végére. Főleg ha egy Home Assistant is már ott figyel egy sor másik szolgáltatás mellett és már szénné lett módosítva a rendszer. Komoly félelmem kezdett lenni, hogy már annyit módosítgattam a rendszereket, hogy ha ezek nekem fejre állnak akkor mihez kezdek majd. Ezt a férc munkát csak napokon keresztüli küzdelemmel lehetne újra alkotni… és kinek van erre ideje család és munka mellett? Nekem nincs.
Ekkor jött a gondolat, hogy a munkahelyemről megismert Docker névre hallgató környezetnek adjak egy esélyt, persze a Hass.io is Docker alapú szóval nem volt kérdés, hogy menni fog -e. A kérdés, hogy milyen áron. A Docker egy olyan alkalmazás virtualizációs környezet ami lehetővé teszi, hogy szolgáltatásokat (pl.: MySQL, Home Assistant, Sonarr, …) mint csomag kezeljünk és ne kelljen végig szenvedni a telepítés sokszor eléggé nehézkes folyamatát.
Első körben a Pi 3-on próbáltam beállítani a dolgokat, de hamar a porral oltó felé kellett nyúlnom, mert a hűtés ellenére is azt vártam, hogy a varázsfüst mikor száll el belőle. Ha ez még nem lett volna elég, sokat rontott a helyzeten hogy a szolgáltatások negyede volt csak elérhető ARM alapú docker image-ként (Az RPI ARMv7 utasításkészlettel megy, nem x86_64 mint a legtöbb asztali gép/laptop/server). Ezek után jegelésre került a dolog.
Pár hónappal később megint úgy éreztem, hogy „Na most megcsinálom”, köszönhetően annak, hogy nem sikerült eladni a régi Lenovo B560 laptopomat, ami alig bír 2.5 GB RAM-mal és egy 2.2 GHz -es Intel processzorral, de 64-bites, szóval a Docker számára minden adott volt.
Rengeteg variáció, opció, kombináció létezik erre, én az Ubuntu Server 18.04 mellett döntöttem. Azért nem Windows mert a Docker *nix környezetben sokkal jobban érzi magát, és a *nix szerver kiadások általában sokkal kevesebb erőforrást igényelnek mint a Windows-ok. Ennek persze ára van, többek közt: nincs grafikus felhasználói felület, csak parancssor. A telepítés menete a szokásos, telepítő kiírása USB-re, boot, aztán minden amit már megszoktunk. Az Ubuntu telepítője míg nem grafikus eléggé jól kezelhető és nem bombáz minket „felesleges” kérdésekkel.
Docker-es környezetben HOST-nak nevezzük a befogadó gépet amin a Docker fut, és ahhoz, hogy a Docker fusson, azt bizony fel kell rakni, 1-2 másik, támogató alkalmazás mellett.
Szükséges alkalmazások:
Mint azt láthatjuk nem kell túl sok minden hozzá, és Ubuntu esetén ezek a lépések nagyon jól le vannak írva. Általában csak azt felejtik el, hogy az adott parancshoz kellenek -e emelt jogok vagy sem, de ez is gyorsan kiderül, mert ha nem hozza a várt eredményt akkor bizony a `sudo` szócskát a parancs elejére fűzve elég sok minden megoldódhat.
Azért mondom ezt, mert ez az eddigi dolgokhoz képest a folyamat legtöbb türelmet igénylő része. A cél az, hogy egy docker-compose.yml fájlba össze írjunk minden szolgáltatást amit szeretnénk használni. Nálam, az alábbi szolgáltatások kerültek be:
Azért nem rövid a lista és szerintem jól látszik, hogy miért is tartottam a tűzoltóság telefonszámát közel… A letöltéseket a NAS-on futó Transmission kezeli, így arra nem kellett külön bejegyzést készíteni. Természetesen ez a lista igények szerint bővíthető / módosítható.
GitHub-ra felraktam egy üres induló csomagot, a saját megvalósításhoz: https://github.com/blackfyre/mire-jo-egy-regi-laptop. Azért a javarészt üres data, log, config mappák mert az alkalmazások első induláskor létrehozzák ezeket a konfigurációs és adat fájlokat, ezek után viszont mindenki a saját konfigurációját állíthatja össze vagy hozhatja át a korábbi rendszeréből
Tudom, ez a cikk lehetne részletesebb is, de a Docker világáról egy háború és békét is lehet írni… szóval néhány alap magyarázat:
Minden más általában speciális igény amit az image fájlokhoz tartozó dokumentációs oldalon le is írnak.
Legtöbb esetben amikor problémába ütköztem az annak volt köszönhető, hogy vagy elrontottam a docker-compose.yml fájlban az útvonalakat, vagy nem volt írásjog az adott mappára. Az előbbi problémák elhárításában a docker-t segítségre hívhatjuk a docker-composer config parancs segítségével, az utóbbi meg nagyon gyorsan ki fog derülni.
Parancssor használata esetén nem mindig evidens, hogy a laptop bizony laptop szóval egy idő után felfüggeszti a működést, ennek is utána kell járni, hogy lehet ezt a viselkedést kikapcsolni.
Nektek esetleg vannak tapasztalaitok, észrevételetek? Esetleg ellenérvetek egy ilyen megoldással szemben?
Az okosotthon divatos hívószó, bár itthon még kevésbé népszerű, mint tőlünk nyugatabbra vagy keletebbre. De…
Az okosotthon kialakításának egyik alaplépése, hogy felkészítjük a lakást az okoseszközök fogadására. Sokszor nem is…
Ha listát kellene írnunk arról, hogy milyen eszközöket tudunk otthon automatizálni, valószínűleg a világítás, a…
Okosotthonunk számos olyan kényelmi és biztonsági funkciót kínál, amit jó lenne “magunkkal vinni” üdüléskor, üzleti…
Szüleink, nagyszüleink biztonságát szeretnénk szavatolni, ám mégsem szeretnénk megfigyelés alatt tartani őket. A gondoskodó otthonban…