Upstream docs: https://github.com/dgtlmoon/changedetection.io
Everything not listed in this document should behave the same as upstream changedetection.io. If a feature, setting, or behavior is not mentioned here, the upstream documentation is accurate and fully applicable.
ChangeDetection.io monitors web pages, JSON APIs, and documents for changes, then sends alerts through its upstream notification integrations.
- Image and Container Runtime
- Volume and Data Layout
- Installation and First-Run Flow
- Configuration Management
- Network Access and Interfaces
- Actions (StartOS UI)
- Backups and Restore
- Health Checks
- Dependencies
- Limitations and Differences
- What Is Unchanged from Upstream
- Quick Reference for AI Consumers
| Property | Value |
|---|---|
| Image | LinuxServer lscr.io/linuxserver/changedetection.io image |
| Architectures | x86_64, aarch64 |
| Entrypoint | Upstream image entrypoint and default command via SDK |
| Managed env | User ID, group ID, timezone, and version-check behavior |
| Volume | Mount Point | Purpose |
|---|---|---|
main |
/config |
Watch list, history, screenshots, app settings, and imports |
Install and start the service, then open the Web UI interface from the StartOS dashboard.
The upstream app starts with its standard first-run behavior. By default the web UI is open to anyone who can reach its address — run the Manage Access action to require a password. Configure watch defaults, notifications, and any API keys inside the changedetection.io web UI.
| StartOS-Managed | Upstream-Managed |
|---|---|
| Container image, daemon, port, volume, user/group IDs, timezone, version-check behavior, and the optional web UI login password (Manage Access action) | Watches, notification URLs, proxy settings, API keys, import/export, and UI settings |
| Interface | Port | Protocol | Purpose |
|---|---|---|---|
| Web UI | 5000 | HTTP | changedetection.io web interface and API |
Access methods:
- LAN IP with unique port
<hostname>.localwith unique port- Tor
.onionaddress - Custom domains (if configured)
| Action | Purpose |
|---|---|
| Manage Access | Require a password to log in to the web UI, or keep it open. Uses changedetection.io's own login (injected via SALTED_PASS); only the salted hash is stored on the StartOS side, never the plaintext. |
All other settings are handled in the upstream web UI.
Included in backup:
mainvolume, including watch data, history, screenshots, settings, and imports stored by the upstream app
Restore behavior: Volume is fully restored before the service starts.
| Check | Method | Messages |
|---|---|---|
| Web Interface | Port listening | Success: "The web interface is ready" / Error: "The web interface is not ready" |
None.
- LinuxServer container wrapper - the package uses LinuxServer's changedetection.io image because it includes the Playwright content fetcher and supports the StartOS target architectures. The application itself remains changedetection.io.
- Minimal StartOS configuration - watches, notification URLs, proxy settings, and API keys are managed in changedetection.io itself. The one exception is the web UI login password, which you set via the Manage Access action.
- External browser drivers are not managed by StartOS - the bundled Playwright fetcher is available, but any separate WebDriver or remote Playwright service must be configured manually in changedetection.io.
- Notification delivery depends on network reachability - outbound notification integrations must be reachable from the StartOS device.
- Website monitoring responsibility remains with the user - users are responsible for complying with site terms, robots policies, and applicable law when monitoring remote content.
The package runs a prebuilt changedetection.io container image without rebuilding it. Core watch management, HTML/text/JSON/PDF monitoring, Playwright-backed fetching, filters, history, import/export, API, and notification integrations behave as documented upstream unless limited above.
package_id: changedetection
image: lscr.io/linuxserver/changedetection.io
architectures: [x86_64, aarch64]
volumes:
main: /config
ports:
ui: 5000
dependencies: none
startos_managed_env_vars:
- PUID
- PGID
- TZ
- DISABLE_VERSION_CHECK
- SALTED_PASS # only when a web UI password is set via Manage Access
actions:
- manage-access # require a login for the web UI, or keep it open