System TP-Link Omada SDN (Software Defined Networking) to kompleksowe podejście do budowy i zarządzania infrastrukturą sieciową. To rozwiązanie, które przenosi kontrolę nad siecią z poziomu pojedynczych urządzeń do jednego, inteligentnego „mózgu”. Zamiast logować się osobno do każdego punktu dostępowego (AP), przełącznika czy bramy sieciowej, otrzymujesz jednolity panel zarządzania (tzw. Single Pane of Glass), z którego kontrolujesz całą architekturę IT – od parametrów Wi-Fi i VLAN-ów, po zaawansowane reguły bezpieczeństwa i dostęp gościnny.
Spis treści
- Dlaczego warto wybrać Dockera dla Omady?
- Wymagania wstępne
- Wybór odpowiedniego obrazu: Dlaczego stawiamy na społeczność?
- Co z oficjalnym obrazem TP-Link?
- Król społeczności: mbentley/omada-controller
- A co z oficjalnymi plikami od TP-Link?
- Krok 1: Przygotowanie struktury katalogów
- Krok 2: Tworzenie pliku docker-compose.yml
- Dlaczego network_mode: host?
- Krok 3: Uruchomienie kontrolera
- Krok 4: Pierwsza konfiguracja (Interfejs Web)
- Jak zaktualizować kontroler w przyszłości?
- Podsumowanie
Sercem tego ekosystemu jest Kontroler Omada. Bez niego urządzenia działają w sposób rozproszony, a Ty tracisz dostęp do najważniejszych funkcji, takich jak:
- Płynny roaming (Fast Roaming): Dzięki któremu Twoje urządzenia przełączają się między nadajnikami Wi-Fi bez zrywania połączenia (np. podczas rozmowy na Teams czy FaceTime).
- Centralne monitorowanie: Statystyki ruchu w czasie rzeczywistym i szybka diagnostyka wąskich gardeł.
- Portal sprzedażowy/gościnny: Łatwe tworzenie sieci dla klientów z logowaniem przez SMS, voucher czy Facebooka.
- Automatyczna optymalizacja fal radiowych: Kontroler dba, by punkty dostępowe nie zakłócały się nawzajem.
Standardowo TP-Link zachęca do zakupu dedykowanych kontrolerów sprzętowych, takich jak OC200 czy OC300. Choć są to solidne urządzenia, oznaczają dodatkowy wydatek rzędu kilkuset złotych oraz kolejne urządzenie pobierające prąd w Twojej szafie rack.
Dla właścicieli domowych laboratoriów (Home Lab), użytkowników serwerów NAS (np. Synology, QNAP, OpenMediaVault, TrueNAS) czy posiadaczy Raspberry Pi, istnieje znacznie lepsza alternatywa: instancja w Dockerze. Konteneryzacja pozwala uruchomić kontroler jako lekką usługę na sprzęcie, który i tak już pracuje w Twoim domu lub biurze. Zyskujesz tę samą funkcjonalność co w drogich kontrolerach sprzętowych, ale z większą elastycznością, łatwiejszym backupem i pełną kontrolą nad aktualizacjami.
W tym poradniku przeprowadzę Cię przez proces instalacji kontrolera Omada w Dockerze. Pokażę Ci, jak skonfigurować go tak, aby był bezpieczny, wydajny i gotowy na bezproblemowe aktualizacje w przyszłości.

