Skip to content

ivanusto/changedetection-qpkg

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

changedetection.io QPKG

Language / 語言: English | 繁體中文

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).

Release Workflow (push tag → CI build → download from Release to install)

  1. 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 be 0.50.7-2, while the image remains 0.50.7).
  2. CI Build: GitHub Actions (.github/workflows/build-qpkg.yml) will automatically:

    • Build using the official QDK qbuild tool.
    • Write the version into qpkg.cfg and the image tag into shared/.image_tag.
    • Create a GitHub Release and attach the .qpkg file.

    (Pushing to main only builds the artifact for testing and does not publish a Release.)

  3. Download & Install: Download the .qpkg from 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".

Post-Installation

  • 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 /datastore inside the container). Uninstalling the QPKG will not delete your data; reinstalling will reconnect to it.
  • Configuration File: <QPKG installation directory>/changedetection.conf. You can modify PORT, DATA_DIR, PLAYWRIGHT_DRIVER_URL (sockpuppetbrowser for JS rendering), and EXTRA_DOCKER_OPTS. Apply changes by disabling and then enabling the App in App Center.
  • Upgrade: Installing a newer version .qpkg will automatically pull the new image and rebuild the container when started. Old images can be manually cleaned up in Container Station.

Project Structure

.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)

Applying to Other QPKG Projects

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).

About

Pack changedetection.io into a QNAP QPKG via Container Station. / 將 changedetection.io 打包成 QNAP QPKG 的 Docker 容器安裝套件。

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages