
Cześć!
W niniejszym artykule omówimy, jak zainstalować Traccar na serwerze Synology, wykorzystując konteneryzację w Dockerze. Całą instalację przeprowadzimy przy użyciu Docker Compose za pośrednictwem narzędzia Portainer. Następnie skonfigurujemy odwrotne proxy przy użyciu już zainstalowanego Nginx Proxy Manager. Aby uzyskać dostęp do Traccara po nazwie domeny w sieci lokalnej, skonfigurujemy przepisywanie DNS przy użyciu AdGuard Home.
Czym jest Traccar?
Traccar to narzędzie typu open-source do śledzenia pojazdów, które umożliwia monitorowanie i zarządzanie flotą. Działa ono na zasadzie serwera GPS, co pozwala na zbieranie danych z urządzeń GPS oraz innych sensorów. Następnie system prezentuje te informacje w webowym interfejsie. Co więcej, Traccar pozwala śledzić lokalizację pojazdów w czasie rzeczywistym, analizować historię tras, a także monitorować zużycie paliwa i inne parametry.
Przygotowanie
W celu przygotowania poradnika, przyjmijmy na początek nazwy domen oraz identyfikatory opisane poniżej. Pamiętaj jednak, że w trakcie konfiguracji należy dostosować ustawienia zgodnie z własnymi potrzebami.
- Pełna nazwa domeny (FQDN) Traccar: https://traccar.xyz.com,
- Zainstalowany na Synology poprzez Docker: Ngninx Proxy Manager, AdGuard Home oraz Portainer,
- Zainstalowany na Synology poprzez Centrum pakietów: Cointaner Manager,
- Na serwerze DHCP routera, wskazany adres IP serwera DNS (AdGuard Home) zainstalowany na Synology.
Czym jest Docker Compose?
Docker Compose stanowi narzędzie umożliwiające definicję oraz zarządzanie wieloma kontenerami Docker jednocześnie. Poprzez opisanie konfiguracji aplikacji, usług i zależności w pliku YAML, Docker Compose ułatwia jednolite tworzenie, uruchamianie i skalowanie aplikacji złożonych z wielu kontenerów. To narzędzie upraszcza proces konfiguracji środowiska deweloperskiego, testowego lub produkcyjnego, gwarantując jednocześnie spójność w zarządzaniu kontenerami i ich parametrami. Dzięki Docker Compose możliwe jest zdefiniowanie kompleksowej infrastruktury aplikacji w jednym pliku, co z kolei ułatwia współpracę i replikację środowisk w różnych scenariuszach.
Krok 1 – Konfiguracja w Synology
- Zaloguj się na swoim serwerze plików i otwórz aplikację File Station.
- W folderze współdzielonym o nazwie docker, utwórz nowy folder i nazwij go traccar
- Wewnątrz folderu traccar utwórz dwa dodatkowe foldery – config oraz mysql.
- Przejdź do folderu config i utwórz tam foldery data i logs.
- Czynności związane z File Station na DSM zostały już ukończone. Obecnie brakuje nam jeszcze pliku konfiguracyjnego. Aby go uzyskać, pobierzemy go za pomocą SSH, będąc zalogowanym na naszym Synology. Więcej informacji znajdziesz pod tym linkiem.
- Jeśli nie masz jeszcze włączonego SSH na swoim Synology, wykonaj poniższe kroki
- Przejdź do Panelu Sterowania, a następnie w sekcji Łączność wybierz Terminal i SNMP;
- Kliknij Włącz usługę SSH i ustaw dowolny wysoki port np. 45000.
- Zapisz ustawienia i przejdź do zalogowania się po SSH do naszego Synology.
Na systemy operacyjne Microsoft Windows polecam PuTTY, z kolei na systemy operacyjne Apple MacOS polecam Termius.
- Osobiście korzystam z MacOS, stąd posłużę się Termiusem. Poniższą czynność wykonujemy na prawach roota,
- Zaloguj się na swoje konto do Synology po SSH.
sudo su -
- Pobierz plik traccar.xml
docker run \
--rm \
--entrypoint cat \
traccar/traccar:latest \
/opt/traccar/conf/traccar.xml > /volume1/docker/traccar/config/traccar.xml
Poczekaj chwilę, aż plik zostanie pobrany. Po zakończeniu tego procesu możemy kontynuować z konfiguracją w Portainerze.
Krok 2 – Konfiguracja Docker Compose w Portainerze
- Zaloguj się na swoje konto i przejdź do interfejsu administracyjnego.
- Czy używasz systemu jednokrotnego logowania Authentik? Ułatw sobie proces logowania, integrując Portainera z Authentikiem za pomocą tej instrukcji.
- Wybierz z dashboardu Stacks.
- Z prawego górnego rogu (pod twoim loginem) wybierz Add stack.
- Wypełnij tworzenie pliku Docker Compose przy użyciu następujących wartości:
- Name: traccar
- Build method: Web editor
- Web editor: skopiuj zawartość opisaną poniżej i wklej
version: "3.9"
services:
mysql:
image: mysql:5.7
container_name: traccar_mysql
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci --skip-log-bin --explicit_defaults_for_timestamp=on
hostname: traccar-mysql
volumes:
- /volume1/docker/traccar/mysql:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: traccar
MYSQL_DATABASE: traccar
MYSQL_USER: traccaruser
MYSQL_PASSWORD: traccar
traccar:
depends_on:
- mysql
image: traccar/traccar:latest
container_name: traccar_server
hostname: traccar-server
volumes:
- /volume1/docker/traccar/config/logs:/opt/traccar/logs:rw
- /volume1/docker/traccar/config/traccar.xml:/opt/traccar/conf/traccar.xml:ro
- /volume1/docker/traccar/config/data:/opt/traccar/data:rw
ports:
- "8082:8082"
restart: always
environment:
CONFIG_USE_ENVIRONMENT_VARIABLES: "true"
DATABASE_DRIVER: "com.mysql.cj.jdbc.Driver"
DATABASE_URL: "jdbc:mysql://traccar-mysql:3306/traccar?zeroDateTimeBehavior=round&serverTimezone=UTC&allowPublicKeyRetrieval=true&useSSL=false&allowMultiQueries=true&autoReconnect=true&useUnicode=yes&characterEncoding=UTF-8&sessionVariables=sql_mode=''"
DATABASE_USER: traccaruser
DATABASE_PASSWORD: traccar
- Kliknij przycisk Deploy the stack i poczekaj, aż Portainer pobierze zawartość i utworzy kontenery.
- Jeśli wszystko przebiegnie pomyślnie, w prawym górnym rogu ekranu pojawi się komunikat Success: Stack successfully deployed, a nastepnie w liście kontenerów pojawią się dwa nowo utworzone kontenery.
- Aby obecnie uzyskać dostęp do Traccara, wpisz w przeglądarkę adres: http://IP-ADRES-SYNOLOGY:8082
Krok 3 – Konfiguracja w Nginx Proxy Manager
W poniższej instrukcji dostęp do Traccar zostanie skonfigurowany po protokole HTTP (bez SSL).
- Zaloguj się do konta administratora w Nginx Proxy Manager.
- Przejdź do Hosts.
- W prawym górnym rogu kliknij Add Proxy Hosts.
- Uzupełnij parametry następującymi wartościami:
- Domain Names: traccar.xyz.com
- Scheme: http
- Forward Hostname/IP: IP-ADRES-SYNOLOGY
- Forward Port: 8082
- Zapisz konfigurację przyciskiem Save.
Web access po HTTPS (Certyfikat SSL)
Jeżeli posiadasz wgrany certyfikat SSL dla swojej domeny obsługujący subdomeny (certyfikat typu Wildcard):
- W oknie Edit Proxy Host na zakładce Details zaznacz:
- Cache Assets,
- Websockets Support,
- oraz Block Common Exploits.
- Następnie przejdź do zakładki SSL, wybierz swój certyfikat SSL i zaznacz wszystkie dostępne opcje dodatkowe:
- Force SSL,
- HTTP/2 Support,
- HSTS Enabled,
- oraz HSTS Subdomains.
Krok 4 – Konfiguracja w AdGuard Home
Aby uzyskać dostęp z naszego komputera do Traccara poprzez zdefiniowaną w Proxy Managerze nazwę domeny (np. traccar.xyz.com) w naszej sieci lokalnej, konieczne jest skonfigurowanie serwera DNS, aby wskazywał na lokalizację tej strony.
- Zaloguj się do panelu administracyjnego AdGuard Home.
- Przejdź do zakładki Filtry, a następnie z menu wybierz opcję Przepisywanie DNS.
- Kliknij Dodaj przepisywanie DNS, a następnie wypełnij pola z następującymi wartościami:
- Wpisz nazwę domeny, który chcesz przepisać: traccar.xyz.com
- Adres IP: IP-ADRES-SYNOLOGY
- Gotowe! Poczekaj chwilę, aż konfiguracja zostanie zapisana. Po zakończeniu procesu, dostęp do serwera będzie możliwy pod adresem traccar.xyz.com. 🚀
Krok 5 – Konfiguracja konfiguracji z trackerem GPS
Dodatkowe źródła i Informacje
W celu dalszego zgłębienia tematu i uzyskania szczegółowych informacji, polecam sprawdzenie poniższych linków. Są one wartościowymi źródłami, które zostały wykorzystane podczas opracowywania tego poradnika.
- Synology, Container Manager: https://www.synology.com/pl-pl/dsm/feature/container-manager
- Portainer: https://www.portainer.io
- Nginx Proxy Manager: https://nginxproxymanager.com
- AdGuard Home: https://adguard.com/pl/adguard-home/overview.html
Przeczytaj także
- Nginx Proxy & Cloudflare: Jak przywrócić prawdziwy adres IP / Dowiedz się, jak przywrócić wyświetlanie prawdziwych adresów IP użytkowników w logach serwera przy użyciu Nginx Proxy Manager i Cloudflare jako reverse proxy.
- TVHeadend: Instalacja i konfiguracja dekodera SAT>IP / Telestar Digibit Twin: Odkryj w dzisiejszym wpisie na blogu krok po kroku konfigurację dekodera SAT>IP z TVHeadend w Docker Compose.
- Home Assistant: ESPHome i sterowanie szlabanem osiedlowym / Dowiedz się, jak za pomocą ESPHome i platformy Home Assistant zintegrować i sterować zdalnie szlabanem osiedlowym lub bramą wjazdową.
- Jak skonfigurować wkładkę Leox GPON ONT na routerze Mikrotik / Poradnik krok po kroku jak skonfigurować wkładkę Leox LXT-010S-H GPON ONT na routerze Mikrotik RB5009, zamiast modułu ONT od Orange.
- UniFi Network Application: Podłączenie Access Point z innej sieci / Odkryj jak podłączyć urządzenie od Ubiquiti UniFi z innej sieci do Network Application – na przykładzie tunelu IPSec w Mikrotiku.
- UniFi Controller w Dockerze: Migracja do UniFi Network Application / UniFi Controller: Odkryj krok po kroku, jak skutecznie przeprowadzić migrację do Network Application, wykorzystując Docker Compose.
- ADS-B: Instalacja i konfiguracja odbiornika na Raspberry Pi / Odkryj tajniki instalacji i konfiguracji własnej anteny ADS-B na Raspberry Pi. Rozwijaj umiejętności i śledź samoloty w czasie rzeczywistym.
Komentarze (4)
Spidi8says:
12/07/2024 at 00:22Udało się ogarnąć. Zainstalowałem wszystko of nowa i śmiga. Dziękuję za pomoc
Spidi8says:
05/07/2024 at 13:55Witam.
Po kliknięciu deploy the stack w Portainerze wszystko się ładnie tworzy, lecz po minucie wyskakuje mi błąd kontenera. Można prosić o pomoc?
Filip Chochółsays:
07/07/2024 at 22:47Hej. Coś logi pokazują traccara?
Spidi8says:
10/07/2024 at 14:34W portainerze co chwilę błąd kontenera i reset. Może coś źle wpisałem.