docs: update README.md

This commit is contained in:
Maël Gangloff 2025-11-16 12:41:15 +01:00
parent 5bf2c2d9cb
commit 7d8436f138
No known key found for this signature in database
GPG Key ID: 11FDC81C24A7F629
2 changed files with 14 additions and 184 deletions

View File

@ -1,121 +0,0 @@
# Installation and Update
## Installation
To deploy a Domain Watchdog instance, please refer to the Symfony documentation
on [How to deploy a Symfony application](https://symfony.com/doc/current/deployment.html).
### Prerequisites
- PHP 8.4 or higher
- PostgreSQL 16 or higher
In order to retrieve information about domain names, Domain Watchdog will query the RDAP server responsible for the TLD.
It is crucial that the Domain Watchdog instance is placed in a clean environment from which these servers can be
queried.
In particular, the DNS servers and root certificates of the system must be trusted.
### Steps
Clone the repository:
```shell
git clone https://github.com/maelgangloff/domain-watchdog.git
```
#### Backend
1. Install dependencies:
```shell
composer install
```
2. Set up your environment variables:
```shell
cp .env .env.local
```
3. Generate the cryptographic key pair for the JWT signature
```shell
php bin/console lexik:jwt:generate-keypair
```
4. Run database migrations:
```shell
php bin/console doctrine:migrations:migrate
```
5. Start the Symfony server:
```shell
symfony server:start
```
6. Build assets:
```shell
php bin/console assets:install
```
7. Don't forget to set up workers to process the [message queue](https://symfony.com/doc/current/messenger.html)
#### Frontend
1. Install dependencies:
```shell
yarn install
```
2. Generate language files:
```shell
yarn run ttag:po2json
```
3. Make the final build:
```shell
yarn build
```
4. Add and modify the following files as you wish:
~~~
public/content/home.md
public/content/privacy.md
public/content/tos.md
public/content/faq.md
public/images/icons-512.png
public/images/banner.png
public/favicon.ico
~~~
## Update
**Any updates are your responsibility. Make a backup of the data if necessary.**
Fetch updates from the remote repository:
```shell
git pull origin master
```
### Backend
1. Install dependencies:
```shell
composer install
```
2. Run database migrations:
```shell
php bin/console doctrine:migrations:migrate
```
3. Clearing the Symfony cache:
```shell
php bin/console cache:clear
```
4. Build assets:
```shell
php bin/console assets:install
```
### Frontend
1. Install dependencies:
```shell
yarn install
```
2. Generate language files:
```shell
yarn run ttag:po2json
```
3. Make the final build:
```shell
yarn build
```

View File

@ -3,7 +3,8 @@
<p align="center">Your companion in the quest for domain names 🔍 <br/><a href="https://domainwatchdog.eu">domainwatchdog.eu »</a></p> <p align="center">Your companion in the quest for domain names 🔍 <br/><a href="https://domainwatchdog.eu">domainwatchdog.eu »</a></p>
<br/> <br/>
Domain Watchdog is an app that uses RDAP to collect publicly available info about domains, track their history, and purchase them. 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](https://domainwatchdog.eu) ! For more information please check out [the documentation](https://domainwatchdog.eu) !
## Why use it? ## Why use it?
@ -20,7 +21,7 @@ detailed history of events (ownership changes, renewals, etc.) is not feasible w
## Install ## Install
> [!TIP] > [!TIP]
> For more details on the installation procedure, please refer to the documentation. > For more details on the installation procedure, please refer to [the documentation](https://domainwatchdog.eu).
### Docker Deployment ### Docker Deployment
@ -42,55 +43,20 @@ docker compose up
By default, the container listens on http://localhost:8080, but you can configure this in environment variables. By default, the container listens on http://localhost:8080, but you can configure this in environment variables.
## Features ## Development and contributions
### Auto-purchase domain See [the documentation](https://domainwatchdog.eu) for information on setting up a development environment and making
your contributions.
To add a new provider, a [dedicated page](https://domainwatchdog.eu/en/developing/add-provider/) is available.
A connector is a way to order a domain name. It is important to mention that this project does not act as a payment ## Security
intermediary.
Indeed, the user's credentials are directly used to enable the purchase via the provider's API. To this end, the user
gives his consent to define the legal framework in which the use of his account with the provider's API will be made.
The table below lists the supported API connector providers: Please see [SECURITY.md](./SECURITY.md).
| Provider | Supported | ## License
|:--------------------------------------------------------------------------:|:----------------:|
| [OVH](https://api.ovh.com) | **Yes** |
| [GANDI](https://api.gandi.net/docs/domains/) | **Yes** |
| [NAMECHEAP](https://www.namecheap.com/support/api/methods/domains/create/) | **Yes** |
| [AUTODNS](https://cloud.autodns.com/) | **Yes** |
| [NAME.COM](https://www.name.com/en-en/api-docs/) | **Yes** |
| Custom EPP Server | **EXPERIMENTAL** |
If a domain has expired and a connector is linked to the Watchlist, then Domain Watchdog will try to order it via the This source code of this project is licensed under *GNU Affero General Public License v3.0 or later*.
connector provider's API. Contributions are welcome as long as they do not contravene the Code of Conduct.
Note: If the same domain name is present on several Watchlists, it is not possible to predict in advance which user will
win the domain name. The choice is left to chance.
### Monitoring
![Watchlist Diagram](https://github.com/user-attachments/assets/c3454572-3ac5-4b39-bc5e-6b7cf72fab92)
A watchlist is a list of domain names, triggers and possibly an API connector.
They allow you to follow the life of the listed domain names and send you a notification when a change has been
detected.
A notification to the user is sent when a new event occurs on one of the domain names in the Watchlist. This can be an
email or a chat via Webhook (Slack, Mattermost, Discord, ...). An iCalendar export of domain events is possible.
### RDAP search
The latest version of the WHOIS protocol was standardized in 2004 by RFC 3912.[^1] This protocol allows anyone to
retrieve key information concerning a domain name, an IP address, or an entity registered with a registry.
ICANN launched a global vote in 2023 to propose replacing the WHOIS protocol with RDAP. As a result, registries and
registrars will no longer be required to support WHOIS from 2025 (*WHOIS Sunset Date*).[^2]
Domain Watchdog uses the RDAP protocol, which will soon be the new standard for retrieving information concerning domain
names.
## Disclaimer ## Disclaimer
@ -100,20 +66,5 @@ names.
caching system, etc. caching system, etc.
> * Please note that this project is NOT affiliated IN ANY WAY with the API Providers used to order domain names. > * 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. > * 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. > * Under no circumstances will the owner of this project be held responsible for other cases over which he has no
control.
## Useful documentation
> [!NOTE]
> - [RFC 7482 : Registration Data Access Protocol (RDAP) Query Format](https://datatracker.ietf.org/doc/html/rfc7482)
> - [RFC 7483 : JSON Responses for the Registration Data Access Protocol (RDAP)](https://datatracker.ietf.org/doc/html/rfc7483)
> - [RFC 7484 : Finding the Authoritative Registration Data (RDAP) Service](https://datatracker.ietf.org/doc/html/rfc7484)
## Licensing
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.
[^1]: RFC 3912 : WHOIS Protocol Specification. (2004). IETF Datatracker. https://datatracker.ietf.org/doc/html/rfc3912
[^2]: 2023 Global Amendments to the Base gTLD Registry Agreement (RA), Specification 13, and 2013 Registrar
Accreditation Agreement (RAA) - ICANN. (2023). https://www.icann.org/resources/pages/global-amendment-2023-en