diff --git a/INSTALL.md b/INSTALL.md index c6926e6..740e8b4 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -7,7 +7,7 @@ on [How to deploy a Symfony application](https://symfony.com/doc/current/deploym ### Prerequisites -- PHP 8.2 or higher +- 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. diff --git a/README.md b/README.md index ae76943..576f20c 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@
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 [the wiki](https://github.com/maelgangloff/domain-watchdog/wiki) ! +For more information please check out [the documentation](https://domainwatchdog.eu) ! ## Why use it? @@ -20,23 +20,27 @@ detailed history of events (ownership changes, renewals, etc.) is not feasible w ## Install > [!TIP] -> For more details on the installation procedure, please refer to [INSTALL.md](/INSTALL.md). +> For more details on the installation procedure, please refer to the documentation. ### Docker Deployment -1. Clone the repository -2. Modify environment variables (.env) and add static files to customize your instance (see [INSTALL.md](/INSTALL.md)) -3. Pull the latest version of the Domain Watchdog image from Docker Hub. - ```shell - docker compose pull - ``` -4. Start the project in production environment. If you want, you can also build the Docker image to use yourself. - ```shell - docker compose up - ``` +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 +3. Add static files to customize your instance (under `public/content`) +4. Pull the latest version of the Domain Watchdog image from Docker Hub + +```shell +docker compose pull +``` + +5. Start the project in production environment + +```shell +docker compose up +``` By default, the container listens on http://localhost:8080, but you can configure this in environment variables. -See the [Docker Compose file](./docker-compose.yml). ## Features diff --git a/docs/src/content/docs/en/self-hosting/manual-install.md b/docs/src/content/docs/en/self-hosting/manual-install.md new file mode 100644 index 0000000..3a802b2 --- /dev/null +++ b/docs/src/content/docs/en/self-hosting/manual-install.md @@ -0,0 +1,123 @@ +--- +title: Manual Install +--- + +## 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 + ```