websitedocker/docker-compose-httpd.yml
2024-11-20 13:00:53 -07:00

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