domain-watchdog-worker

domain-watchdog-worker

Docker app from DevlinDelFuego's Repository

Overview

Background worker for Domain Watchdog. Processes RDAP lookups, domain drop attempts, and async queue tasks.

Must be deployed alongside the domain-watchdog container. All connection strings must match exactly.

Domain Watchdog

Domain Watchdog

Your companion in the quest for domain names 🔍
domainwatchdog.eu »


Domain Watchdog is an app that uses RDAP to collect publicly available info about domains, track their history, and purchase them.
For more information please check out the documentation !

Why use it?

  • Historical Tracking: Know the history of a domain name, from its inception to its release into the public domain.
  • Detailed Monitoring: Follow the evolution of a domain name and the entities that manage it in detail.
  • Auto-purchase Domain: You want the domain name of your dreams, but it is already taken? Domain Watchdog detects the deletion of the domain name on WHOIS and can trigger the purchase of the domain name via a provider's API

Although the RDAP and WHOIS protocols allow you to obtain precise information about a domain, it is not possible to perform a reverse search to discover a list of domain names associated with an entity. Additionally, accessing a detailed history of events (ownership changes, renewals, etc.) is not feasible with these protocols.

Install

[!TIP] For more details on the installation procedure, please refer to the documentation.

Docker Deployment

  1. Download the docker-compose.yml and modify it as needed
  2. Download the .env and modify it as needed
  3. Add static files to customize your instance (under public/content)
  4. Pull the latest version of the Domain Watchdog image from Docker Hub
docker compose pull
  1. Start the project in production environment
docker compose up

By default, the container listens on http://localhost:8080, but you can configure this in environment variables.

Development and contributions

See the documentation for information on setting up a development environment and making your contributions.
To add a new provider, a dedicated page is available.

Security

Please see SECURITY.md.

License

This source code of this project is licensed under GNU Affero General Public License v3.0 or later. Contributions are welcome as long as they do not contravene the Code of Conduct.

Disclaimer

[!IMPORTANT]

  • Domain Watchdog is an opensource project distributed under GNU Affero General Public License v3.0 or later license
  • In the internal operation, everything is done to perform the least possible RDAP requests: rate limit, intelligent caching system, etc.
  • Please note that this project is NOT affiliated IN ANY WAY with the API Providers used to order domain names.
  • The project installers are responsible for the use of their own instance.
  • Under no circumstances will the owner of this project be held responsible for other cases over which he has no control.

Install domain-watchdog-worker on Unraid in a few clicks.

Find domain-watchdog-worker in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for domain-watchdog-worker Review the template variables and paths Click Install

Requirements

PostgreSQL container | Redis container | domain-watchdog (app) container | All on the same Docker network

Download Statistics

28,736
Total Downloads

Related apps

Explore more like this

Explore all

Details

Repository
maelgangloff/domain-watchdog:latest
Last Updated2026-04-25
First Seen2026-06-02

Runtime arguments

Network
bridge
Shell
sh
Privileged
false
Extra Params
--restart=unless-stopped --no-healthcheck

Template configuration

JWT PassphraseVariable

Must match the JWT Passphrase set in the domain-watchdog container.

Target
JWT_PASSPHRASE
App EnvironmentVariable

Leave as prod.

Target
APP_ENV
Default
prod
Value
prod
App SecretVariable

Must match the App Secret set in the domain-watchdog container.

Target
APP_SECRET
Worker Consumer NameVariable

Internal messenger identifier. Leave as worker.

Target
MESSENGER_CONSUMER_NAME
Default
worker
Value
worker
Database URLVariable

Must match the Database URL set in the domain-watchdog container exactly.

Target
DATABASE_URL
Default
postgresql://app:password@postgresql:5432/domainwatchdog?serverVersion=16&charset=utf8
Value
postgresql://app:password@postgresql:5432/domainwatchdog?serverVersion=16&charset=utf8
Redis Async DSNVariable

Must match the domain-watchdog container setting.

Target
MESSENGER_ASYNC_TRANSPORT_DSN
Default
redis://redis:6379/messages?lazy=1
Value
redis://redis:6379/messages?lazy=1
Redis RDAP Low DSNVariable

Must match the domain-watchdog container setting.

Target
MESSENGER_RDAP_LOW_TRANSPORT_DSN
Default
redis://redis:6379/messages-rdap-low?lazy=1
Value
redis://redis:6379/messages-rdap-low?lazy=1
Redis RDAP High DSNVariable

Must match the domain-watchdog container setting.

Target
MESSENGER_RDAP_HIGH_TRANSPORT_DSN
Default
redis://redis:6379/messages-rdap-high?lazy=1
Value
redis://redis:6379/messages-rdap-high?lazy=1
Redis Lock DSNVariable

Must match the domain-watchdog container setting.

Target
LOCK_DSN
Default
redis://redis:6379
Value
redis://redis:6379