Pack changedetection.io into a QNAP QPKG.
The QPKG itself is a lightweight wrapper: it runs the official dgtlmoon/changedetection.io Docker image via Container Station, making the same .qpkg compatible with all architectures (x86_64 / ARM).
-
Push tag: When a new version is released upstream (e.g.,
0.50.7), tag it in this repository:git tag v0.50.7 git push origin v0.50.7
- Tag format:
v<upstream_version>, corresponding to the Docker image tag<upstream_version>. - If you need to repackage the same upstream version, add a suffix:
v0.50.7-2(the QPKG version will be0.50.7-2, while the image remains0.50.7).
- Tag format:
-
CI Build: GitHub Actions (.github/workflows/build-qpkg.yml) will automatically:
- Build using the official QDK
qbuildtool. - Write the version into
qpkg.cfgand the image tag intoshared/.image_tag. - Create a GitHub Release and attach the
.qpkgfile.
(Pushing to
mainonly builds the artifact for testing and does not publish a Release.) - Build using the official QDK
-
Download & Install: Download the
.qpkgfrom the Release → QTS App Center → Install Manually.- Container Station must be installed first.
- Unsigned QPKG: If QTS refuses to install, go to App Center settings and check "Allow installation of applications without a valid digital signature".
- Web UI:
http://<NAS IP>:5000(The "Open" button in App Center will link directly to it). - Data Directory:
<Default volume>/.changedetection.io(mounted to/datastoreinside the container). Uninstalling the QPKG will not delete your data; reinstalling will reconnect to it. - Configuration File:
<QPKG installation directory>/changedetection.conf. You can modifyPORT,DATA_DIR,PLAYWRIGHT_DRIVER_URL(sockpuppetbrowser for JS rendering), andEXTRA_DOCKER_OPTS. Apply changes by disabling and then enabling the App in App Center. - Upgrade: Installing a newer version
.qpkgwill automatically pull the new image and rebuild the container when started. Old images can be manually cleaned up in Container Station.
.github/workflows/build-qpkg.yml CI: qbuild + Release
qpkg/
qpkg.cfg QPKG metadata (version injected by CI)
package_routines Installation/uninstallation hooks
icons/ App Center icons
shared/
changedetection.sh Service script (start/stop/restart/status/cleanup)
changedetection.conf.sample User configuration template
.image_tag Docker image tag (injected by CI; defaults to latest in repo)
This repository serves as a template: replace the name/summary in qpkg.cfg, the image and port in the service script, and the icons. The CI workflow will work out-of-the-box (push tag → auto build → download & install from Release).