La première version d'AFD, en mode minimum, afin de pouvoir commencer à faire tourner des trucs, en attendant que des vrais admins développent un truc à la côte.

 

Requirement

  1. Debian 8
  2. Curl et Git:

    apt-get install curl git
  3. Docker :

    apt-key adv --keyserver hkp://pgp.mit.edu:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
    echo "deb https://apt.dockerproject.org/repo debian-wheezy main" > /etc/apt/sources.list.d/docker.list
    apt-get update
    apt-get install docker-engine
    service docker start

L'architecture des dossiers

/
+---data
|    +--- hosting
|    |   +--- site1
|    |   +--- site2
|    |   |   +--- conf
|    |   |   |   +--- Fichier de config Nginx
|    |   |   +--- www
|    |   |   |   +--- Fichiers sources
|    |   |   +--- logs
|    |   |   |   +--- Fichiers de logs
|    |   +--- htpasswd
|    |   |   +--- Fichiers de mots de passe
|    |   +--- certs
|    |   |   +--- Fichiers de certificat

 

Containers

Le reverse proxy :

On en utilise un qui est magique : jwilder/nginx-proxy
Surtout RTFM, elle est super complète.

 

sudo docker run -d --name reverse --restart=always -p 80:80 -p 443:443 -v /data/hosting/htpasswd:/etc/nginx/htpasswd -v /data/hosting/certs:/etc/nginx/certs -v /var/run/docker.sock:/tmp/docker.sock:ro jwilder/nginx-proxy

Métriques simples :

Pour avoir un peu de métriques, j'utilise le projet OpenSource Cadvisor

sudo docker run --name=cadvisor --volume=/:/rootfs:ro --volume=/var/run:/var/run:rw --volume=/sys:/sys:ro --restart=always --volume=/var/lib/docker/:/var/lib/docker:ro --publish=:8080 -e VIRTUAL_HOST=NOM_VM.gorgu.net --detach=true --name=cadvisor google/cadvisor:latest

 

Container PHP :

Moi j'utilise ngineered/nginx-php-fpm, en version debian. Il est super complet, super pratique. Idem RTFM.

sudo docker run -d -p 80 -p 443 --name site1 --restart=always -e 
VIRTUAL_HOST=site1.gadz.org -e TEMPLATE_NGINX_HTML=0 -v /data/hosting/site1/www:/usr/share/nginx/html -v /data/hosting/site1/logs/:/var/log/nginx  richarvey/nginx-php-fpm:debian

Bien entendu, il faut mapper le dossier conf, si il faut une conf spéciale nginx. Pour avoir un phpinfo, oubliez de monter les sources, c'est automatique !

N'hésitez pas à rajouter les containers que vous utilisez !

  • Aucune étiquette