File size: 6,103 Bytes
046723b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
services:
  changedetection:
    image: ghcr.io/dgtlmoon/changedetection.io
    container_name: changedetection
    hostname: changedetection
    volumes:
      - changedetection-data:/datastore
    # Configurable proxy list support, see https://github.com/dgtlmoon/changedetection.io/wiki/Proxy-configuration#proxy-list-support
    #        - ./proxies.json:/datastore/proxies.json

    #    environment:
    #        Default listening port, can also be changed with the -p option (not to be confused with ports: below)
    #      - PORT=7860
    #
    #        Log levels are in descending order. (TRACE is the most detailed one)
    #        Log output levels: TRACE, DEBUG(default), INFO, SUCCESS, WARNING, ERROR, CRITICAL
    #      - LOGGER_LEVEL=TRACE
    #
    #
    #       Uncomment below and the "sockpuppetbrowser" to use a real Chrome browser (It uses the "playwright" protocol)
    #      - PLAYWRIGHT_DRIVER_URL=ws://browser-sockpuppet-chrome:3000
    #
    #
    #       Alternative WebDriver/selenium URL, do not use "'s or 's! (old, deprecated, does not support screenshots very well)
    #      - WEBDRIVER_URL=http://browser-selenium-chrome:4444/wd/hub
    #
    #       WebDriver proxy settings webdriver_proxyType, webdriver_ftpProxy, webdriver_noProxy,
    #                                webdriver_proxyAutoconfigUrl, webdriver_autodetect,
    #                                webdriver_socksProxy, webdriver_socksUsername, webdriver_socksVersion, webdriver_socksPassword
    #
    #             https://selenium-python.readthedocs.io/api.html#module-selenium.webdriver.common.proxy
    #
    #
    #       Playwright proxy settings playwright_proxy_server, playwright_proxy_bypass, playwright_proxy_username, playwright_proxy_password
    #
    #             https://playwright.dev/python/docs/api/class-browsertype#browser-type-launch-option-proxy
    #
    #        Plain requests - proxy support example.
    #      - HTTP_PROXY=socks5h://10.10.1.10:1080
    #      - HTTPS_PROXY=socks5h://10.10.1.10:1080
    #
    #        An exclude list (useful for notification URLs above) can be specified by with
    #      - NO_PROXY="localhost,192.168.0.0/24"
    #
    #        Base URL of your changedetection.io install (Added to the notification alert)
    #      - BASE_URL=https://mysite.com
    #        Respect proxy_pass type settings, `proxy_set_header Host "localhost";` and `proxy_set_header X-Forwarded-Prefix /app;`
    #        More here https://github.com/dgtlmoon/changedetection.io/wiki/Running-changedetection.io-behind-a-reverse-proxy
    #      - USE_X_SETTINGS=1
    #
    #        Hides the `Referer` header so that monitored websites can't see the changedetection.io hostname.
    #      - HIDE_REFERER=true
    #
    #        Default number of parallel/concurrent fetchers
    #      - FETCH_WORKERS=10
    #
    #        Absolute minimum seconds to recheck, overrides any watch minimum, change to 0 to disable
    #      - MINIMUM_SECONDS_RECHECK_TIME=3
    #
    #        If you want to watch local files file:///path/to/file.txt (careful! security implications!)
    #      - ALLOW_FILE_URI=False
    #
    #        For complete privacy if you don't want to use the 'check version' / telemetry service
    #      - DISABLE_VERSION_CHECK=true
    #
    #        A valid timezone name to run as (for scheduling watch checking) see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
    #      - TZ=America/Los_Angeles
    #
    #        Maximum height of screenshots, default is 16000 px, screenshots will be clipped to this if exceeded.
    #        RAM usage will be higher if you increase this.
    #      - SCREENSHOT_MAX_HEIGHT=16000

    # Comment out ports: when using behind a reverse proxy , enable networks: etc.
    ports:
      - 127.0.0.1:7860:7860
    restart: unless-stopped

    # Used for fetching pages via WebDriver+Chrome where you need Javascript support.
    # Now working on arm64 (needs testing on rPi - tested on Oracle ARM instance)
    # replace image with seleniarm/standalone-chromium:4.0.0-20211213

    # If WEBDRIVER or PLAYWRIGHT are enabled, changedetection container depends on that
    # and must wait before starting (substitute "browser-chrome" with "playwright-chrome" if last one is used)
#      depends_on:
#          browser-sockpuppet-chrome:
#              condition: service_started

# Sockpuppetbrowser is basically chrome wrapped in an API for allowing fast fetching of web-pages.
# RECOMMENDED FOR FETCHING PAGES WITH CHROME, be sure to enable the "PLAYWRIGHT_DRIVER_URL" env variable in the main changedetection container
#    browser-sockpuppet-chrome:
#        hostname: browser-sockpuppet-chrome
#        image: dgtlmoon/sockpuppetbrowser:latest
#        cap_add:
#            - SYS_ADMIN
## SYS_ADMIN might be too much, but it can be needed on your platform https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md#running-puppeteer-on-gitlabci
#        restart: unless-stopped
#        environment:
#            - SCREEN_WIDTH=1920
#            - SCREEN_HEIGHT=1024
#            - SCREEN_DEPTH=16
#            - MAX_CONCURRENT_CHROME_PROCESSES=10

# Used for fetching pages via Playwright+Chrome where you need Javascript support.
# Note: Works well but is deprecated, does not fetch full page screenshots (doesnt work with Visual Selector)
#       Does not report status codes (200, 404, 403) and other issues
#    browser-selenium-chrome:
#        hostname: browser-selenium-chrome
#        image: selenium/standalone-chrome:4
#        environment:
#            - VNC_NO_PASSWORD=1
#            - SCREEN_WIDTH=1920
#            - SCREEN_HEIGHT=1080
#            - SCREEN_DEPTH=24
#          CHROME_OPTIONS: |
#            --window-size=1280,1024
#            --headless
#            --disable-gpu
#        volumes:
#            # Workaround to avoid the browser crashing inside a docker container
#            # See https://github.com/SeleniumHQ/docker-selenium#quick-start
#            - /dev/shm:/dev/shm
#        restart: unless-stopped

volumes:
  changedetection-data: