From 298ccf4868fd7653937045d6aa3e1ff14e2d0760 Mon Sep 17 00:00:00 2001 From: librelad Date: Tue, 18 Aug 2026 04:02:01 +0100 Subject: [PATCH] fix(speedtest): follow LibreSpeed to its maintained image MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit adolfintel/speedtest was last rebuilt 1624 days ago — 4.4 years, the worst in the catalogue. LibreSpeed itself is fine: the project moved to the librespeed org, and LinuxServer.io's build was rebuilt 2 days ago. Chose lscr.io/linuxserver/librespeed over the org's own ghcr.io image specifically because it is on Docker Hub: our tag enumeration and the new staleness signal can query Hub but not ghcr, so this keeps the app visible to the tooling that would catch it going stale again. Not a tag swap. The LSIO image uses their house conventions, so the env block is ported rather than copied: PUID/PGID/TZ (matching bookstack, the catalogue's other LSIO app) and everything under /config instead of /database. MODE, WEBPORT and ENABLE_ID_OBFUSCATION have no equivalent — this image is standalone by design and always serves on 80 internally, which is what our port mapping already assumed. PASSWORD and DB_TYPE keep their names and meaning, so the existing config keys still drive the results page and telemetry. DB_NAME is deliberately left unset: the image picks a path inside /config, and guessing one risks a database sitting outside the volume. Co-Authored-By: Claude Opus 5 --- containers/speedtest/docker-compose.yml | 21 ++++++++++++++------- containers/speedtest/speedtest.config | 2 +- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/containers/speedtest/docker-compose.yml b/containers/speedtest/docker-compose.yml index a09b38e..f43423b 100644 --- a/containers/speedtest/docker-compose.yml +++ b/containers/speedtest/docker-compose.yml @@ -5,17 +5,24 @@ networks: services: speedtest-service: #LIBREPORTAL|SERVICE_TAG_1|speedtest-service container_name: speedtest-service - image: adolfintel/speedtest:latest #LIBREPORTAL|SPEEDTEST_VERSION_TAG|latest + image: lscr.io/linuxserver/librespeed:latest #LIBREPORTAL|SPEEDTEST_VERSION_TAG|latest restart: unless-stopped hostname: speedtest + # LinuxServer.io build of LibreSpeed — same software, maintained. Their + # images take PUID/PGID (matching the other LSIO app in the catalogue, + # bookstack) and keep everything under /config. MODE, WEBPORT and + # ENABLE_ID_OBFUSCATION have no equivalent here: this image is standalone + # by design and always serves on 80 internally. environment: - - MODE=standalone - - TELEMETRY=true - - ENABLE_ID_OBFUSCATION=true + - PUID=1000 + - PGID=1000 + - TZ=TIMEZONE_DATA #LIBREPORTAL|TIMEZONE_TAG|TIMEZONE_DATA + # Guards the results page at /results/stats.php, same as before. - PASSWORD=SPEEDTEST_PASSWORD_DATA #LIBREPORTAL|SPEEDTEST_PASSWORD_TAG|SPEEDTEST_PASSWORD_DATA - - WEBPORT=PORT_INTERNAL_DATA_1 #LIBREPORTAL|PORT_INTERNAL_TAG_1|PORT_INTERNAL_DATA_1 + # Setting a DB type is what turns telemetry on. DB_NAME is deliberately + # left unset so the image picks its own path inside /config — guessing one + # risks a database that silently is not persisted by the volume below. - DB_TYPE=sqlite - - DB_NAME=/database/db.sql # GLUETUN_OFF_BEGIN ports: - "PORTS_DATA_1" #LIBREPORTAL|PORTS_TAG_1|PORTS_DATA_1 @@ -36,7 +43,7 @@ services: disable: HEALTHCHECK_DATA #LIBREPORTAL|HEALTHCHECK_TAG|HEALTHCHECK_DATA volumes: - SOCKET_DATA #LIBREPORTAL|SOCKET_TAG|SOCKET_DATA - - ./database:/database + - ./config:/config # GLUETUN_OFF_BEGIN networks: DOCKER_NETWORK_DATA: #LIBREPORTAL|DOCKER_NETWORK_TAG|DOCKER_NETWORK_DATA diff --git a/containers/speedtest/speedtest.config b/containers/speedtest/speedtest.config index 8e8f262..e35112b 100755 --- a/containers/speedtest/speedtest.config +++ b/containers/speedtest/speedtest.config @@ -38,7 +38,7 @@ CFG_SPEEDTEST_PASSWORD=RANDOMIZEDPASSWORD1 # ACTIONS = available actions for this application # CFG_SPEEDTEST_CATEGORY="networking" -CFG_SPEEDTEST_TITLE="Speedtest" +CFG_SPEEDTEST_TITLE="LibreSpeed" CFG_SPEEDTEST_DESCRIPTION="Network Performance Monitoring" CFG_SPEEDTEST_LONG_DESCRIPTION="Lightweight speedtest implemented in Javascript that provides accurate network speed measurements" CFG_SPEEDTEST_URL="https://github.com/librespeed/speedtest"