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 :

     composer install --no-dev --optimize-autoloader
  3. Copiez le fichier d'exemple d'environnement et générez la clé applicative :

     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) :

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 :

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 :

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

Attribuez ensuite le rôle super_admin à cet utilisateur (voir 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 :

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.