All apps · 0 apps
domain-watchdog
Docker app from DevlinDelFuego's Repository
Overview
Requires an existing PostgreSQL and Redis container on the same Docker network.
Also deploy the domain-watchdog-worker container.
Before starting, create the database:
docker exec -it YOUR_POSTGRES_CONTAINER psql -U YOUR_USER -c "CREATE DATABASE domainwatchdog;"
Readme
View on GitHubDomain 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
- Download the docker-compose.yml and modify it as needed
- Download the .env and modify it as needed
- Add static files to customize your instance (under
public/content) - Pull the latest version of the Domain Watchdog image from Docker Hub
docker compose pull
- 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 on Unraid in a few clicks.
Find domain-watchdog 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.
Requirements
Categories
Download Statistics
Related apps
Explore more like this
Explore allDetails
maelgangloff/domain-watchdog:latestRuntime arguments
- Web UI
http://[IP]:[PORT:80]/- Network
bridge- Shell
sh- Privileged
- false
- Extra Params
--restart=unless-stopped
Template configuration
Port to access the Domain Watchdog web interface.
- Target
- 80
- Default
- 8080
- Value
- 8080
Internal Caddy state storage.
- Target
- /data
- Default
- /mnt/user/appdata/domain-watchdog/caddy/data
- Value
- /mnt/user/appdata/domain-watchdog/caddy/data
Internal Caddy configuration storage.
- Target
- /config
- Default
- /mnt/user/appdata/domain-watchdog/caddy/config
- Value
- /mnt/user/appdata/domain-watchdog/caddy/config
User-uploaded public content. Create a home.md file here to customize the landing page.
- Target
- /app/public/content
- Default
- /mnt/user/appdata/domain-watchdog/public/content
- Value
- /mnt/user/appdata/domain-watchdog/public/content
Passphrase used to encrypt JWT keypair. Generate with: openssl rand -hex 32 — If changing this on an existing install, regenerate keys with: docker exec domain-watchdog php /app/bin/console lexik:jwt:generate-keypair --overwrite
- Target
- JWT_PASSPHRASE
Leave as prod.
- Target
- APP_ENV
- Default
- prod
- Value
- prod
Random secret key. Generate with: openssl rand -hex 32
- Target
- APP_SECRET
Set to true if behind a reverse proxy with SSL. Set to false for plain HTTP direct access.
- Target
- HTTP_SECURE_COOKIE
- Default
- true
- Value
- true
Internal Caddy binding. Leave as :80.
- Target
- SERVER_NAME
- Default
- :80
- Value
- :80
Your server's outgoing public IP address. Required for some domain connectors/registrars.
- Target
- OUTGOING_IP
Allow new users to register. Set to false to lock down the instance.
- Target
- REGISTRATION_ENABLED
- Default
- true
- Value
- true
Require email verification on signup. Requires a working Mailer DSN.
- Target
- REGISTRATION_VERIFY_EMAIL
- Default
- false
- Value
- false
Full PostgreSQL connection string. Format: postgresql://USER:PASSWORD@CONTAINER_NAME:PORT/DATABASE?serverVersion=VERSION&charset=utf8
- 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 connection for async messages. Format: redis://CONTAINER_NAME:PORT/messages?lazy=1
- Target
- MESSENGER_ASYNC_TRANSPORT_DSN
- Default
- redis://redis:6379/messages?lazy=1
- Value
- redis://redis:6379/messages?lazy=1
Redis connection for low-priority RDAP messages.
- 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 connection for high-priority RDAP messages.
- 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 connection for distributed locking. Format: redis://CONTAINER_NAME:PORT
- Target
- LOCK_DSN
- Default
- redis://redis:6379
- Value
- redis://redis:6379
SMTP connection for email alerts. Example: smtp://user:pass@smtp.example.com:587 — Leave as null://null to disable.
- Target
- MAILER_DSN
- Default
- null://null
- Value
- null://null
Display name for outgoing notification emails.
- Target
- MAILER_SENDER_NAME
- Default
- Domain Watchdog
- Value
- Domain Watchdog
Sender address for outgoing notification emails.
- Target
- MAILER_SENDER_EMAIL
- Default
- notifications@example.com
- Value
- notifications@example.com
OAuth2/OIDC client ID. Leave blank to disable SSO.
- Target
- OAUTH_CLIENT_ID
OAuth2/OIDC client secret.
- Target
- OAUTH_CLIENT_SECRET
OAuth2 authorization endpoint URL.
- Target
- OAUTH_AUTHORIZATION_URL
OAuth2 token endpoint URL.
- Target
- OAUTH_TOKEN_URL
OAuth2 userinfo endpoint URL.
- Target
- OAUTH_USERINFO_URL
OAuth2 scopes to request. Example: openid profile email
- Target
- OAUTH_SCOPE
Automatically redirect to SSO login instead of showing the local login form.
- Target
- SSO_AUTO_REDIRECT
- Default
- false
- Value
- false