This worker runs Lighthouse in a container and reports lab metrics such as:
LCPCLSTBTFCPSpeed Index- transfer size and request breakdown
docker build -t reborniot/speed-node:local .docker run -d \
--name speedpulse-node \
--restart unless-stopped \
--cpus="1.0" \
--memory="1536m" \
--pids-limit=200 \
--log-opt max-size=10m \
--log-opt max-file=3 \
-e API_ENDPOINT="https://speed.nergiz.org" \
-e NODE_ID="<node-id-from-dashboard>" \
-e MEASURE_MODE="lighthouse" \
-e POLL_INTERVAL_MS="60000" \
-e JOB_LIMIT="3" \
-e LIGHTHOUSE_TIMEOUT_MS="120000" \
reborniot/speed-node:localIf you configure NODE_SHARED_SECRET on the backend, set the same value in the
container:
-e NODE_SHARED_SECRET="<same-secret>"- If Lighthouse fails for a page, the worker falls back to a synthetic fetch and still submits a result.
- For weaker VPS machines, increase
POLL_INTERVAL_MSand keepJOB_LIMITlow.
The repository includes .github/workflows/docker-publish.yml to build and push
reborniot/speed-node automatically on main pushes (and v* tags).
Add these repository secrets in GitHub:
DOCKERHUB_USERNAMEDOCKERHUB_TOKEN(Docker Hub access token, not your password)