Describe the bug
Summary
I am setting up the Matter Test Harness for Matter 1.5 on a Raspberry Pi, following the official Matter TH User Guide.
I encountered several issues during a fresh installation:
- Ubuntu dependencies could not be installed because
noble-updates was not enabled.
- Both backend and frontend Docker images referenced by
v2.14+fall2025 return manifest unknown from GHCR.
- Building the backend image locally fails because the Dockerfile installs
npm@latest while using Node.js 20.
- Section 7.1 still documents installation of
nrfutil using pip, while current nRF Util releases use a standalone executable.
These issues eventually leave only PostgreSQL and Traefik running, while the Test Harness UI returns a Traefik 404.
Environment
- Matter version: Matter 1.5
- Test Harness: v2.14+fall2025
- Host: Raspberry Pi
- Architecture: ARM64 / aarch64
- OS: Ubuntu Server 24.04.x LTS
Repository state:
$ git describe --tags --always
v2.14+fall2025-tag-1-gd0d8f48
$ git -C backend rev-parse --short HEAD
e20beac
$ git -C frontend rev-parse --short HEAD
1acbec0
1. Ubuntu dependencies fail because noble-updates is missing
During installation of libgstreamer1.0-dev, APT failed because several installed runtime packages were newer than the corresponding available -dev packages:
libpcre2-dev : Depends: libpcre2-8-0 (= 10.42-4ubuntu2)
but 10.42-4ubuntu2.1 is to be installed
libselinux1-dev : Depends: libselinux1 (= 3.5-2ubuntu2)
but 3.5-2ubuntu2.1 is to be installed
libzstd-dev : Depends: libzstd1 (= 1.5.5+dfsg2-2build1)
but 1.5.5+dfsg2-2build1.1 is to be installed
zlib1g-dev : Depends: zlib1g (= 1:1.3.dfsg-3.1ubuntu2)
but 1:1.3.dfsg-3.1ubuntu2.1 is to be installed
For example:
libpcre2-8-0:
Installed: 10.42-4ubuntu2.1
Candidate: 10.42-4ubuntu2.1
libpcre2-dev:
Installed: (none)
Candidate: 10.42-4ubuntu2
My Ubuntu sources contained:
Types: deb
URIs: http://ports.ubuntu.com/ubuntu-ports/
Suites: noble
Components: main restricted universe multiverse
Types: deb
URIs: http://ports.ubuntu.com/ubuntu-ports/
Suites: noble-security
Components: main restricted universe multiverse
There was no noble-updates.
Changing:
to:
Suites: noble noble-updates
and running:
resolved the dependency issue.
Suggested improvement
The installer could check that noble-updates is available before installing dependencies, or the prerequisite could be documented.
2. Matter 1.5 Docker images return manifest unknown
During installation, update-docker-images.sh attempted to download the Matter 1.5 backend image:
update-docker-images.sh: Downloading backend Docker image
Image ghcr.io/project-chip/csa-certification-tool-backend:e20beac Pulling
manifest unknown
Error response from daemon: manifest unknown
The frontend fails in the same way:
update-docker-images.sh: Downloading frontend Docker image
Image ghcr.io/project-chip/csa-certification-tool-frontend:1acbec0 Pulling
manifest unknown
Error response from daemon: manifest unknown
This can also be reproduced directly:
docker pull ghcr.io/project-chip/csa-certification-tool-backend:e20beac
docker pull ghcr.io/project-chip/csa-certification-tool-frontend:1acbec0
Both return:
Error response from daemon: manifest unknown
These are exactly the revisions referenced by the Matter 1.5 checkout:
backend: e20beac
frontend: 1acbec0
After reboot, only these containers existed:
certification-tool-proxy-1
certification-tool-db-1
The backend and frontend containers were missing.
Traefik itself was listening correctly:
0.0.0.0:80->80/tcp
0.0.0.0:8090->8080/tcp
but:
curl -v http://localhost/
returned:
HTTP/1.1 404 Not Found
404 page not found
Running:
shows the actual failure:
*** Starting 'backend' docker container
Image ghcr.io/project-chip/csa-certification-tool-backend:e20beac manifest unknown
Error response from daemon:
No such image:
ghcr.io/project-chip/csa-certification-tool-backend:e20beac
### Exit with Error
Unable to start backend container.
Check if the tag is correct in the docker compose file.
You can also build the image manually using this command:
'./backend/scripts/build-docker-image.sh'
Suggested improvement
Please check whether the Docker images for v2.14+fall2025 can be restored/published in GHCR.
It would also be useful for the installation to fail clearly when required backend/frontend images cannot be downloaded instead of reaching the reboot/UI stage with only half of the stack installed.
3. Local backend build fails because of npm@latest
Since the prebuilt images are unavailable, I tried the suggested local build fallback.
The backend Dockerfile installs Node.js 20:
RUN curl -sL https://deb.nodesource.com/setup_20.x | bash -
RUN apt-get install -y nodejs
but later executes:
RUN npm install -g npm@latest
At the time of testing, npm@latest resolves to npm 12.0.2, which no longer supports Node.js 20.
The Docker build fails with:
=> ERROR [18/23] RUN npm install -g npm@latest
npm error code EBADENGINE
npm error engine Unsupported engine
npm error engine Not compatible with your version of node/npm: npm@12.0.2
npm error notsup Required:
{"node":"^22.22.2 || ^24.15.0 || >=26.0.0"}
npm error notsup Actual:
{"npm":"10.8.2","node":"v20.20.2"}
So the suggested fallback:
./backend/scripts/build-docker-image.sh
is no longer reproducible from the Matter 1.5 release.
The same Dockerfile also contains other unpinned dependencies such as:
which may produce similar compatibility problems over time.
Suggested improvement
Please pin the npm/cspell versions required by this historical release rather than using @latest.
Historical Test Harness releases should ideally remain reproducible using the dependency versions they were originally tested with.
4. nRF Util instructions appear outdated
Section 7.1 currently instructs users to run:
python3 -m pip install -U nrfutil
nrfutil install nrf5sdk-tools
Current nRF Util releases use a standalone executable rather than installation through pip.
Suggested improvement
Please update Section 7.1 with the current Nordic nRF Util installation procedure.
It would also help to clarify that the RCP dongle can be flashed from the user's Mac/PC before connecting it to the Raspberry Pi running the Test Harness.
Expected behavior
Following the documented Matter 1.5 Raspberry Pi installation should result in all four services running:
certification-tool-db-1 Up
certification-tool-proxy-1 Up
certification-tool-backend-1 Up
certification-tool-frontend-1 Up
The Test Harness UI should then be reachable at:
If the prebuilt images are unavailable, the documented local build fallback should also remain reproducible.
Actual behavior
The current installation path is effectively:
Ubuntu dependency installation
↓
missing noble-updates
↓
manual APT source fix
↓
backend/frontend image pull
↓
manifest unknown
↓
only db + proxy start
↓
TH UI returns Traefik 404
↓
local backend image build
↓
npm@latest incompatible with Node.js 20
This currently makes it difficult to reproduce the Matter 1.5 v2.14+fall2025 Test Harness environment from the documented installation procedure.
Steps to reproduce the behavior
No response
Expected behavior
No response
Log files
No response
PICS file
No response
Screenshots
No response
Environment
No response
Additional Information
No response
Describe the bug
Summary
I am setting up the Matter Test Harness for Matter 1.5 on a Raspberry Pi, following the official Matter TH User Guide.
I encountered several issues during a fresh installation:
noble-updateswas not enabled.v2.14+fall2025returnmanifest unknownfrom GHCR.npm@latestwhile using Node.js 20.nrfutilusing pip, while current nRF Util releases use a standalone executable.These issues eventually leave only PostgreSQL and Traefik running, while the Test Harness UI returns a Traefik
404.Environment
Repository state:
1. Ubuntu dependencies fail because
noble-updatesis missingDuring installation of
libgstreamer1.0-dev, APT failed because several installed runtime packages were newer than the corresponding available-devpackages:For example:
My Ubuntu sources contained:
There was no
noble-updates.Changing:
to:
and running:
resolved the dependency issue.
Suggested improvement
The installer could check that
noble-updatesis available before installing dependencies, or the prerequisite could be documented.2. Matter 1.5 Docker images return
manifest unknownDuring installation,
update-docker-images.shattempted to download the Matter 1.5 backend image:The frontend fails in the same way:
This can also be reproduced directly:
Both return:
These are exactly the revisions referenced by the Matter 1.5 checkout:
After reboot, only these containers existed:
The backend and frontend containers were missing.
Traefik itself was listening correctly:
but:
returned:
Running:
shows the actual failure:
Suggested improvement
Please check whether the Docker images for
v2.14+fall2025can be restored/published in GHCR.It would also be useful for the installation to fail clearly when required backend/frontend images cannot be downloaded instead of reaching the reboot/UI stage with only half of the stack installed.
3. Local backend build fails because of
npm@latestSince the prebuilt images are unavailable, I tried the suggested local build fallback.
The backend Dockerfile installs Node.js 20:
but later executes:
RUN npm install -g npm@latestAt the time of testing,
npm@latestresolves to npm12.0.2, which no longer supports Node.js 20.The Docker build fails with:
So the suggested fallback:
is no longer reproducible from the Matter 1.5 release.
The same Dockerfile also contains other unpinned dependencies such as:
which may produce similar compatibility problems over time.
Suggested improvement
Please pin the npm/cspell versions required by this historical release rather than using
@latest.Historical Test Harness releases should ideally remain reproducible using the dependency versions they were originally tested with.
4. nRF Util instructions appear outdated
Section 7.1 currently instructs users to run:
Current nRF Util releases use a standalone executable rather than installation through pip.
Suggested improvement
Please update Section 7.1 with the current Nordic nRF Util installation procedure.
It would also help to clarify that the RCP dongle can be flashed from the user's Mac/PC before connecting it to the Raspberry Pi running the Test Harness.
Expected behavior
Following the documented Matter 1.5 Raspberry Pi installation should result in all four services running:
The Test Harness UI should then be reachable at:
If the prebuilt images are unavailable, the documented local build fallback should also remain reproducible.
Actual behavior
The current installation path is effectively:
This currently makes it difficult to reproduce the Matter 1.5
v2.14+fall2025Test Harness environment from the documented installation procedure.Steps to reproduce the behavior
No response
Expected behavior
No response
Log files
No response
PICS file
No response
Screenshots
No response
Environment
No response
Additional Information
No response