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',
items: [
{slug: 'developing/technical-stack'},
{slug: 'developing/add-provider'},
{slug: 'developing/translation'},
{label: 'Contributing', autogenerate: {directory: 'developing/contributing'}}
],

View File

@@ -2,12 +2,17 @@
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
domain registration.
## 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
:::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
space.
space.
4. Click the button to create your Connector. **Congratulations 🎉**
## Legal considerations
@@ -30,7 +35,6 @@ In particular, you must consent to:
- Accept the providers API Terms of Use
- 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
Connectors.

View File

@@ -2,13 +2,15 @@
title: Supported registrar
---
import {LinkButton} from '@astrojs/starlight/components';
:::caution[Reminder]
* 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.
:::
control.
:::
## OVH
@@ -21,6 +23,13 @@ title: Supported registrar
| 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 |
<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
| Field | Description | Required |
@@ -28,6 +37,13 @@ title: Supported registrar
| Token | your account authentication token | Required |
| 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
:::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 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
:::caution
@@ -55,6 +78,13 @@ supported.
| Context | the "context" as given by the Provider | 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
:::caution
@@ -64,8 +94,15 @@ supported.
| Field | Description | Required |
|----------|-----------------------------------|:--------:|
| Username | the account username | Required |
| Token | your account authentication token | Required |
| Username | the account username | 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

View File

@@ -22,8 +22,3 @@ A confirmation email will be sent to you to verify your email address.
## Create a Watchlist
## 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
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
connector provider's API.
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.
:::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...
:::
@@ -25,7 +25,5 @@ Now, it's your turn to create a Watchlist!
## 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';
## Docker
<LinkCard title="Install with Docker" href="../docker-install"/>
## Environment variables

View File

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

View File

@@ -2,6 +2,8 @@
title: Manual Install
---
import {LinkCard} from '@astrojs/starlight/components';
## Installation
To deploy a Domain Watchdog instance, please refer to the Symfony documentation
@@ -23,60 +25,63 @@ Clone the repository:
```shell
git clone https://github.com/maelgangloff/domain-watchdog.git
```
```
#### Backend
1. Install dependencies:
```shell
composer install
```
```shell
composer install
```
2. Set up your environment variables:
```shell
cp .env .env.local
```
```shell
cp .env .env.local
```
<LinkCard title="Configuration" description="List of environment variables" href="../configuration"/>
3. Generate the cryptographic key pair for the JWT signature
```shell
php bin/console lexik:jwt:generate-keypair
```
```shell
php bin/console lexik:jwt:generate-keypair
```
4. Run database migrations:
```shell
php bin/console doctrine:migrations:migrate
```
```shell
php bin/console doctrine:migrations:migrate
```
5. Start the Symfony server:
```shell
symfony server:start
```
```shell
symfony server:start
```
6. Build assets:
```shell
php bin/console assets:install
```
```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
```
```shell
yarn install
```
2. Generate language files:
```shell
yarn run ttag:po2json
```
```shell
yarn run ttag:po2json
```
3. Make the final build:
```shell
yarn 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
~~~
~~~
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
@@ -86,38 +91,38 @@ Fetch updates from the remote repository:
```shell
git pull origin master
```
```
### Backend
1. Install dependencies:
```shell
composer install
```
```shell
composer install
```
2. Run database migrations:
```shell
php bin/console doctrine:migrations:migrate
```
```shell
php bin/console doctrine:migrations:migrate
```
3. Clearing the Symfony cache:
```shell
php bin/console cache:clear
```
```shell
php bin/console cache:clear
```
4. Build assets:
```shell
php bin/console assets:install
```
```shell
php bin/console assets:install
```
### Frontend
1. Install dependencies:
```shell
yarn install
```
```shell
yarn install
```
2. Generate language files:
```shell
yarn run ttag:po2json
```
```shell
yarn run ttag:po2json
```
3. Make the final build:
```shell
yarn build
```
```shell
yarn build
```