# Nginx Reverse-Proxy Ce repo contient les fichiers et répertoires de base pour nginx reverse-proxy dockerizé. Ce projet est un simple reverse-proxy permettant facilement et automatiquement de générer des confs + certificats LE sur simple démarrage de containers (Avec les variable env correctes) # Démarrer ## Prérequis La stack utilise un réseau privé spécifique, dans lequel doivent se trouver les container pour 1. Déclencher la création d'une config particulière 2. Être joignable par le reverse pour qu'ils soit atteignable depuis l'extérieur Il faut donc d'abord créer ce réseau : docker network create reverse-proxy Il faut aussi s'assurer qu'aucun autre container ou service n'utilise les ports 80 et 443 ## Installation Il suffit de cloner le repo et de s'assurer que les fichiers nginx.tmpl et docker-compose.yml sont bien présents. git clone https://git.caliko.net/dtokarz/docker-reverse-proxy.git S'assurer également que les répertoires suivants sont présents : > certs > conf.d > html > vhost.d ## Démarrage Une fois les fichiers présents, il suffit de lancer la stack docker-compose up -d Si tout est correct, trois conteneurs seront up > reverse > reverse-gen > reverse-letsencrypt ## Reverse-proxiser un conteneur Pour que le reverse ait la connaissance d'un conteneur à proxiser, il faut que ce dernier ait certaines variables d'environnement associées. Dans un docker-compose, par exemple : --- version: "2.1" services: unifi-controller: image: lscr.io/linuxserver/unifi-controller container_name: unifi-controller environment: - PUID=1000 - PGID=1000 - MEM_LIMIT=1024 #optional - MEM_STARTUP=1024 #optional - VIRTUAL_HOST=unifi.infra.oxyline.dev - VIRTUAL_PORT=8443 - VIRTUAL_PROTO=https - LETSENCRYPT_HOST=unifi.infra.oxyline.dev - LETSENCRYPT_EMAIL=tokarz.dorian@gmail.com volumes: - ./data:/config ports: - 3478:3478/udp - 10001:10001/udp - 8080:8080 - 8443:8443 - 1900:1900/udp #optional - 8843:8843 #optional - 8880:8880 #optional - 6789:6789 #optional - 5514:5514/udp #optional restart: unless-stopped networks: default: external: name: reverse-proxy