Sii Polska

SII UKRAINE

SII SWEDEN

  • Szkolenia
  • Kariera
Dołącz do nas Kontakt
Wstecz

Sii Polska

SII UKRAINE

SII SWEDEN

Wstecz

26.01.2026

Chcesz sprawdzić, jak szybki i niezawodny jest Twój internet? SpeedTest Tracker w Raspberry Pi

26.01.2026

Chcesz sprawdzić, jak szybki i niezawodny jest Twój internet? SpeedTest Tracker w Raspberry Pi

Speedtest Tracker to narzędzie, które można uruchomić na własnym komputerze lub serwerze. Wykorzystuje rozwiązanie Speedtest firmy Ookla do sprawdzania połączenia i jest łatwe w konfiguracji za pomocą Docker.

Zyskaj kontrolę nad swoim Internetem

W Speedtest Tracker możesz monitorować jakość Twojego połączenia i uzyskiwać przejrzyste wykresy prędkości. Jeśli Twój Internet działa wolniej niż obiecywał operator, otrzymasz gotowe dowody, które pozwolą Ci skutecznie interweniować.

Speedtest Tracker
Ryc. 1 Speedtest Tracker

Czego potrzebujesz? Głównym elementem, który będziemy wykorzystywać, jest mikrokomputer Raspberry Pi.

Raspberry Pi
Ryc. 2 Raspberry Pi

Raspberry Pi to rodzina komputerów jednopłytkowych opracowana przez fundację o tej samej nazwie, której celem było wspieranie edukacji informatycznej. Od rynkowego debiutu w 2012 roku platforma ta zdobyła ogromne uznanie zarówno w świecie nauki, jak i wśród hobbystów. Obecnie jest ona jednym z najpopularniejszych rozwiązań stosowanych w projektach z zakresu Internetu Rzeczy (IoT).

Testy narzędzia SpeedTest Tracker przeprowadzane są na modelu Raspberry Pi 5 (8GB). Wybór ten podyktowany jest jego wysoką wydajnością, szerokimi możliwościami konfiguracji oraz optymalnymi parametrami technicznymi dla tego typu zadań.

Zaczynamy

Mikrokomputer powinien mieć już zainstalowany oficjalny system operacyjny Raspberry Pi OS [download] oraz oprogramowanie Docker.

Uwaga: Użyj oficjalnego skryptu instalacyjnego Dockera, który zapewnia pobranie najnowszej wersji zoptymalizowanej pod architekturę ARM:

# Pobierz i uruchom skrypt instalacyjny Dockera
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

# Dodaj swojego użytkownika do grupy docker (unikniesz potrzeby używania sudo za każdym razem)
sudo usermod -aG docker $USER

# Uruchom ponownie komputer lub wyloguj się/zaloguj, aby zmiany w grupach zaczęły obowiązywać

po ponownym uruchomieniu przetestuj to:

docker --version 
docker run hello-world

Instalacja

Speedtest Tracker działa w kontenerze Docker, co pozwala na jego konfigurację na dowolnym systemie obsługującym konteneryzację. Zespół z LinuxServer.io tworzy obraz kontenera (tutaj znajdziesz więcej szczegółów na temat sposobu jego budowy).

Do naszych celów użyjemy instalacji Docker Compose. Jest to prosta i szybka opcja.

Docker Compose reprezentuje preferowaną metodę wdrażania, ponieważ automatycznie organizuje zarówno kontener aplikacji, jak i instancję bazy danych.

Skonfiguruj swój klucz aplikacji

Będziemy potrzebować klucza aplikacji. Jest on wymagany do szyfrowania. Skopiuj klucz wraz z prefiksem base64: i wklej go jako wartość do APP_KEY. Uruchom następujące polecenie, aby go wygenerować:

echo -n 'base64:'; openssl rand -base64 32;

na przykład:

raspi@raspi:~/speedtest_tracker $ echo -n 'base64:'; openssl rand -base64 32;
base64:Duu3R6xTUjvIMXukcrhrJqI9P4lBXkTAZ5LdRlUok+Y=

Konfiguracja środowiska Docker

Chociaż SQLite zapewnia odpowiednią funkcjonalność dla typowych wdrożeń, aplikacja obsługuje również konwencjonalne opcje RDBMS, w tym MariaDB, MySQL i PostgreSQL.

Utwórz plik docker-compose.yaml:

Wartości PUID i PGID użytkownika można uzyskać, wykonując polecenie id $user w systemie hosta.

