From 02041ea21b28874ed1b2ab097e7e2bffa66cc33c Mon Sep 17 00:00:00 2001 From: Kyattsukuro Date: Tue, 28 Apr 2026 13:52:53 +0200 Subject: [PATCH] init --- compose.yml | 79 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 compose.yml diff --git a/compose.yml b/compose.yml new file mode 100644 index 0000000..3c7ead6 --- /dev/null +++ b/compose.yml @@ -0,0 +1,79 @@ +services: + changedetection: + image: ghcr.io/dgtlmoon/changedetection.io:0.55.3 + 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 + + networks: + - internal + - proxy + + environment: + - PORT=5000 + - LOGGER_LEVEL=INFO + - PLAYWRIGHT_DRIVER_URL=ws://browser-sockpuppet-chrome:3000 + - BASE_URL=http://localhost:5000 + - HIDE_REFERER=true + - FETCH_WORKERS=10 + - MINIMUM_SECONDS_RECHECK_TIME=10 + - ALLOW_FILE_URI=False + - DISABLE_VERSION_CHECK=true + - TZ=Europe/Berlin + - LC_ALL=UTF-8 + - SCREENSHOT_MAX_HEIGHT=16000 + - LISTEN_HOST=0.0.0.0 + - ALLOW_IANA_RESTRICTED_ADDRESSES=true + + labels: + traefik.enable: true + + traefik.http.services.changedetection.loadbalancer.server.port: "5000" + traefik.http.services.changedetection.loadbalancer.passhostheader: "true" + + traefik.http.routers.changedetection-diff.rule: "Host(`changedetection.urmel.de`) && PathPrefix(`/preview`)" + traefik.http.routers.changedetection-diff.priority: 100 + traefik.http.routers.changedetection-diff.service: changedetection + + traefik.http.routers.changedetection.rule: "Host(`changedetection.urmel.de`) && PathPrefix(`/`)" + traefik.http.routers.changedetection.tls: "true" + traefik.http.routers.changedetection.tls.certresolver: hetzner + traefik.http.routers.changedetection.priority: 90 + traefik.http.routers.changedetection.middlewares: changedetection-auth + traefik.http.routers.changedetection.service: changedetection + + traefik.http.middlewares.changedetection-auth.forwardauth.address: "http://authentik-proxy:9000/outpost.goauthentik.io/auth/traefik" + traefik.http.middlewares.changedetection-auth.forwardauth.trustForwardHeader: true + traefik.http.middlewares.changedetection-auth.forwardauth.authResponseHeaders: X-authentik-username,X-authentik-groups,X-authentik-entitlements,X-authentik-email,X-authentik-name + + restart: unless-stopped + depends_on: + browser-sockpuppet-chrome: + condition: service_started + + + browser-sockpuppet-chrome: + hostname: browser-sockpuppet-chrome + image: dgtlmoon/sockpuppetbrowser:0.0.3 + networks: + - internal +# 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=1600 + - SCREEN_DEPTH=16 + - MAX_CONCURRENT_CHROME_PROCESSES=10 + +networks: + internal: + proxy: + name: traefik_exposed + external: true + +volumes: + changedetection-data: