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,certbotet la gestion des liens danssites-enabled)
Déploiement
-
Récupérez le code source dans le répertoire cible (par exemple
/srv/proxymanager) -
Installez les dépendances :
composer install --no-dev --optimize-autoloader -
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.