services:
    speedtest-tracker:
        image: lscr.io/linuxserver/speedtest-tracker:latest
        restart: unless-stopped
        container_name: speedtest-tracker
        ports:
            - 8080:80
            - 8443:443
        environment:
            - PUID=1000
            - PGID=1000
            - APP_KEY=base64:UmcouDGUgO[redacted]B22uEpVU=
            - DB_CONNECTION=sqlite
            - SPEEDTEST_SCHEDULE='*/30 * * * *'
            - APP_TIMEZONE=Europe/Warsaw
            - DISPLAY_TIMEZON=Europe/Warsaw
            - APP_DEBUG=false
        volumes:
            - /path/to/data/data:/config
	         #  - /path/to-custom-ssl-keys:/config/keys

Aby użyć własnych certyfikatów SSL, nazwij je cert.crt (dla pełnego łańcucha certyfikatów) i cert.key (dla klucza prywatnego), a następnie zamontuj je w /config/keys wewnątrz kontenera.

Zmienne środowiskowe

Skonfiguruj wymagane zmienne środowiskowe PUID, PGID, APP_KEY przed uruchomieniem aplikacji. W moim przypadku dodatkowo skonfigurowałem zmienną SPEEDTEST_SCHEDULE, aby uruchamiać aplikację co pół godziny. Jeśli chcesz uzyskać więcej szczegółów, sprawdź sekcję Zmienne środowiskowe details.

Uruchom kontener:

raspi@raspi:~/speedtest_tracker $ docker compose up -d

Sprawdź, czy kontener został utworzony zgodnie z oczekiwaniami:

raspi@raspi:~/speedtest_tracker $ docker ps | grep linuxserver/speedtest-tracker

4472bdc8aea8   lscr.io/linuxserver/speedtest-tracker:latest   "/init" 10 months ago   Up 2 months   0.0.0.0:8080->80/tcp, :::8080->80/tcp, 0.0.0.0:8443->443/tcp, :::8443->443/tcp                 speedtest-tracker

Pierwsze logowanie

Logowanie do Speedtest Tracker
Ryc. 3 Logowanie do Speedtest Tracker

Domyślna nazwa użytkownika i hasło są automatycznie tworzone podczas pierwszego uruchomienia kontenera.

Nazwa użytkownika: [email protected]

hasło: password

Użyj tych danych logowania i zaktualizuj domyślne informacje użytkownika po zalogowaniu się do aplikacji.

oferty pracy

Podsumowanie

Speedtest Tracker to samoobsługowa aplikacja open-source zaprojektowana do monitorowania wydajności i czasu pracy połączenia internetowego. Działa jako zamiennik porzuconego projektu o tej samej nazwie autorstwa Henry’ego Whitakera, oferując ulepszone UI i zaktualizowany zestaw funkcji.

Cel

Podstawowym celem aplikacji jest pomoc użytkownikom w budowaniu historycznego zapisu prędkości internetu i czasu pracy dostawcy usług internetowych (ISP). Te dane są przydatne do:

  • Weryfikacji, czy otrzymujesz prędkości deklarowane przez dostawcę internetowego.
  • Identyfikowania wzorców spadków wydajności.
  • Posiadania udokumentowanego dowodu problemów z usługą.

Podstawy techniczne

  • Framework: Zbudowany przy użyciu Laravel (PHP).
  • Silnik: Wykorzystuje Speedtest CLI firmy Ookla® do dokładnych pomiarów.
  • Wdrożenie: Zaprojektowany do łatwego wdrożenia za pomocą Dockera.

Kluczowe funkcje

  • Automatyczne testowanie: Planuj testy prędkości w określonych odstępach czasu, aby śledzić wydajność w czasie.
  • Wizualizacja danych: Panel wyświetlający historię prędkości i metryki wydajności dostawcy internetowego.
  • Integracje i powiadomienia: Obsługa różnych integracji danych i systemów powiadomień, które informują, gdy prędkość spadnie poniżej określonego progu.
  • Bezpieczeństwo: Zawiera wbudowane uwierzytelnianie, autoryzację i szyfrowanie.
  • Obsługa API: Posiada API dla użytkowników, którzy chcą programowo współdziałać ze swoimi danymi testów prędkości.
  • Elastyczność bazy danych: Obsługuje wiele sterowników baz danych.
5/5
Ocena
5/5
Avatar

O autorze

Carlos Troetsch Flor

Z pasją promuje nowe technologie, zwracając szczególną uwagę na ich wpływ na ludzi. Carlos pracuje w Sii od prawie 7 lat, zajmuje się wsparciem technicznym drugiego i trzeciego poziomu dla różnych aplikacji i technologii, w tym Docker i Kubernetes. Stale poszerza swoją wiedzę. Poza pracą interesuje się astronomią i eksperymentuje z projektami Raspberry Pi

Wszystkie artykuły autora

Zostaw komentarz

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

Może Cię również zainteresować

Dołącz do nas

Sprawdź oferty pracy

Pokaż wyniki
Dołącz do nas Kontakt

This content is available only in one language version.
You will be redirected to home page.

Are you sure you want to leave this page?