{"id":40284698,"url":"https://github.com/aaronmelton/speedtest_monitor","last_synced_at":"2026-01-20T04:07:49.884Z","repository":{"id":69096467,"uuid":"449008719","full_name":"aaronmelton/speedtest_monitor","owner":"aaronmelton","description":"A Python script to capture speedtest-cli JSON and insert it into a database.","archived":false,"fork":false,"pushed_at":"2025-10-22T23:48:37.000Z","size":560,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-23T01:22:11.601Z","etag":null,"topics":["docker","docker-compose","grafana","grafana-dashboard","mariadb","monitoring","mysql","python","speedtest","speedtest-cli","speedtest-python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aaronmelton.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-01-17T18:39:32.000Z","updated_at":"2025-10-22T23:48:39.000Z","dependencies_parsed_at":"2023-11-27T03:23:51.195Z","dependency_job_id":"a2ac6313-bc7d-4b2f-9c13-55c06b5c315f","html_url":"https://github.com/aaronmelton/speedtest_monitor","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/aaronmelton/speedtest_monitor","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronmelton%2Fspeedtest_monitor","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronmelton%2Fspeedtest_monitor/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronmelton%2Fspeedtest_monitor/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronmelton%2Fspeedtest_monitor/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aaronmelton","download_url":"https://codeload.github.com/aaronmelton/speedtest_monitor/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aaronmelton%2Fspeedtest_monitor/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28595500,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T02:08:49.799Z","status":"ssl_error","status_checked_at":"2026-01-20T02:08:44.148Z","response_time":117,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","docker-compose","grafana","grafana-dashboard","mariadb","monitoring","mysql","python","speedtest","speedtest-cli","speedtest-python"],"created_at":"2026-01-20T04:07:49.485Z","updated_at":"2026-01-20T04:07:49.879Z","avatar_url":"https://github.com/aaronmelton.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![speedtest_monitor.png](speedtest_monitor.png)\n\n# Speedtest Monitor\n\nA Python script to capture speedtest JSON and insert it into a database.\n\n## Getting Started\n\n### About This Code\nThis script was written to track internet speed using Ookla's speed test.\n\nThis repository contains the SQL schema and the Grafana dashboard JSON, so you can track your own metrics.\n\n### Requirements\n* [speedtest binary from Ookla](https://www.speedtest.net/apps/cli); I'm using the Linux binary here.  (Installed automatically if using Dockerfile.)\n* MySQL database, built with the [database/speedtest_database.sql](https://github.com/aaronmelton/speedtest_monitor/blob/master/database/speedtest_database.sql) schema,  to store results.\n* Set environment variables (DB_HOST, DB_USERNAME, DB_PASSWORD) in `docker-compose.yml` OR in your environment if not using Docker.\n\n#### Python Libraries\n* See [pyproject.toml](pyproject.toml)\n\n### Instructions For Use\n\n#### Python Commands\n* To run the Python script:\n`python speedtest_monitor.py`\n\n#### Grafana\n* In order to use the provided `grafana_dashboard.json` file, you'll need to use the SQL schema provided in `speedtest_database.sql` AND a Grafana MySQL Data Source named \"SpeedTest\".\n\n## Acknowledgements\n* Grafana dashboard layout borrowed from [speedtest_exporter](https://github.com/danopstech/speedtest_exporter).\n\n## Authors\n* **Aaron Melton** - *Author* - Aaron Melton \u003caaron@aaronmelton.com\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faaronmelton%2Fspeedtest_monitor","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faaronmelton%2Fspeedtest_monitor","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faaronmelton%2Fspeedtest_monitor/lists"}