Pełna Kontrola nad Aplikacjami w TrueNAS Scale przez SSH

TrueNAS SSH

TrueNAS Scale, dzięki swojemu potężnemu interfejsowi webowemu, sprawia, że instalacja i podstawowe zarządzanie aplikacjami jest proste i intuicyjne. Jednak każdy zaawansowany użytkownik prędzej czy później odkryje, że prawdziwa moc i elastyczność kryją się w wierszu poleceń. Warto zaznaczyć, że od wersji 24.04 (Electric Eel), TrueNAS Scale przeszło istotną transformację, rezygnując z dotychczasowego systemu k3s (lekka dystrybucja Kubernetes) na rzecz natywnego zarządzania kontenerami za pomocą Dockera. Ta zmiana znacząco uprościła architekturę i sprawiła, że bezpośrednia praca z kontenerami stała się bardziej przystępna.

Prawdziwą swobodę daje bezpośrednie połączenie przez SSH, które omija ograniczenia terminala w przeglądarce. Pozwala ono przekształcić się ze zwykłego użytkownika w świadomego administratora, który potrafi zajrzeć „pod maskę” każdej aplikacji, diagnozować problemy w czasie rzeczywistym i zarządzać systemem z precyzją niedostępną z poziomu interfejsu graficznego. Ten artykuł to kompleksowy przewodnik po zarządzaniu aplikacjami w TrueNAS Scale przy użyciu terminala, oparty właśnie na natywnych komendach Dockera, które stały się nowym fundamentem systemu aplikacji.

Krok 1: Identyfikacja Uruchomionych Aplikacji

Zanim zaczniemy zarządzać aplikacjami, musimy wiedzieć, co w ogóle działa w naszym systemie. Interfejs graficzny pokazuje nam nazwy aplikacji, ale terminal da nam wgląd w faktyczne kontenery.

Listowanie Kontenerów: docker ps

Podstawowym poleceniem jest docker ps. Wyświetla ono listę wszystkich aktualnie uruchomionych kontenerów.

docker ps

Wynik tego polecenia to tabela z kluczowymi informacjami:

  • CONTAINER ID: Unikalny identyfikator.
  • IMAGE: Nazwa obrazu, z którego stworzono kontener.
  • STATUS: Informacja, jak długo kontener jest uruchomiony.
  • PORTS: Mapowanie portów.
  • NAMES: Najważniejsza dla nas informacja – przyjazna nazwa kontenera, której będziemy używać w kolejnych poleceniach (np. ix-jellyfin-jellyfin-1).

Jeśli chcesz zobaczyć również zatrzymane kontenery, dodaj flagę -a: docker ps -a.

Monitorowanie Zasobów w Czasie Rzeczywistym: docker stats

Jeszcze lepszym sposobem na szybki przegląd jest docker stats. Ta komenda wyświetla dynamiczną, aktualizowaną na żywo tabelę pokazującą zużycie CPU, pamięci RAM i zasobów sieciowych przez każdy kontener. To idealne narzędzie, aby na pierwszy rzut oka zidentyfikować, która aplikacja obciąża system.

docker stats

Krok 2: Wejście do Wnętrza Kontenera – docker exec

Gdy już zidentyfikujesz kontener, możesz wejść do jego środka, aby przeglądać pliki, edytować konfigurację czy prowadzić zaawansowaną diagnostykę.

docker exec -it ix-jellyfin-jellyfin-1 /bin/bash

Przeanalizujmy to polecenie:

  • docker exec: Wykonaj polecenie w działającym kontenerze.
  • -it: Kluczowe flagi oznaczające sesję interaktywną (-i) z przydzielonym pseudo-terminalem (-t).
  • ix-jellyfin-jellyfin-1: Nazwa naszego kontenera.
  • /bin/bash: Polecenie, które chcemy uruchomić wewnątrz – w tym przypadku powłokę Bash.

