You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
112 lines
3.3 KiB
112 lines
3.3 KiB
version: '3.7'
|
|
services:
|
|
# Nginx reverse proxy container
|
|
# Reference:
|
|
# https://github.com/jwilder/nginx-proxy
|
|
nginx-proxy:
|
|
image: jwilder/nginx-proxy
|
|
container_name: nginx-proxy
|
|
restart: always
|
|
environment:
|
|
- DEFAULT_HOST=ecentrics.net
|
|
- ENABLE_IPV6=true
|
|
labels:
|
|
com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy: "true"
|
|
logging:
|
|
options:
|
|
max-size: '4m'
|
|
max-file: '10'
|
|
networks:
|
|
- janus_network
|
|
- concordia_staging_network
|
|
- concordia_production_network
|
|
ports:
|
|
- "80:80"
|
|
- "443:443"
|
|
volumes:
|
|
- /var/run/docker.sock:/tmp/docker.sock:ro
|
|
- ./volumes/nginx/conf:/etc/nginx/conf.d
|
|
- ./volumes/nginx/vhost:/etc/nginx/vhost.d
|
|
- ./volumes/nginx/html:/usr/share/nginx/html
|
|
- ./volumes/nginx/dhparam:/etc/nginx/dhparam
|
|
- ./volumes/nginx/certs:/etc/nginx/certs:ro
|
|
- ./nginx-reverse-proxy-confs/client-max-body-size.conf:/etc/nginx/conf.d/client-max-body-size.conf:ro
|
|
- ./nginx-reverse-proxy-confs/redirect.conf:/etc/nginx/conf.d/redirect.conf:ro
|
|
- ./nginx-reverse-proxy-confs/www.jenkins.ecentrics.net:/etc/nginx/vhost.d/www.jenkins.ecentrics.net_location:ro
|
|
|
|
# Letsencrypt automated creation, renewal and use of Let's Encrypt certificates
|
|
# Reference:
|
|
# https://github.com/JrCs/docker-letsencrypt-nginx-proxy-companion
|
|
letsencrypt:
|
|
image: jrcs/letsencrypt-nginx-proxy-companion
|
|
container_name: nginx-proxy-le
|
|
restart: always
|
|
depends_on:
|
|
- nginx-proxy
|
|
logging:
|
|
options:
|
|
max-size: '4m'
|
|
max-file: '10'
|
|
networks:
|
|
- janus_network
|
|
- concordia_staging_network
|
|
- concordia_production_network
|
|
volumes:
|
|
- ./volumes/nginx/conf:/etc/nginx/conf.d
|
|
- ./volumes/nginx/vhost:/etc/nginx/vhost.d
|
|
- ./volumes/nginx/html:/usr/share/nginx/html
|
|
- ./volumes/nginx/dhparam:/etc/nginx/dhparam
|
|
- ./volumes/nginx/certs:/etc/nginx/certs:rw
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
|
|
# Jenkins automation server, image bundled with Blue Ocean
|
|
# Reference:
|
|
# https://jenkins.io/doc/book/blueocean/
|
|
jenkins:
|
|
build:
|
|
dockerfile: ./Dockerfile
|
|
context: ./jenkins
|
|
image: ecentrics/janus
|
|
container_name: janus
|
|
restart: always
|
|
user: root
|
|
env_file:
|
|
- ./env/jenkins.env
|
|
ports:
|
|
- 8080:8080
|
|
secrets:
|
|
- jenkins_admin_username
|
|
- jenkins_admin_password
|
|
- jenkins_dockerhub_username
|
|
- jenkins_dockerhub_password
|
|
networks:
|
|
- janus_network
|
|
volumes:
|
|
- ./volumes/jenkins/log:/var/log/jenkins
|
|
- jenkins_data:/var/jenkins_home
|
|
- ./jenkins/downloads:/var/jenkins_home/downloads
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
- janus_common:/mnt/janus/common
|
|
|
|
# Networks in use
|
|
networks:
|
|
janus_network:
|
|
driver: bridge
|
|
concordia_staging_network:
|
|
driver: bridge
|
|
concordia_production_network:
|
|
driver: bridge
|
|
|
|
# Secrets in use
|
|
secrets:
|
|
jenkins_admin_username:
|
|
file: ./jenkins/secrets/adminUsername
|
|
jenkins_admin_password:
|
|
file: ./jenkins/secrets/adminPassword
|
|
jenkins_dockerhub_username:
|
|
file: ./jenkins/secrets/dockerhubUsername
|
|
jenkins_dockerhub_password:
|
|
file: ./jenkins/secrets/dockerhubPassword
|
|
volumes:
|
|
jenkins_data:
|
|
janus_common:
|
|
|