---
title: "Installation"
weight: 10
description: "Déploiement de DoliProxy, configuration de l'environnement, premier administrateur et tâches planifiées."
---

# Installation

DoliProxy est une application Laravel. Contrairement à un module Dolibarr, elle se déploie sur un serveur dédié qui héberge également Nginx.

## Prérequis serveur

- PHP 8.2 ou supérieur avec les extensions habituelles de Laravel
- Composer
- MariaDB (production) ou SQLite (tests uniquement)
- Nginx installé sur le même serveur
- Un compte système autorisé à recharger Nginx via `sudo` (règles restreintes à `nginx -t`, `systemctl reload nginx`, `certbot` et la gestion des liens dans `sites-enabled`)

## Déploiement

1. Récupérez le code source dans le répertoire cible (par exemple `/srv/proxymanager`)
2. Installez les dépendances :

    ```bash
    composer install --no-dev --optimize-autoloader
    ```

3. Copiez le fichier d'exemple d'environnement et générez la clé applicative :

    ```bash
    cp .env.example .env
    php artisan key:generate
    ```

## Configuration de l'environnement

Éditez le fichier `.env` pour renseigner les paramètres essentiels.

### Base de données

En production, utilisez MariaDB :

```
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=doliproxy
DB_USERNAME=doliproxy
DB_PASSWORD=votre_mot_de_passe
```

### Intégration Dolibarr

Pour la facturation et la synchronisation des plans (voir [Abonnements](/doliproxy/abonnements)) :

```
DOLIBARR_SERVER_URI=https://dolibarr.example.com/
DOLIBARR_API_KEY=votre_cle_api
```

### Hébergement PWA

```
PWA_BASE_DOMAIN=doliproxy.fr
PWA_SERVER_IP=203.0.113.10
PWA_SERVER_IPV6=
PWA_PURGE_DELAY_DAYS=90
```

## Création des tables

Appliquez les migrations pour créer le schéma de base :

```bash
php artisan migrate --force
```

Les tables de motifs (scanners malveillants, bots) sont pré-remplies automatiquement par les migrations.

## Premier administrateur

Créez un utilisateur puis définissez son mot de passe. Le rôle `super_admin` donne accès à l'ensemble du panneau d'administration :

```bash
php artisan user:set-password --user=admin@example.com
```

Attribuez ensuite le rôle `super_admin` à cet utilisateur (voir [Prise en main](/doliproxy/prise-en-main)).

## Tâches planifiées

De nombreuses fonctions (blocage automatique d'IP, synchronisation des logs, vérification de santé, rappels d'essai, rapports) reposent sur l'ordonnanceur Laravel. Ajoutez une seule ligne au cron du serveur :

```
* * * * * cd /srv/proxymanager && php artisan schedule:run >> /dev/null 2>&1
```

Vous pouvez lister les tâches enregistrées et leur fréquence :

```bash
php artisan schedule:list
```

> **Attention** : sans cette ligne de cron, le blocage automatique d'IP, la synchronisation des logs et les vérifications de santé ne s'exécutent pas.

## Accès au panneau

Une fois l'application servie par un serveur web, connectez-vous à l'URL configurée dans `APP_URL`. La documentation de l'API est publique et accessible à l'adresse `/docs/api`.
