Skip to content

Latest commit

 

History

History
76 lines (56 loc) · 2.2 KB

README.md

File metadata and controls

76 lines (56 loc) · 2.2 KB

Test, build and publish Docker Pulls

Dead Link Checker (DeLiC)

Dead link checker written in Golang using Colly.

1. Config

Full example

# Required
sites:
  - url: https://jensw.be
    ignored_links: # Optional, list of regex's which should be ignored
      - ^https://jensw.be/don't-visit-me.*
    notify: # Optional, send notification to these notifiers by name
      - email_technical_en

# Optional, can also be set as environment variable VERBOSE.
# Default is False.
verbose: False

# Optional, run every night.
# If omitted or empty, DeLiC will check the provided sites once and exit.
cron: "0 0 * * *"

# Optional, endpoint to send GET request to on a successful run.
# If omitted or empty, health check request will be skipped.
health_check:
  url: "https://example.com/delic-health-check"

# Optional, see https://github.com/containrrr/shoutrrr/blob/main/docs/services/overview.md for supported URL's.
# If using "smtp", make sure to set option "usehtml=true".
notifiers:
  - name: email_technical_en
    url: smtp://smpt4dev:smpt4dev@localhost:8025/?from=delic@localhost&to=admin1@localhost,admin2@localhost&usehtml=true&subject=Broken%20links%20found
    template_name: "technical_en" # Currently only "technical_en" and "simple_nl" supported

Minimal example

Probably only useful with --json flag.

sites:
  - url: https://jensw.be

2. Run DeLiC

By default, DeLiC tries to read the config file at ./config.yml.

docker run -v /path/to/config.yml:/config.yml:ro,z jenswbe/dead-link-checker

3. CLI arguments

-c, --config    Location of the config file
    --json      Print all site reports as JSON to stdout
    --now       Overrides cron and forces an immediate check
-v, --verbose   Enable verbose output

Development

Running E2E tests

cd e2e
docker compose up -d
go test --tags e2e ./...