Dlaczego warto wybrać Dockera dla Omady?
- Oszczędność kosztów: Nie musisz kupować dedykowanego kontrolera za 300–500 zł.
- Lekkość: Kontroler w Dockerze zużywa ułamek zasobów, które zajmowałaby pełna maszyna wirtualna lub instalacja bezpośrednio w systemie Windows/Linux.
- Łatwe aktualizacje: Podbicie wersji sprowadza się do zmiany jednej linii w pliku konfiguracyjnym.
- Izolacja: Twoja instalacja Dockera pozostaje „czysta” – wszystkie biblioteki i bazy danych (jak MongoDB) są zamknięte wewnątrz kontenera.
Wymagania wstępne
Zanim zaczniesz, upewnij się, że masz:
- Serwer z zainstalowanym Dockerem oraz Docker Compose.
Jeśli jeszcze nie masz zainstalowanego środowiska kontenerowego na swoim urządzeniu, skorzystaj z mojego kompletnego przewodnika: Instalacja Dockera w Windows i Linux. Dowiesz się z niego, jak poprawnie skonfigurować silnik Docker oraz Docker Compose.
- Podstawową wiedzę z obsługi terminala.
- Stały adres IP dla serwera, na którym będzie działał kontroler.
Wybór odpowiedniego obrazu: Dlaczego stawiamy na społeczność?
Co z oficjalnym obrazem TP-Link?
W świecie Dockera kluczowym elementem jest wybór tzw. obrazu (image), z którego zbudujemy nasz kontener. Możesz być zaskoczony, ale firma TP-Link, mimo że aktywnie rozwija oprogramowanie Omada na systemy Linux, do dziś nie udostępniła swojego oficjalnego obrazu w repozytorium Docker Hub. Oficjalne pliki instalacyjne są dostarczane jedynie jako paczki .deb lub .tgz.
W tym miejscu z pomocą przychodzi społeczność open-source, która wypełniła tę lukę. Standardem, na którym od lat polegają administratorzy i pasjonaci sieci, jest obraz przygotowany przez użytkownika mbentley.
Król społeczności: mbentley/omada-controller
Dlaczego to właśnie ten obraz, a nie inne projekty, stał się „złotym standardem”? Przemawiają za tym konkretne argumenty techniczne:
- Wszechstronność (Multi-Architecture): To największy atut tego projektu. Obraz wspiera zarówno tradycyjne serwery i PC (x86-64), jak i procesory ARM (v7 oraz v8). Dzięki temu ten sam plik konfiguracyjny zadziała bez żadnych zmian na potężnym serwerze, budżetowym Mini-PC, jak i na energooszczędnym Raspberry Pi 4 lub 5.
- Lata wsparcia i dopracowania: Matthew Bentley rozwija ten projekt od lat, reagując na potrzeby użytkowników i zmiany w oprogramowaniu TP-Link. Projekt jest czysty, odchudzony i zoptymalizowany pod kątem działania jako lekka usługa, co ma ogromne znaczenie na urządzeniach o ograniczonej pamięci RAM.
- Inteligentna automatyzacja: Obraz zawiera wbudowane skrypty, które wykonują za nas “brudną robotę”. Automatycznie dbają o uprawnienia do plików, konfigurują parametry pamięci dla bazy MongoDB i oferują mechanizmy zarządzania logami, aby te nie zajęły nam całego dysku.
- Szybkość aktualizacji: Społeczność wokół tego obrazu jest niezwykle responsywna. Gdy tylko TP-Link publikuje nową wersję oprogramowania (np. dla kontrolerów OC200), mbentley zazwyczaj w ciągu kilku godzin lub dni udostępnia gotową aktualizację w Dockerze. Dzięki temu zawsze masz dostęp do najnowszych poprawek bezpieczeństwa.
A co z oficjalnymi plikami od TP-Link?
TP-Link udostępnia oficjalny instalator na swojej stronie wsparcia, jednak przeznaczony jest on do klasycznej instalacji bezpośrednio w systemie operacyjnym. Brak oficjalnego obrazu w Docker Hub sprawia, że instalacja „ręczna” w kontenerze byłaby bardzo trudna i kłopotliwa w utrzymaniu.
Wybierając obraz od mbentley, stajesz po stronie rozwiązania sprawdzonego przez dziesiątki tysięcy użytkowników (miliony pobrań!), z doskonałą dokumentacją i ogromnym wsparciem na forach takich jak Reddit czy GitHub. To gwarancja stabilności Twojej sieci domowej lub firmowej.
Krok 1: Przygotowanie struktury katalogów
Dobrym nawykiem jest trzymanie danych kontrolera poza kontenerem, aby nie stracić ustawień przy aktualizacji obrazu.
Utwórz katalog dla projektu:
mkdir -p ~/docker/omada
cd ~/docker/omada
mkdir {data,logs}Krok 2: Tworzenie pliku docker-compose.yml
Użycie docker-compose to najwygodniejszy sposób. Utwórz plik konfiguracyjny:
nano docker-compose.ymlWklej do niego poniższą zawartość:
version: "3.1"
services:
omada-controller:
container_name: omada-controller
image: mbentley/omada-controller:latest
restart: always
stop_grace_period: 60s
network_mode: host # Rekomendowane dla łatwiejszego wykrywania urządzeń
environment:
- PUID=1000 # Twoje ID użytkownika (opcjonalnie dla uprawnień)
- PGID=1000 # Twoje ID grupy (opcjonalnie)
- TZ=Europe/Warsaw
- MANAGE_HTTP_PORT=8088
- MANAGE_HTTPS_PORT=8043
- PORTAL_HTTP_PORT=8088
- PORTAL_HTTPS_PORT=8843
- SHOW_SERVER_LOGS=true
- SHOW_MONGODB_LOGS=false
# Opcjonalne: jeśli używasz własnych certyfikatów SSL w folderze /data
#- SSL_CERT_NAME=tls.crt
#- SSL_KEY_NAME=tls.key
# Mapowanie portów wewnętrznych (przydatne przy trybie host)
- PORT_ADOPT_V1=29812
- PORT_APP_DISCOVERY=27001
- PORT_DISCOVERY=29810
- PORT_MANAGER_V1=29811
- PORT_MANAGER_V2=29814
- PORT_TRANSFER_V2=29815
- PORT_RTTY=29816
- PORT_UPGRADE_V1=29813
volumes:
- ./data:/opt/tplink/EAPController/data
- ./logs:/opt/tplink/EAPController/logsDlaczego network_mode: host?
W trybie host kontener ma bezpośredni dostęp do portów Twojego serwera. Jest to najlepsza opcja dla Omady, ponieważ kontroler musi wysyłać i odbierać pakiety rozgłoszeniowe (broadcast), aby wykryć punkty dostępowe (AP) i switche w Twojej sieci lokalnej. Jeśli wybierzesz tryb bridge, będziesz musiał ręcznie przekierować kilkanaście portów.
Krok 3: Uruchomienie kontrolera
Będąc w folderze z plikiem docker-compose.yml, wydaj polecenie:
docker-compose up -dDocker pobierze obraz i uruchomi aplikację. Pamiętaj, że kontroler potrzebuje zazwyczaj 1–2 minut na pełne wystartowanie (musi uruchomić instancję bazy danych MongoDB wewnątrz kontenera).
Możesz śledzić proces za pomocą logów:
docker logs -f omada-controllerGdy zobaczysz komunikat o pomyślnym uruchomieniu, możesz przejść dalej.
Krok 4: Pierwsza konfiguracja (Interfejs Web)
Otwórz przeglądarkę i wpisz adres IP swojego serwera z portem HTTPS (domyślnie 8043):
https://192.168.1.XX:8043
(Zauważysz ostrzeżenie o certyfikacie SSL – jest to normalne przy pierwszym uruchomieniu, wybierz opcję kontynuacji).
Powita Cię kreator konfiguracji TP-Link Omada. Postępuj zgodnie z instrukcjami:
- Ustaw nazwę kontrolera i hasło administratora.

- Zidentyfikuj i „zaadoptuj” (Adopt) swoje urządzenia (jeśli serwer jest w tej samej sieci, powinny się od razu pojawić).

- Skonfiguruj sieć Wi-Fi i VLAN-y.

Jak zaktualizować kontroler w przyszłości?
To najprostsza część. Kiedy pojawi się nowa wersja Omada Controller, wykonaj te trzy komendy:
cd ~/docker/omada
docker-compose pull # pobierze najnowszą wersję obrazu
docker-compose up -d # zrestartuje kontener z nową wersją, zachowując dane
docker image prune -f # usunie stary, niepotrzebny obrazPodsumowanie
Uruchomienie TP-Link Omada w Dockerze to doskonałe rozwiązanie dla osób posiadających domowy serwer, serwer NAS lub po prostu chcących mieć pełną kontrolę nad swoją infrastrukturą sieciową. Dzięki takiemu setupowi zarządzanie punktami EAP czy routerami SafeStream staje się dziecinnie proste i w pełni darmowe.
Bez komentarza! Bądź pierwszy.