Stefan Stidl
48263c47e8
remove duplicated lines from rebase
2026-05-16 19:10:39 +02:00
Stefan Stidl
8ba87a92bc
Merge branch 'internet-stability' of https://github.com/librespeed/speedtest into internet-stability
2026-05-16 19:06:45 +02:00
Tom Hudson
7839a4331c
Add internet stability test feature
...
Add a prolonged ping-based stability test with real-time canvas chart,
stats (avg/min/max/jitter/packet loss), stability rating, external ping
targets, CSV export, and Docker support. Link from main page to stability test.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-16 18:47:08 +02:00
Stefan Stidl
903a7024c4
Merge origin/master into internet-stability
2026-05-16 10:23:37 +02:00
Akira Yamamoto
8c22140ebb
Make ca-certificates dependency explicit
...
ca-certificates-bundle (which provides /etc/ssl/certs/ca-certificates.crt)
is already pulled in transitively by apache2 / php-apache2 on alpine:3.23,
so live HTTPS calls from PHP work today (verified with file_get_contents
against ipinfo.io). But the master image (FROM php:8-alpine) installs
the full ca-certificates package explicitly, and operators with
IPINFO_APIKEY configured rely on outbound HTTPS. Make the dependency
explicit to:
* Match master's package set rather than relying on a transitive pull
that some future apk dep change could drop.
* Document the runtime TLS requirement at the Dockerfile level instead
of leaving it implicit.
~50 KB image-size cost; the umbrella ca-certificates package adds the
update-ca-certificates CLI on top of the bundle. Per Qodo's review on
PR #800 .
2026-04-27 14:27:46 +10:00
Akira Yamamoto
475cae5b0e
EXPERIMENT: drop FROM php:8-alpine in favor of FROM alpine:3.21
...
The current Dockerfile.alpine pulls FROM php:8-alpine and then `apk
add php-apache2`. The result is two PHP installs side by side: the
docker-library PHP at /usr/local/bin/php (~30 MB, never used by
Apache) and the apk-installed PHP at /usr/bin/php (which mod_php
actually loads).
Pinning a fresh Alpine release and installing the apk packages
directly drops the dead /usr/local/bin/php install entirely.
Expected wins:
- Smaller image (~30 MB less; 2024 baseline was ~120 MB)
- One PHP binary, no $PATH ambiguity
- Cleaner story for any follow-up that touches PHP config
2026-04-27 10:03:14 +10:00
Copilot
ecb2a0e736
Add Docker TAGLINE env customization for modern frontend slogan ( #794 )
...
* Initial plan
* Add Docker TAGLINE env customization for modern UI slogan
Agent-Logs-Url: https://github.com/librespeed/speedtest/sessions/e1da6e0e-5194-453d-bffb-961ed782e215
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
* Refine TAGLINE replacement and expand E2E coverage
Agent-Logs-Url: https://github.com/librespeed/speedtest/sessions/e1da6e0e-5194-453d-bffb-961ed782e215
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
* Fix TAGLINE sed delimiter and add apostrophe tagline E2E test
- Switch TAGLINE sed from '#' to '/' delimiter so html_escape'd
apostrophes (') don't break the sed expression
- Add standalone-apostrophe Docker service with TAGLINE="It'd rather be fast!"
- Add standaloneApostrophe URL (port 18186) to env.js
- Add E2E test asserting the apostrophe tagline renders correctly
Agent-Logs-Url: https://github.com/librespeed/speedtest/sessions/ebe265a8-4b1e-49b5-959a-66133ea0ab3a
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
2026-04-18 23:06:37 +02:00
sstidl
3a7dc31ff2
Implement the new design from #649 ( #694 )
...
* Implement fromScratch design
* Add some documentation
* enable new design in docker (no alpine yet)
* merge fixed docker images
* alpine docker added new design
* fix #685
* Implement fromScratch design
* Add some documentation
* enable new design in docker (no alpine yet)
* alpine docker added new design
* fix #685
* fix database permissions alpine, remove baby
* hide serverselector on only one server
* Update frontend/styling/server-selector.css
Co-authored-by: qodo-merge-pro-for-open-source[bot] <189517486+qodo-merge-pro-for-open-source[bot]@users.noreply.github.com>
* fix alpine image again
* adjust settings.json in entrypoint
so env vars are honored
* Update frontend/javascript/index.js
Co-authored-by: qodo-merge-for-open-source[bot] <189517486+qodo-merge-for-open-source[bot]@users.noreply.github.com>
* Add feature switch for new design via config file, URL parameters, and Docker (#742 )
* Initial plan
* Add feature switch for new design with config and URL parameter support
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
* Improve error handling and prevent infinite redirect loops
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
* Update Dockerfiles and entrypoint to support design feature switch
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
* Update design-switch.js
Co-authored-by: qodo-free-for-open-source-projects[bot] <189517486+qodo-free-for-open-source-projects[bot]@users.noreply.github.com>
* fix: copy actions in entrypoint
* Restructure design switch to place both designs at root level
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
* Flatten frontend assets in Docker to eliminate frontend directory
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
* fix: entrypoint settings & server-list
disable entrypoint bash debug
* add link to modern design
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
Co-authored-by: sstidl <sstidl@users.noreply.github.com>
Co-authored-by: qodo-free-for-open-source-projects[bot] <189517486+qodo-free-for-open-source-projects[bot]@users.noreply.github.com>
* add armv7
* reformat
* Add GDPR_EMAIL environment variable for Docker deployments (#743 )
* Initial plan
* Add GDPR_EMAIL environment variable for Docker deployments
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
* Improve GDPR_EMAIL handling with proper escaping and loop
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
* Refine GDPR_EMAIL processing - skip index.html and improve escaping
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
* Optimize GDPR_EMAIL sed commands and improve escaping
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
* Clarify sed escaping comment for GDPR_EMAIL
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
* cleanup old EMAIL ENV Var
* fix: line break in html prevented sed replacement
* version 6.0.0pre1
* test: add mssql docker compose tests
* Update Speedtest screen recording link in README
* Filter unreachable servers from selector (newdesign UI) (#769 )
* Filter unreachable servers from selector (newdesign UI)
* Apply suggestions from code review
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* Potential fix for pull request finding
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* keep // servers in list
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
* fix misleading comment
---------
Co-authored-by: Lumi <lumi@openclaw.local>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Stefan Stidl <sti-github@stidl.com>
* fix: server.json handling
* Use server-list.json in classic frontend by default
* Add configurable server list URLs to frontend and Docker
---------
Co-authored-by: Timendus <mail@timendus.com>
Co-authored-by: Stefan Stidl <stefan.stidl@ffg.at>
Co-authored-by: qodo-merge-pro-for-open-source[bot] <189517486+qodo-merge-pro-for-open-source[bot]@users.noreply.github.com>
Co-authored-by: qodo-merge-for-open-source[bot] <189517486+qodo-merge-for-open-source[bot]@users.noreply.github.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
Co-authored-by: qodo-free-for-open-source-projects[bot] <189517486+qodo-free-for-open-source-projects[bot]@users.noreply.github.com>
Co-authored-by: Stefan Stidl <sti-github@stidl.com>
Co-authored-by: Lumi <lumi@openclaw.local>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-04-11 23:07:05 +02:00
Tom Hudson
c5f5c30b28
Add internet stability test feature
...
Add a prolonged ping-based stability test with real-time canvas chart,
stats (avg/min/max/jitter/packet loss), stability rating, external ping
targets, CSV export, and Docker support. Link from main page to stability test.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-15 18:07:20 -04:00
Stefan Stidl
cbe05e49ab
fix dockerfile.alpine
2025-12-06 21:41:55 +01:00
Stefan Stidl
b065fc1c8d
fix alpine image again
2025-12-06 21:40:48 +01:00
Stefan Stidl
6ab62409cb
feat: update Dockerfile to use PHP 8.3-alpine3.19 and add QEMU setup for multi-arch builds
2025-12-06 20:04:58 +01:00
Stefan Stidl
f408183a90
seperate build base
2025-12-06 19:43:13 +01:00
Stefan Stidl
7852e3beac
add iconv in alpine
2025-12-06 19:41:28 +01:00
sstidl
4efe5e6100
Update Dockerfile.alpine
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-12-06 19:30:02 +01:00
Stefan Stidl
81fdf0f5fd
back to php alpine image
2025-12-06 19:16:15 +01:00
Stefan Stidl
dcf30adca9
use alpine base image
2025-12-06 19:08:00 +01:00
sstidl
cb265a2d91
add eslinter, update github actions (stale issues, dependabot), optimize docker image ( #728 )
...
* Create stale.yml
* Configure Dependabot for GitHub Actions and Docker
Added support for GitHub Actions and Docker updates.
* Bump actions/stale from 5 to 10
Bumps [actions/stale](https://github.com/actions/stale ) from 5 to 10.
- [Release notes](https://github.com/actions/stale/releases )
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/stale/compare/v5...v10 )
---
updated-dependencies:
- dependency-name: actions/stale
dependency-version: '10'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* Bump actions/checkout from 4 to 6
Bumps [actions/checkout](https://github.com/actions/checkout ) from 4 to 6.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](https://github.com/actions/checkout/compare/v4...v6 )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* Bump docker/build-push-action from 5 to 6
Bumps [docker/build-push-action](https://github.com/docker/build-push-action ) from 5 to 6.
- [Release notes](https://github.com/docker/build-push-action/releases )
- [Commits](https://github.com/docker/build-push-action/compare/v5...v6 )
---
updated-dependencies:
- dependency-name: docker/build-push-action
dependency-version: '6'
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
* typo
* Add npm package manager with development tooling and improve Docker builds (#5 )
* Initial plan
* Add npm package manager with development tooling
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
* Add package manager investigation summary
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
* Improve Docker build process and analyze PHP package manager needs
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
* Fix documentation based on code review feedback
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
* Initial plan
* Add npm package manager with development tooling
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
* Add package manager investigation summary
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
* Improve Docker build process and analyze PHP package manager needs
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
* Fix documentation based on code review feedback
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
* Restore Dockerfile.alpine to dev version (re-enable php-apache2)
* Remove redundant docker-php-extension-installer from Dockerfile.alpine
* remove useless ai files
* typo
* Initial plan
* Initial plan
* Improve Docker build process and analyze PHP package manager needs
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
* remove useless ai files
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
Co-authored-by: Stefan Stidl <stefan.stidl@ffg.at>
* Update .github/workflows/stale.yml
Co-authored-by: qodo-merge-for-open-source[bot] <189517486+qodo-merge-for-open-source[bot]@users.noreply.github.com>
* Update Dockerfile.alpine
Co-authored-by: qodo-merge-for-open-source[bot] <189517486+qodo-merge-for-open-source[bot]@users.noreply.github.com>
* Update .github/workflows/stale.yml
Co-authored-by: qodo-merge-for-open-source[bot] <189517486+qodo-merge-for-open-source[bot]@users.noreply.github.com>
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Stefan Stidl <stefan.stidl@ffg.at>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
Co-authored-by: sstidl <12804296+sstidl@users.noreply.github.com>
Co-authored-by: qodo-merge-for-open-source[bot] <189517486+qodo-merge-for-open-source[bot]@users.noreply.github.com>
2025-12-06 18:47:56 +01:00
sstidl
e6fac5507e
fix phar loading on alpine
2024-12-29 18:14:18 +00:00
Stefan S
6406d06a33
fix sqlite in alpine
2024-10-26 17:17:47 +02:00
Stefan S
0c31f1de6d
alpine/debian images tested with postgres
2024-10-26 15:40:13 +02:00
rare-magma
76bb7de037
ci: bump php in docker
...
Signed-off-by: rare-magma <rare-magma@posteo.eu>
2024-08-13 20:33:21 +02:00
rare-magma
301e3f5234
fix: purge php src
...
Signed-off-by: rare-magma <rare-magma@posteo.eu>
2024-06-02 16:34:41 +02:00
rare-magma
4f067f4aa0
fix: purge build dependencies
...
Signed-off-by: rare-magma <rare-magma@posteo.eu>
2024-06-02 16:17:57 +02:00
rare-magma
5d0cd7ef74
ci: remove unused env var
...
Signed-off-by: rare-magma <rare-magma@posteo.eu>
2024-06-02 14:40:05 +02:00
rare-magma
d1aa403f38
ci: add alpine dockerfile
...
Signed-off-by: rare-magma <rare-magma@posteo.eu>
2024-06-02 14:34:56 +02:00