Po wykonaniu polecenia, znak zachęty w terminalu zmieni się, informując, że jesteś teraz „wewnątrz”. Możesz swobodnie poruszać się po systemie plików kontenera za pomocą komend ls, cd itd. Aby wyjść i wrócić do TrueNAS, po prostu wpisz exit lub użyj skrótu Ctrl + D.

Dlaczego Brakuje Narzędzi (top, ps, nano)?

Podczas pracy wewnątrz kontenera możesz natknąć się na błędy typu command not found. Jest to celowe działanie. Wiele nowoczesnych obrazów Docker (w tym oficjalny Jellyfin) to tzw. obrazy minimalistyczne lub „distroless”. Nie zawierają one żadnych dodatkowych narzędzi, a jedynie samą aplikację i jej biblioteki. Jest to praktyka zwiększająca bezpieczeństwo i zmniejszająca rozmiar obrazu.

W takim przypadku musisz polegać na narzędziach zewnętrznych, dostarczanych przez samego Dockera.

Krok 3: Diagnostyka i Rozwiązywanie Problemów

Gdy aplikacja nie działa poprawnie, terminal jest Twoim najlepszym przyjacielem.

Przeglądanie Logów: docker logs

To najważniejsza komenda diagnostyczna. Wyświetla ona wszystko, co aplikacja zapisała w swoich dziennikach.

docker logs ix-nextcloud-nextcloud-1

Jeśli chcesz śledzić logi na żywo, dodaj flagę -f (--follow):

docker logs -f ix-nextcloud-nextcloud-1

Szczegółowa Inspekcja: docker inspect

Komenda docker inspect zwraca ogromną ilość szczegółowych informacji o kontenerze w formacie JSON – jego adres IP, podpięte wolumeny, zmienne środowiskowe i wiele więcej.

docker inspect ix-tailscale-tailscale-1

Krok 4: Zarządzanie Plikami i Cyklem Życia Aplikacji

Terminal daje Ci pełną kontrolę nad plikami i stanem Twoich aplikacji.

Kopiowanie Plików: docker cp

To niezwykle użyteczna komenda do przenoszenia plików pomiędzy systemem TrueNAS a kontenerem, bez potrzeby wchodzenia do środka.

  • Kopiowanie z kontenera do TrueNAS (np. backup konfiguracji):docker cp ix-nginx-proxy-manager-npm-1:/data/nginx /mnt/TwojaPula/backupy/
  • Kopiowanie z TrueNAS do kontenera:docker cp /mnt/TwojaPula/dane/nowy-certyfikat.pem ix-nginx-proxy-manager-npm-1:/data/custom_ssl/

Kontrolowanie Stanu Aplikacji

Zamiast klikać w interfejsie graficznym, możesz szybko zarządzać aplikacjami:

  • Zatrzymanie aplikacji:docker stop ix-qbittorrent-qbittorrent-1
  • Uruchomienie zatrzymanej aplikacji:docker start ix-qbittorrent-qbittorrent-1
  • Restart aplikacji (najczęstsza operacja):docker restart ix-qbittorrent-qbittorrent-1

Od Użytkownika do Administratora

Opanowanie kilku podstawowych komend Dockera w terminalu SSH otwiera zupełnie nowy wymiar zarządzania TrueNAS Scale. Przestajesz być zależny od ograniczeń interfejsu graficznego i zyskujesz narzędzia, które pozwalają Ci zrozumieć, jak naprawdę działają Twoje aplikacje.

Możliwość szybkiego sprawdzenia logów, monitorowania zasobów w czasie rzeczywistym, edycji dowolnego pliku konfiguracyjnego czy zrobienia błyskawicznego backupu – to wszystko sprawia, że praca z systemem staje się bardziej efektywna, a rozwiązywanie problemów szybsze. Połączenie przez SSH to nie tylko wygoda, to fundamentalne narzędzie każdego świadomego administratora, który chce mieć pełną kontrolę nad swoim serwerem.

Komentarze

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *