Skip to content
Jeremy Meyers edited this page Feb 19, 2025 · 3 revisions

A recommended docker-compose.yml for Synology NAS. This will install changedetection to run on port 5054 and also install Playwright to enable Visual Filtering.

To Install on Synology

  1. Create a local folder for the app data (The YML file defaults to /volume1/docker/changedetection)
  2. Open Container Manager
  3. Click on Project...Create
  4. Type in a project name (any name is fine)
  5. Click "Set Path" and navigate to your app data folder
  6. From the Source dialog, choose "Create docker-compose.yml"
  7. Paste the code below then hit "next"
  8. Leave the "Web Station" box unchecked and click "Next"
  9. Click "Done"

docker-compose.yml for Synology NAS systems:

Courtesy of Reddit user /u/enieuwy from this comment on /r/changedetectionio.

services:
  changedetection:
    container_name: changedetection
    image: dgtlmoon/changedetection.io
    mem_limit: 4g
    cpu_shares: 768
    security_opt:
      - no-new-privileges:true
    restart: on-failure:5
    healthcheck:
      test: timeout 10s bash -c ':> /dev/tcp/127.0.0.1/5000' || exit 1
      interval: 10s
      timeout: 5s
      retries: 3
      start_period: 90s
    ports:
      - 5054:5000
    volumes:
      - /volume1/docker/changedetection:/datastore:rw
    environment:
       - PLAYWRIGHT_DRIVER_URL=ws://playwright-chrome:3000/

  playwright-chrome:
    hostname: playwright-chrome
    container_name: playwright-chrome
    image: browserless/chrome
    restart: on-failure:5
    shm_size: 2g
    healthcheck:
      test: timeout 10s bash -c ':> /dev/tcp/127.0.0.1/3000' || exit 1
      interval: 10s
      timeout: 5s
      retries: 3
      start_period: 90s
    environment:
      - SCREEN_WIDTH=1920
      - SCREEN_HEIGHT=1024
      - SCREEN_DEPTH=16
      - ENABLE_DEBUGGER=false
      - PREBOOT_CHROME=true
      - CONNECTION_TIMEOUT=300000
      - MAX_CONCURRENT_SESSIONS=10
      - CHROME_REFRESH_TIME=600000
      - DEFAULT_BLOCK_ADS=true
      - DEFAULT_STEALTH=true