Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 34 additions & 0 deletions instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# MySpeed

## Documentation

- [MySpeed upstream documentation](https://docs.myspeed.dev/) — the official MySpeed user guide, covering speed test providers, scheduling, notifications, and integrations.

## What you get on StartOS

- **A web UI** for running, scheduling, and reviewing internet speed tests.
- **Persistent history** stored in a SQLite database under the package's `main` volume, so test results and configuration survive restarts and are included in StartOS backups.
- **Scheduled speed tests** that run automatically on a Cron expression you control from the MySpeed UI.

## Getting set up

1. Open MySpeed's **Dashboard** tab and click the **Web UI** interface.
2. Complete the **welcome dialog** that appears on first launch — this is where you set the admin password and choose initial preferences.
3. Pick a speed test provider (Ookla, LibreSpeed, or Cloudflare) and, if you want, adjust the Cron schedule. MySpeed begins running tests automatically once you've finished the welcome flow.

## Using MySpeed

### Web interface

After you set the admin password, the Web UI lands on the MySpeed dashboard. From there you can:

- Run an on-demand speed test.
- Browse past results and statistics for download, upload, and ping.
- Configure providers, servers, schedule, data retention, notification channels (Discord, Gotify, Pushover, Telegram, webhooks), and the Prometheus metrics endpoint — all from MySpeed's own settings pages.

All MySpeed configuration lives in the Web UI; this package does not expose StartOS-side configuration actions.

## Limitations

- Speed tests run through the container's network stack, so results may differ slightly from a bare-metal test on the same connection.
- If you lose the admin password, the only recovery path is to clear it directly from the SQLite database in the `main` volume — there is no in-UI password reset.
76 changes: 46 additions & 30 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"check": "tsc --noEmit"
},
"dependencies": {
"@start9labs/start-sdk": "1.3.3"
"@start9labs/start-sdk": "1.5.0"
},
"devDependencies": {
"@types/node": "^22.19.0",
Expand Down
1 change: 0 additions & 1 deletion startos/manifest/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ export const manifest = setupManifest({
upstreamRepo: 'https://github.com/gnmyt/myspeed',
marketingUrl: 'https://myspeed.dev/',
donationUrl: 'https://ko-fi.com/gnmyt',
docsUrls: ['https://docs.myspeed.dev/'],
description: { short, long },
volumes: ['main'],
images: {
Expand Down
Loading