Erugo À propos Documentation Commencer

Configuration du proxy inverse

Un proxy inverse se place devant Erugo et gère le chiffrement SSL/TLS, vous permettant d'accéder à votre instance de manière sécurisée via HTTPS avec un domaine personnalisé.

Pourquoi utiliser un proxy inverse ?

Un proxy inverse fournit le chiffrement HTTPS, le support de domaines personnalisés, et peut gérer plusieurs services sur le même serveur. C'est essentiel pour tout déploiement public.

Avant de commencer

Vous aurez besoin de :

  • Un nom de domaine — Pointé vers l'adresse IP de votre serveur
  • Erugo en cours d'exécution — En suivant le guide de démarrage rapide
  • Ports 80 et 443 disponibles — Pour le trafic HTTP et HTTPS

Option 1 : Nginx Proxy Manager

Nginx Proxy Manager (NPM) fournit une interface web pour gérer les proxys inverses avec génération automatique de certificats SSL. C'est l'option la plus simple pour la plupart des utilisateurs.

Installer Nginx Proxy Manager

Créez un nouveau répertoire et un fichier docker-compose pour NPM :

Terminal
mkdir nginx-proxy-manager && cd nginx-proxy-manager
docker-compose.yml
services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      - '80:80'
      - '443:443'
      - '81:81'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
    networks:
      - nginx_internal_network

networks:
  nginx_internal_network:
    name: nginx_internal_network
    driver: bridge

Démarrez Nginx Proxy Manager :

Terminal
docker compose up -d

Accéder au panneau d'administration NPM

Ouvrez votre navigateur et allez à http://VOTRE_IP_SERVEUR:81

Identifiants de connexion par défaut :

Changez les identifiants immédiatement

Vous serez invité à les changer à la première connexion. Utilisez un mot de passe fort.

Mettre à jour la configuration Erugo

Modifiez votre docker-compose.yml Erugo pour vous connecter au réseau NPM et supprimer le mappage de port :

erugo/docker-compose.yml
services:
  app:
    image: wardy784/erugo:latest
    restart: unless-stopped
    container_name: erugo
    volumes:
      - ./erugo-storage:/var/www/html/storage
    networks:
      - nginx_internal_network

networks:
  nginx_internal_network:
    external: true

Redémarrez Erugo avec la nouvelle configuration :

Terminal
docker compose down && docker compose up -d

Ajouter un hôte proxy

Dans le panneau d'administration NPM :

  1. Cliquez sur HostsProxy Hosts
  2. Cliquez sur Add Proxy Host
  3. Configurez l'onglet Details :
Paramètre Valeur
Domain Names Votre domaine (ex : fichiers.exemple.com)
Scheme http
Forward Hostname / IP erugo
Forward Port 80
Websockets Support Activé
Block Common Exploits Activé
Dialogue de configuration d'hôte proxy Nginx Proxy Manager montrant les paramètres de domaine, schéma, nom d'hôte de transfert et port
Configurez les détails de l'hôte proxy dans le panneau d'administration NPM

Configurer SSL

  1. Cliquez sur l'onglet SSL
  2. Sélectionnez Request a new SSL Certificate
  3. Activez Force SSL
  4. Activez HTTP/2 Support
  5. Entrez votre e-mail pour les notifications Let's Encrypt
  6. Acceptez les conditions d'utilisation
  7. Cliquez sur Save
Dialogue de configuration SSL Nginx Proxy Manager montrant les options de demande de certificat et les paramètres Let's Encrypt
Configurez les paramètres du certificat SSL dans l'onglet SSL
Terminé !

Votre instance Erugo est maintenant accessible à https://fichiers.exemple.com (votre domaine). Les certificats SSL se renouvelleront automatiquement.

Option 2 : Caddy

Caddy est un serveur web moderne avec HTTPS automatique. Il est plus simple à configurer que Nginx mais n'a pas d'interface web.

Caddyfile
fichiers.exemple.com { 
    reverse_proxy erugo:80
}
docker-compose.yml
services:
  caddy:
    image: caddy:latest
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile
      - ./caddy_data:/data
      - ./caddy_config:/config
    networks:
      - erugo_network

networks:
  erugo_network:
    external: true

Caddy obtient et renouvelle automatiquement les certificats SSL de Let's Encrypt.

Option 3 : Traefik

Traefik est un proxy inverse puissant conçu pour les environnements conteneurisés. Il découvre automatiquement les services et configure le routage.

docker-compose.yml (Traefik)
services:
  traefik:
    image: traefik:v3.0
    restart: unless-stopped
    command:
      - "--api.insecure=true"
      - "--providers.docker=true"
      - "--entrypoints.web.address=:80"
      - "--entrypoints.websecure.address=:443"
      - "--certificatesresolvers.letsencrypt.acme.httpchallenge=true"
      - "--certificatesresolvers.letsencrypt.acme.httpchallenge.entrypoint=web"
      - "[email protected]"
      - "--certificatesresolvers.letsencrypt.acme.storage=/letsencrypt/acme.json"
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - ./letsencrypt:/letsencrypt
    networks:
      - erugo_network

networks:
  erugo_network:
    external: true

Ajoutez des labels à votre service Erugo pour activer le routage Traefik :

Labels Erugo pour Traefik
services:
  app:
    image: wardy784/erugo:latest
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.erugo.rule=Host(`fichiers.exemple.com`)"
      - "traefik.http.routers.erugo.entrypoints=websecure"
      - "traefik.http.routers.erugo.tls.certresolver=letsencrypt"
    networks:
      - erugo_network

Mettre à jour les paramètres Erugo

Après avoir configuré votre proxy inverse, mettez à jour l'URL de l'application dans les paramètres d'Erugo :

  1. Connectez-vous à Erugo en tant qu'administrateur
  2. Allez dans ParamètresGénéral
  3. Définissez URL de l'application sur votre domaine (ex : https://fichiers.exemple.com)
  4. Enregistrez les modifications
Important

L'URL de l'application est utilisée pour générer les liens de partage dans les e-mails. Assurez-vous qu'elle est correctement définie, sinon les destinataires ne pourront pas accéder aux fichiers partagés.