Unter Plesk 12.5 funktioniert die automatische Cert-Generierung ohne Probleme. Nun ist es an der Zeit dies in einer Docker Umgebung zu ermöglichen. Hierfür gibt es von jwilder den berühmten NGINX Reverse Proxy Container. Anbei das Beispiel mit Redmine.
Zuerst wird der Reverse Proxy gestartet.
1 |
docker run -d -p 80:80 -p 443:443 --name nginx -v /etc/nginx/conf.d -v /etc/nginx/vhost.d -v /usr/share/nginx/html -v /etc/ssl/certs:/etc/nginx/certs:ro nginx |
gefolgt von docker-gen. Dieser generiert proxy Configs und startet NGINX neu wenn ein Container gestoppt oder gestartet wird. Die nginx.tmpl gibt es hier.
1 |
docker run -d --name nginx-gen --volumes-from nginx -v /data/nginx/nginx.tmpl:/etc/docker-gen/templates/nginx.tmpl:ro -v /var/run/docker.sock:/tmp/docker.sock:ro jwilder/docker-gen -notify-sighup nginx -watch -only-exposed -wait 5s:30s /etc/docker-gen/templates/nginx.tmpl /etc/nginx/conf.d/default.conf |
nun der LetsEncrypt Teil.
1 |
docker run -d -e NGINX_DOCKER_GEN_CONTAINER=nginx-gen --volumes-from nginx -v /etc/ssl/certs:/etc/nginx/certs:rw -v /var/run/docker.sock:/var/run/docker.sock:ro jrcs/letsencrypt-nginx-proxy-companion |
Installation Postgres DB für Redmine
1 |
docker run --name=postgresql-redmine -d --env='DB_NAME=redmine_production' --env='DB_USER=redmine' --env='DB_PASS=irgendeinDBPa$$wort' --volume=/srv/docker/redmine/postgresql:/var/lib/postgresql sameersbn/postgresql:9.4-13 |
1 |
docker run --name=redmine -d -e VIRTUAL_HOST=redmine.buyenne.com -e LETSENCRYPT_HOST="redmine.buyenne.com" -e LETSENCRYPT_EMAIL="deine@letsencrypt.email" --link=postgresql-redmine:postgresql --publish=10083:80 --env='REDMINE_PORT=10083' --volume=/srv/docker/redmine/redmine:/home/redmine/data sameersbn/redmine:3.2.0-5 |