Speedtest Tracker Documentation
repository·1.x·Indexed 26 days ago
https://github.com/alexjustesen/speedtest-trackerA self-hosted application for monitoring internet connection performance and uptime. It schedules regular speed tests to capture metrics including download/upload speeds, ping, and packet loss. Features include Docker deployment, environment variable configuration, performance notifications, and CLI tools for managing Ookla servers, user roles, and passwords.
What's inside Speedtest Tracker
- Speedtest Tracker can alert you when internet performance drops below specific thresholds. You can configure various notification channels by following the Notifications guide.
Install Speedtest Tracker via Docker
1.xSpeedtest Tracker is a containerized application provided by LinuxServer.io. You can deploy it using Docker or on NAS platforms like Synology and Unraid. For detailed deployment steps, refer to the official Installation guide.Configure Speedtest Tracker with environment variables
1.xYou can tailor the application's behavior using environment variables. Detailed configuration options are available in the Configurations documentation.Configure initial admin account settings
1.xSet the default credentials for the admin user created during installation using these environment variables:
ADMIN_NAME: The name of the admin user (default:Admin).ADMIN_EMAIL: The email address for the admin user (default:admin@example.com).ADMIN_PASSWORD: The password for the admin user (default:password).
Configure Speedtest Tracker via Docker Compose environment variables
1.xThe
compose.yamlfile uses several environment variables to configure the application, database, mail testing, and notification services. You can override these in your.envfile.Application (
laravel.test)APP_PORT: The port for the web application (defaults to80).VITE_PORT: The port for Vite development server (defaults to5173).WWWGROUP: The group ID for the user inside the container.WWWUSER: The user ID for the user inside the container.SAIL_XDEBUG_MODE: Xdebug mode (defaults tooff).SAIL_XDEBUG_CONFIG: Xdebug configuration (defaults toclient_host=host.docker.internal).
Database (
pgsql)FORWARD_DB_PORT: The port to map the PostgreSQL database to on your host (defaults to5432).DB_DATABASE: The name of the database.DB_USERNAME: The database username.DB_PASSWORD: The database password (defaults tosecret).
Mail Testing (
mailpit)FORWARD_MAILPIT_PORT: The port for the SMTP server (defaults to1025).FORWARD_MAILPIT_DASHBOARD_PORT: The port for the Mailpit web dashboard (defaults to8025).
Notifications (
apprise)FORWARD_APPRISE_PORT: The port for the Apprise notification service (defaults to8000).
Configure application encryption and security
1.xSecurity settings for encryption are managed via the following environment variables:
APP_KEY: The primary encryption key. This should be a random 32-character string.APP_PREVIOUS_KEYS: A comma-separated list of previous encryption keys to allow decryption of older data during key rotation.cipher: The encryption algorithm used (default:AES-256-CBC).
Configure maintenance mode settings
1.xMaintenance mode behavior is controlled by the following environment variables:
APP_MAINTENANCE_DRIVER: The driver used to manage maintenance mode. Supported values arefileandcache(default:file).APP_MAINTENANCE_STORE: The storage mechanism for maintenance mode (default:database).
Configure charts and data display formats
1.xCustomize how data and charts are presented in the UI using these environment variables:
CHART_BEGIN_AT_ZERO: Boolean determining if charts start at zero (default:true).CHART_DATETIME_FORMAT: The datetime format used specifically for charts (default:M. j - G:i).DATETIME_FORMAT: The general datetime format used in the application (default:M. j, Y g:ia).DISPLAY_TIMEZONE: The timezone used for displaying dates in the UI (default:UTC).
Configure core application settings via environment variables
1.xThe application's core behavior is controlled through environment variables. You can configure the following settings in your
.envfile:APP_NAME: The name of the application used in UI elements (default:Speedtest Tracker).APP_ENV: The current environment (e.g.,production,local).APP_DEBUG: Boolean to enable/disable detailed error messages and stack traces (default:false).APP_URL: The root URL of the application, used for generating URLs in console commands (default:http://localhost).FORCE_HTTPS: Boolean to force HTTPS connections (default:false).APP_TIMEZONE: The default PHP timezone for date/time functions (default:UTC).APP_LOCALE: The default locale for translations (default:en).APP_FALLBACK_LOCALE: The fallback locale if a translation is missing (default:en).APP_FAKER_LOCALE: The locale used for generating fake data (default:en_US).
Reset a user's password via CLI
1.xUse theapp:user-reset-passwordcommand to manually change the password for an existing user. The command is interactive and will prompt you for the user's email address and the new password. It validates that the provided email address exists in the system before proceeding.Fix result statuses via app:result-fix-statuses
1.xUse this command to review the data payload of each speedtest result and correct the
statusattribute. It specifically checks results from theooklaservice and updates them to eithercompletedorfailedbased on the contents of thedatacolumn (checking for the presence oflevelandmessagekeys).Note: This command is interactive and will prompt for confirmation before proceeding.
List available Ookla speedtest servers via CLI
1.xUse the
app:ookla-list-serverscommand to retrieve a list of local Ookla speedtest servers. You can optionally provide a search term to filter the results by server name.Output is displayed in a table containing the following fields:
id: The server IDsponsor: The server sponsorname: The server namecountry: The server countrydistance: The distance to the server