Nav apraksta

Dorian Tokarz 471dec4d9a change readme 2 gadi atpakaļ
certs d9ccd2eb71 ajout dummy files pour garder l'arborescence 2 gadi atpakaļ
conf.d d9ccd2eb71 ajout dummy files pour garder l'arborescence 2 gadi atpakaļ
html d9ccd2eb71 ajout dummy files pour garder l'arborescence 2 gadi atpakaļ
vhost.d d9ccd2eb71 ajout dummy files pour garder l'arborescence 2 gadi atpakaļ
README.md 471dec4d9a change readme 2 gadi atpakaļ
docker-compose.yml 6359aaa1f8 ajout fichiers de base 2 gadi atpakaļ
nginx.tmpl 6359aaa1f8 ajout fichiers de base 2 gadi atpakaļ

README.md

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