wtorek, 2 kwietnia 2019

OMV i Docker

Dobry wieczór!

Wiele się słyszy od dłuższego czasu w światku IT, głównie programistów, ale również osób zajmujących się IoT, Home Automation o Dockerze i konteneryzacji. Do tej pory patrzyłem na to z boku, delikatnie śledząc temat, pora jednak najwyższa się w to 'wdrożyć'. Dobrze zrobiłem, bo temat jest nad wyraz ciekawy i (nie tylko) moim zdaniem rewolucyjny.

Docker i kontenery, w przeciwieństwie do maszyn wirtualnych, nie są osobnymi systemami, ale pewnymi 'zbiornikami' w których w izolacji pracują programy. Co ciekawe - korzystają ze wspólnych zasobów pamięci, odpowiednio nimi zawiadując. Czyli możemy sobie w sumie postawić ich wiele na jednym systemie i korzystać, będąc pewnym, że w razie jakichkolwiek problemów możemy przeinstalować tylko i wyłącznie jeden kontener, nie całość systemu, bez potrzeby 'stawiania' wszystkiego od nowa.

Nadmieniam, że jestem w tym temacie jeszcze początkujący, ale zafascynowany, wybaczcie więc możliwe błędy w pełnym rozumieniu tematu. Z chęcią również posłucham Waszych rad i korekt, jeżeli potrzeba.

Kilka osób mówiło: 'Docker, tak. Kup QNAP, albo jakiś starszy serwer i tam instaluj'. No ale ja już mam mój 'biedny NAS' postawiony na Orange Pi Zero Plus z NAS Hat. Głupio by było go nie wykorzystać, chociaż sprawdzić temat, bo jak nie 'zaskoczy' to wydam 1k PLN bez potrzeby.

Po raz kolejny - warto być upartym, bo mimo że 'szału nie ma' to działa na nim i Docker. Mimo limitu 512MB RAM. Coraz częściej jednak myślę o Odroid HC1/HC2.

Po pierwsze musimy w Open Media Vault (bo jego używam na moim NAS) zainstalować wtyczkę do Docker'a.


Po instalacji pojawi się nowa opcja w menu Services, do której przechodzimy.

Tam już zobaczymy możliwe do pobrania obrazy kontenerów Docker.


Pora przedstawić cel wpisu: instalujemy graficzny interface do pokazania naszych zdjęć w NAS. Do tego celu użyjemy lychee oraz MariaDB (czyli sewer baz danych tworzony przez zespół MySQL po tym jak zostali kupieni przez Oracle). Lekki, dostępny, ciekawy, ładny.

Zróbmy to jednak trochę inaczej. Na zakładce Overview w wyszukiwarce po prawej wpiszmy na początek linuxserver/mariadb i pobierzmy wybrany obraz. Po zakończeniu zobaczymy go w górnej połowie ekranu. Dobra, pobrany. Co teraz? Teraz trzeba go sparametryzować i uruchomić. Świetną cechą kontenerów jest to, że komunikują się przez konkretny port/porty z całym systemem. Czyli wystawiają pewien port, który później jest przekierowany na wybrany przez nas. W tym przypadku pozostanę przy standardowym dla MariaDB 3306.




Więcej informacji o parametrach, opisie znajdziecie na stronie z repozytorium kontenerów: https://hub.docker.com/r/linuxserver/mariadb. Opis parametrów, folderów do wyboru znajduje się na wymienionej stronie. Tu udajcie się w razie wątpliwości i wiedzy jakie parametry ma jaki kontener.


W przypadku tej konfiguracji musimy podać:
- PUID
- PGID
- TZ - TimeZone
- Hasło root do MySQL

WAŻNE! Każdą wpisaną wartość musicie 'potwierdzić' i przejść do kolejnej linii aby został zatwierdzony. To był mój główny błąd na początku nauki.

Poniżej również bardzo ważne dane - informacje o folderach z którymi może się komunikować nasz kontener. Wskazujemy folder po stronie kontenera i adekwatny folder na dysku NAS. Ja tworzę dla każdego kontenera osobny folder z konfiguracją, ale to zależy już od Waszych potrzeb i poczucia estetyki.



Lepiej zdefiniować je tak:



Jeżeli wszystko skonfigurowaliście poprawnie, obraz zostanie uruchomiony i od razu zobaczycie jego status.


W identyczny sposób instalujemy lychee. Konfiguracja jest odrobinę inna, jak poniżej:




I teraz ciekawa część. Wskażemy stronę lychee, w celu wstępnej konfiguracji. Tak jak ustawiliśmy, Lychee zgłasza się pod adresem naszego NAS z portem jaki wskazaliśmy przy konfiguracji kontenera, u mnie 192.168.1.124:81, czyli port 81. Ja sobie jak widać na routerze nazwy domen domowych przypisałem do adresów IP.



Lychee poprosi nas o adres IP serwera MariaDB (czyli w moim przypadku adres mojego NAS) i hasło do użytkownika którego chcecie używać. Ja wybrałem root. Niezbyt może bezpiecznie, ale mój NAS 'nie wychodzi na świat', nie mam do niego dostępu spoza domu. Lychee stworzy swoją bazę jeżeli chcecie, na wypadek 'przenosin' w inne miejsce macie możliwość wskazania lokalizacji używanej poprzednio bazy. Po założeniu będziemy jeszcze musieli stworzyć użytkownika i hasło, które chcecie używać w programie.

Jesteśmy gotowi do pracy!

Zasada Lychee jest następująca: wskazujemy folder źródłowy oraz docelowy, do którego zostaną przeniesione skatalogowane zdjęcia. Na początku trochę się wahałem, bo mam swój własny sposób na katalogowanie zdjęć, ale operacja (mimo że długotrwała przy kilkudziesięciu gigabajtach zdjęć) zakończyła się sukcesem.

3 komentarze:

  1. Bardzo fajnie opisane co i jak. Sam robiąc ostatnio porządki w szufladzie przypomniałem sobie o Raspberry Pi 3B. W związku z tym zainstalowałem na nim OMV i Docker'a. Niestety jako początkujący amator wysypałem się potem przy instalacji NextcloudPi na dockerze. W sensie instalacja przebiegła i wszystko działa ale niestety mój router nie pozwala na przekierowanie portu 80, przez co nie mogę przejść przez letsencrypt. Znalazłem sposób na wygenerowanie certyfikatu przez zerossl ale nie wiem teraz gdzie dokładnie podmienić pliki cert i key.

    OdpowiedzUsuń
  2. W tym wpisie znajduje się wiele ważnych i ciekawych informacji.

    OdpowiedzUsuń