docs: update documentation

This commit is contained in:
Maël Gangloff
2025-11-14 00:46:27 +01:00
parent 72e3d319e5
commit d244ec7980
10 changed files with 129 additions and 80 deletions

View File

@@ -40,6 +40,7 @@ export default defineConfig({
label: 'Developing', label: 'Developing',
items: [ items: [
{slug: 'developing/technical-stack'}, {slug: 'developing/technical-stack'},
{slug: 'developing/add-provider'},
{slug: 'developing/translation'}, {slug: 'developing/translation'},
{label: 'Contributing', autogenerate: {directory: 'developing/contributing'}} {label: 'Contributing', autogenerate: {directory: 'developing/contributing'}}
], ],

View File

@@ -2,12 +2,17 @@
title: Connector title: Connector
--- ---
import {LinkCard} from '@astrojs/starlight/components';
A Connector allows Domain Watchdog to communicate with an external domain registrars API to perform actions such as A Connector allows Domain Watchdog to communicate with an external domain registrars API to perform actions such as
domain registration. domain registration.
## Create a Connector ## Create a Connector
1. Choose an external API provider from the list of [supported registrars](../supported-registrar) 1. Choose an external API provider from the list of supported registrars.
<LinkCard title="Supported registrar" description="List of supported registrars for creating a Connector" href="../supported-registrar"/>
2. Enter the required information using the credentials obtained from your providers customer area 2. Enter the required information using the credentials obtained from your providers customer area
:::tip{icon="heart"} :::tip{icon="heart"}
@@ -15,7 +20,7 @@ A link allows you to directly access the Provider's page to retrieve this authen
::: :::
3. Review and consent to the required terms. As a reminder, you can delete a Connector at any time from your personal 3. Review and consent to the required terms. As a reminder, you can delete a Connector at any time from your personal
space. space.
4. Click the button to create your Connector. **Congratulations 🎉** 4. Click the button to create your Connector. **Congratulations 🎉**
## Legal considerations ## Legal considerations
@@ -30,7 +35,6 @@ In particular, you must consent to:
- Accept the providers API Terms of Use - Accept the providers API Terms of Use
- Confirm that you are of legal age to accept these terms - Confirm that you are of legal age to accept these terms
- Waive any right of withdrawal, as domain names are reserved immediately and made available to you
Since the terms of use may change at any time, the link to these terms is always accessible on the page listing the Since the terms of use may change at any time, the link to these terms is always accessible on the page listing the
Connectors. Connectors.

View File

@@ -2,13 +2,15 @@
title: Supported registrar title: Supported registrar
--- ---
import {LinkButton} from '@astrojs/starlight/components';
:::caution[Reminder] :::caution[Reminder]
* 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 * Under no circumstances will the owner of this project be held responsible for other cases over which he has no
control. control.
::: :::
## OVH ## OVH
@@ -21,6 +23,13 @@ title: Supported registrar
| Subsidiary | the country linked to the OVH subsidiary associated with your account | Required | | Subsidiary | the country linked to the OVH subsidiary associated with your account | Required |
| Pricing mode | choose whether you want to pay for a Premium domain name or only standard prices | Required | | Pricing mode | choose whether you want to pay for a Premium domain name or only standard prices | Required |
<LinkButton variant="secondary"
icon="external"
target="_blank"
href="https://api.ovh.com/createToken/?GET=/order/cart&GET=/order/cart/*&POST=/order/cart&POST=/order/cart/*&DELETE=/order/cart/*&GET=/domain/extensions">
Retrieve my token from the OVH website
</LinkButton>
## Gandi ## Gandi
| Field | Description | Required | | Field | Description | Required |
@@ -28,6 +37,13 @@ title: Supported registrar
| Token | your account authentication token | Required | | Token | your account authentication token | Required |
| Sharing ID | indicates the organization that will pay for the ordered product | Optional | | Sharing ID | indicates the organization that will pay for the ordered product | Optional |
<LinkButton variant="secondary"
icon="external"
target="_blank"
href="https://admin.gandi.net/organizations/account/pat">
Retrieve my token from the Gandi website
</LinkButton>
## Namecheap ## Namecheap
:::caution :::caution
@@ -40,6 +56,13 @@ connection. This information must also be entered in the configuration.
| API user | the API user as given by the Provider | Required | | API user | the API user as given by the Provider | Required |
| API key | the API key as given by the Provider | Required | | API key | the API key as given by the Provider | Required |
<LinkButton variant="secondary"
icon="external"
target="_blank"
href="https://ap.www.namecheap.com/settings/tools/apiaccess/">
Retrieve my token from the Namecheap website
</LinkButton>
## AutoDNS ## AutoDNS
:::caution :::caution
@@ -55,6 +78,13 @@ supported.
| Context | the "context" as given by the Provider | Required | | Context | the "context" as given by the Provider | Required |
| Contact ID | Contact ID of the domain name holder of the purchased domains | Required | | Contact ID | Contact ID of the domain name holder of the purchased domains | Required |
<LinkButton variant="secondary"
icon="external"
target="_blank"
href="https://en.autodns.com/domain-robot-api/">
Retrieve my token from the AutoDNS website
</LinkButton>
## Name.com ## Name.com
:::caution :::caution
@@ -67,6 +97,13 @@ supported.
| Username | the account username | Required | | Username | the account username | Required |
| Token | your account authentication token | Required | | Token | your account authentication token | Required |
<LinkButton variant="secondary"
icon="external"
target="_blank"
href="https://www.name.com/account/settings/api">
Retrieve my token from the Name.com website
</LinkButton>
## Custom EPP server ## Custom EPP server
This type of connector allows you to directly link your instance to a registry via the EPP protocol. This type of connector allows you to directly link your instance to a registry via the EPP protocol.

View File

@@ -22,8 +22,3 @@ A confirmation email will be sent to you to verify your email address.
## Create a Watchlist ## Create a Watchlist
## Create a Connector ## Create a Connector
## TLD list
## ICANN-accredited registrar list

View File

@@ -0,0 +1,3 @@
---
title: ICANN Registrar list
---

View File

@@ -0,0 +1,3 @@
---
title: TLD list
---

View File

@@ -5,11 +5,11 @@ title: Watchlist
A Watchlist is a list of domain names, triggers and possibly an API connector. They allow you to follow the life of the 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. listed domain names and send you a notification when a change has been detected.
If a domain has expired and a connector is linked to the Watchlist, then Domain Watchdog will try to order it via the If a domain has expired and a connector is linked to the Watchlist, then an order attempt will be made though the
connector provider's API. Connector provider's API.
:::note :::note
If the same domain name is present on several Watchlists, on the same principle as the raise condition, it is not If the same domain name is present on several Watchlists, on the same principle as the race condition, it is not
possible to predict in advance which user will win the domain name. The choice is left to chance... possible to predict in advance which user will win the domain name. The choice is left to chance...
::: :::
@@ -25,7 +25,5 @@ Now, it's your turn to create a Watchlist!
## Limitations ## Limitations
Depending on the instance configuration, there are several limitations to frame user behavior: Depending on the instance configuration, there are several limitations to frame user behavior.
* `LIMIT_MAX_WATCHLIST` : Maximum number of Watchlists that can be created
* `LIMIT_MAX_WATCHLIST_DOMAINS` : Maximum number of domain names for each Watchlist

View File

@@ -4,7 +4,6 @@ title: Configuration
import {LinkCard} from '@astrojs/starlight/components'; import {LinkCard} from '@astrojs/starlight/components';
## Docker
<LinkCard title="Install with Docker" href="../docker-install"/> <LinkCard title="Install with Docker" href="../docker-install"/>
## Environment variables ## Environment variables

View File

@@ -2,9 +2,12 @@
title: Install with Docker title: Install with Docker
--- ---
1. Download the [docker-compose.yml](https://github.com/maelgangloff/domain-watchdog/blob/develop/docker-compose.yml) import {LinkCard} from '@astrojs/starlight/components';
and modify it as needed
1. Download the [docker-compose.yml](https://github.com/maelgangloff/domain-watchdog/blob/develop/docker-compose.yml) and modify it as needed
2. Download the [.env](https://github.com/maelgangloff/domain-watchdog/blob/develop/.env) and modify it as needed 2. Download the [.env](https://github.com/maelgangloff/domain-watchdog/blob/develop/.env) and modify it as needed
<LinkCard title="Configuration" description="List of environment variables" href="../configuration/#environment-variables"/>
3. Add static files to customize your instance (under `public/content`) 3. Add static files to customize your instance (under `public/content`)
4. Pull the latest version of the Domain Watchdog image from Docker Hub 4. Pull the latest version of the Domain Watchdog image from Docker Hub
@@ -19,3 +22,4 @@ 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.

View File

@@ -2,6 +2,8 @@
title: Manual Install title: Manual Install
--- ---
import {LinkCard} from '@astrojs/starlight/components';
## Installation ## Installation
To deploy a Domain Watchdog instance, please refer to the Symfony documentation To deploy a Domain Watchdog instance, please refer to the Symfony documentation
@@ -23,60 +25,63 @@ Clone the repository:
```shell ```shell
git clone https://github.com/maelgangloff/domain-watchdog.git git clone https://github.com/maelgangloff/domain-watchdog.git
``` ```
#### Backend #### Backend
1. Install dependencies: 1. Install dependencies:
```shell ```shell
composer install composer install
``` ```
2. Set up your environment variables: 2. Set up your environment variables:
```shell ```shell
cp .env .env.local cp .env .env.local
``` ```
<LinkCard title="Configuration" description="List of environment variables" href="../configuration"/>
3. Generate the cryptographic key pair for the JWT signature 3. Generate the cryptographic key pair for the JWT signature
```shell ```shell
php bin/console lexik:jwt:generate-keypair php bin/console lexik:jwt:generate-keypair
``` ```
4. Run database migrations: 4. Run database migrations:
```shell ```shell
php bin/console doctrine:migrations:migrate php bin/console doctrine:migrations:migrate
``` ```
5. Start the Symfony server: 5. Start the Symfony server:
```shell ```shell
symfony server:start symfony server:start
``` ```
6. Build assets: 6. Build assets:
```shell ```shell
php bin/console assets:install 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) 7. Don't forget to set up workers to process the [message queue](https://symfony.com/doc/current/messenger.html)
#### Frontend #### Frontend
1. Install dependencies: 1. Install dependencies:
```shell ```shell
yarn install yarn install
``` ```
2. Generate language files: 2. Generate language files:
```shell ```shell
yarn run ttag:po2json yarn run ttag:po2json
``` ```
3. Make the final build: 3. Make the final build:
```shell ```shell
yarn build yarn build
``` ```
4. Add and modify the following files as you wish: 4. Add and modify the following files as you wish:
~~~ ~~~
public/content/home.md public/content/home.md
public/content/privacy.md public/content/privacy.md
public/content/tos.md public/content/tos.md
public/content/faq.md public/content/faq.md
public/images/icons-512.png public/images/icons-512.png
public/images/banner.png public/images/banner.png
public/favicon.ico public/favicon.ico
~~~ ~~~
## Update ## Update
@@ -86,38 +91,38 @@ Fetch updates from the remote repository:
```shell ```shell
git pull origin master git pull origin master
``` ```
### Backend ### Backend
1. Install dependencies: 1. Install dependencies:
```shell ```shell
composer install composer install
``` ```
2. Run database migrations: 2. Run database migrations:
```shell ```shell
php bin/console doctrine:migrations:migrate php bin/console doctrine:migrations:migrate
``` ```
3. Clearing the Symfony cache: 3. Clearing the Symfony cache:
```shell ```shell
php bin/console cache:clear php bin/console cache:clear
``` ```
4. Build assets: 4. Build assets:
```shell ```shell
php bin/console assets:install php bin/console assets:install
``` ```
### Frontend ### Frontend
1. Install dependencies: 1. Install dependencies:
```shell ```shell
yarn install yarn install
``` ```
2. Generate language files: 2. Generate language files:
```shell ```shell
yarn run ttag:po2json yarn run ttag:po2json
``` ```
3. Make the final build: 3. Make the final build:
```shell ```shell
yarn build yarn build
``` ```