172 lines
7.7 KiB
YAML
172 lines
7.7 KiB
YAML
version: '3.9'
|
|
services:
|
|
|
|
nginx0:
|
|
image: "nginx"
|
|
container_name: "atelierportage.com"
|
|
restart: "always"
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.port=80"
|
|
- "traefik.http.routers.nginx.rule=Host(`atelierportage.com`, `www.atelierportage.com`)"
|
|
- "traefik.http.routers.nginx.tls=true"
|
|
- "traefik.http.routers.nginx.tls.certresolver=myresolver"
|
|
- "traefik.http.routers.http_catchall.rule=HostRegexp(`{any:.+}`)"
|
|
- "traefik.http.routers.http_catchall.entrypoints=web"
|
|
- "traefik.http.routers.http_catchall.middlewares=https_redirect"
|
|
- "traefik.http.middlewares.https_redirect.redirectscheme.scheme=https"
|
|
- "traefik.http.middlewares.https_redirect.redirectscheme.permanent=true"
|
|
- "traefik.http.middlewares.non_www.redirectregex.regex=^https://(?:www\\.)?(.+)"
|
|
- "traefik.http.middlewares.non_www.redirectregex.replacement=https://$${1}"
|
|
- "traefik.http.middlewares.non_www.redirectregex.permanent=true"
|
|
- "traefik.http.routers.nginx.middlewares=https_redirect@docker, non_www@docker"
|
|
volumes:
|
|
- "/docker/nginx/default.conf:/etc/nginx/conf.d/default.conf"
|
|
- "/var/www/atelierportage.com/public_html:/var/www/html"
|
|
links:
|
|
- php-fpm
|
|
- db
|
|
networks:
|
|
- traefikproxy
|
|
|
|
php-fpm:
|
|
build: .
|
|
volumes:
|
|
- "/var/www/atelierportage.com/public_html:/var/www/html"
|
|
networks:
|
|
- traefikproxy
|
|
|
|
db:
|
|
image: mariadb:10.5.26
|
|
container_name: mariadb
|
|
restart: always
|
|
environment:
|
|
MARIADB_ROOT_PASSWORD: Lai5cieguP1Phah6
|
|
volumes:
|
|
- /docker/mariadb:/var/lib/mysql
|
|
networks:
|
|
- traefikproxy
|
|
|
|
adminer:
|
|
image: adminer
|
|
restart: always
|
|
ports:
|
|
- 8888:8080
|
|
networks:
|
|
- traefikproxy
|
|
|
|
traefik:
|
|
image: "traefik:v3.1"
|
|
container_name: "traefik"
|
|
command:
|
|
- "--core.defaultRuleSyntax=v2"
|
|
- "--log.level=DEBUG"
|
|
- "--api.dashboard=false"
|
|
#- "--api.insecure=true"
|
|
- "--providers.docker=true"
|
|
- "--providers.docker.exposedbydefault=false"
|
|
- "--entrypoints.websecure.address=:443"
|
|
- "--entrypoints.web.address=:80"
|
|
- "--entrypoints.web.http.redirections.entryPoint.to=websecure"
|
|
- "--entrypoints.web.http.redirections.entryPoint.scheme=https"
|
|
- "--certificatesresolvers.myresolver.acme.dnschallenge=true"
|
|
- "--certificatesresolvers.myresolver.acme.email=dj@d-jorgensen.com"
|
|
- "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acmewildcard.json"
|
|
- "--certificatesresolvers.myresolver.acme.dnschallenge.provider=cloudflare"
|
|
- "--certificatesresolvers.myresolver.acme.dnschallenge.resolvers=1.1.1.1:53"
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.dj.ls.domains[0].main=d-jorgensen.com"
|
|
- "traefik.http.routers.dj.tls.domains[0].sans=*.d-jorgensen.com"
|
|
- "traefik.http.routers.dj.tls.certresolver=myresolver"
|
|
- "traefik.http.routers.ap.tls.domains[0].main=atelierportage.com"
|
|
- "traefik.http.routers.ap.tls.domains[0].sans=*.atelierportage.com"
|
|
- "traefik.http.routers.ap.tls.certresolver=myresolver"
|
|
- "traefik.http.routers.rp.tls.domains[0].main=ripplesandwaves.com"
|
|
- "traefik.http.routers.rp.tls.domains[0].sans=*.ripplesandwaves.com"
|
|
- "traefik.http.routers.rp.tls.certresolver=myresolver"
|
|
- "traefik.http.routers.kefcon.tls.domains[0].main=kefcon.ca"
|
|
- "traefik.http.routers.kefcon.tls.domains[0].sans=*.kefcon.ca"
|
|
- "traefik.http.routers.kefcon.tls.certresolver=myresolver"
|
|
- "traefik.http.routers.denby.tls.domains[0].main=denbyjorgensen.com"
|
|
- "traefik.http.routers.denby.tls.domains[0].sans=*.denbyjorgensen.com"
|
|
- "traefik.http.routers.denby.tls.certresolver=myresolver"
|
|
- "traefik.http.routers.ks.tls.domains[0].main=kathleensera.com"
|
|
- "traefik.http.routers.ks.tls.domains[0].sans=*.kathleensera.com"
|
|
- "traefik.http.routers.ks.tls.certresolver=myresolver"
|
|
#HTTP
|
|
- "traefik.http.routers.dj-web.entrypoints=web"
|
|
- "traefik.http.routers.dj-web.rule=Host(`d-jorgensen.com`)"
|
|
- "traefik.http.routers.dj-web.middlewares=ap-web-https-redirect"
|
|
- "traefik.http.middlewares.dj-web-https-redirect.redirectscheme.scheme=https"
|
|
# Https
|
|
- "traefik.http.routers.dj-web-secure.entrypoints=websecure"
|
|
- "traefik.http.routers.dj-web-secure.rule=Host(`d-jorgensen.com`)"
|
|
- "traefik.http.routers.dj-web-secure.tls=true"
|
|
- "traefik.http.routers.dj-web-secure.tls.certresolver=myresolver"
|
|
#HTTP
|
|
- "traefik.http.routers.ap-web.entrypoints=web"
|
|
- "traefik.http.routers.ap-web.rule=Host(`atelierportage.com`)"
|
|
- "traefik.http.routers.ap-web.middlewares=ap-web-https-redirect"
|
|
- "traefik.http.middlewares.ap-web-https-redirect.redirectscheme.scheme=https"
|
|
# Https
|
|
- "traefik.http.routers.ap-web-secure.entrypoints=websecure"
|
|
- "traefik.http.routers.ap-web-secure.rule=Host(`atelierportage.com`)"
|
|
- "traefik.http.routers.ap-web-secure.tls=true"
|
|
- "traefik.http.routers.ap-web-secure.tls.certresolver=myresolver"
|
|
#HTTP
|
|
- "traefik.http.routers.rp-web.entrypoints=web"
|
|
- "traefik.http.routers.rp-web.rule=Host(`ripplesandwaves.com`)"
|
|
- "traefik.http.routers.rp-web.middlewares=ap-web-https-redirect"
|
|
- "traefik.http.middlewares.rp-web-https-redirect.redirectscheme.scheme=https"
|
|
# Https
|
|
- "traefik.http.routers.rp-web-secure.entrypoints=websecure"
|
|
- "traefik.http.routers.rp-web-secure.rule=Host(`ripplesandwaves.com`)"
|
|
- "traefik.http.routers.rp-web-secure.tls=true"
|
|
- "traefik.http.routers.rp-web-secure.tls.certresolver=myresolver"
|
|
#HTTP
|
|
- "traefik.http.routers.kef-web.entrypoints=web"
|
|
- "traefik.http.routers.kef-web.rule=Host(`kefcon.ca`)"
|
|
- "traefik.http.routers.kef-web.middlewares=ap-web-https-redirect"
|
|
- "traefik.http.middlewares.kef-web-https-redirect.redirectscheme.scheme=https"
|
|
# Https
|
|
- "traefik.http.routers.kef-web-secure.entrypoints=websecure"
|
|
- "traefik.http.routers.kef-web-secure.rule=Host(`kefcon.ca`)"
|
|
- "traefik.http.routers.kef-web-secure.tls=true"
|
|
- "traefik.http.routers.kef-web-secure.tls.certresolver=myresolver"
|
|
#HTTP
|
|
- "traefik.http.routers.denby-web.entrypoints=web"
|
|
- "traefik.http.routers.denby-web.rule=Host(`denbyjorgensen.com`)"
|
|
- "traefik.http.routers.denby-web.middlewares=ap-web-https-redirect"
|
|
- "traefik.http.middlewares.denby-web-https-redirect.redirectscheme.scheme=https"
|
|
# Https
|
|
- "traefik.http.routers.denby-web-secure.entrypoints=websecure"
|
|
- "traefik.http.routers.denby-web-secure.rule=Host(`denbyjorgensen.com`)"
|
|
- "traefik.http.routers.denby-web-secure.tls=true"
|
|
- "traefik.http.routers.denby-web-secure.tls.certresolver=myresolver"
|
|
#HTTP
|
|
- "traefik.http.routers.ks-web.entrypoints=web"
|
|
- "traefik.http.routers.ks-web.rule=Host(`kathleensera.com`)"
|
|
- "traefik.http.routers.ks-web.middlewares=ap-web-https-redirect"
|
|
- "traefik.http.middlewares.ks-web-https-redirect.redirectscheme.scheme=https"
|
|
# Https
|
|
- "traefik.http.routers.ks-web-secure.entrypoints=websecure"
|
|
- "traefik.http.routers.ks-web-secure.rule=Host(`kathleensera.com`)"
|
|
- "traefik.http.routers.ks-web-secure.tls=true"
|
|
- "traefik.http.routers.ks-web-secure.tls.certresolver=myresolver"
|
|
ports:
|
|
- "80:80"
|
|
- "443:443"
|
|
- "8088:8080"
|
|
environment:
|
|
- CF_API_EMAIL=dj@d-jorgensen.com
|
|
- CF_DNS_API_TOKEN=Uh69ING68kV9hfQDAXXBUUyo1PJrI9PNcjWrOQNq
|
|
volumes:
|
|
- "/docker/letsencrypt:/letsencrypt"
|
|
- "/var/run/docker.sock:/var/run/docker.sock:ro"
|
|
networks:
|
|
- traefikproxy
|
|
|
|
networks:
|
|
traefikproxy:
|
|
external: true |