77 lines
2.9 KiB
Django/Jinja
77 lines
2.9 KiB
Django/Jinja
services:
|
|
changedetection:
|
|
image: "ghcr.io/dgtlmoon/changedetection.io:{{ changedetection.version }}" #0.55.3
|
|
volumes:
|
|
- ./data/changedetection:/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.url }}`) && PathPrefix(`/preview`)"
|
|
traefik.http.routers.changedetection-diff.priority: 100
|
|
traefik.http.routers.changedetection-diff.service: changedetection
|
|
|
|
traefik.http.routers.changedetection.rule: "Host(`{{ changedetection.url }}`) && PathPrefix(`/`)"
|
|
traefik.http.routers.changedetection.tls: "true"
|
|
traefik.http.routers.changedetection.tls.certresolver: hetzner
|
|
traefik.http.routers.changedetection.priority: 90
|
|
traefik.http.routers.changedetection.service: changedetection
|
|
{% if changedetection.oidc.forwardauth_url | length > 0 -%}
|
|
traefik.http.routers.changedetection.middlewares: changedetection-auth
|
|
traefik.http.middlewares.changedetection-auth.forwardauth.address: "{{ changedetection.oidc.forwardauth_url }}"
|
|
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
|
|
{% endif %}
|
|
|
|
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
|