From e17a1e19270db5d569c3c2e79244f378997034c7 Mon Sep 17 00:00:00 2001 From: djorgensen Date: Tue, 19 Nov 2024 15:33:02 -0700 Subject: [PATCH] docker compose file --- docker-compose-httpd.yml | 213 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 213 insertions(+) create mode 100644 docker-compose-httpd.yml diff --git a/docker-compose-httpd.yml b/docker-compose-httpd.yml new file mode 100644 index 0000000..6115b39 --- /dev/null +++ b/docker-compose-httpd.yml @@ -0,0 +1,213 @@ +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 + + # apache: + # build: . + # container_name: apache2 + # links: + # - db + # labels: + # - "traefik.enable=true" + # - "traefik.port=80" + # - "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: + # - /var/www:/var/www + # - /docker/httpd/apache2.conf:/etc/apache2/apache2.conf + # - /etc/apache2/mods-enabled/rewrite.load:/etc/apache2/mods-enabled/rewrite.load + # - /etc/apache2/mods-enabled/ssl.conf:/etc/apache2/mods-enabled/ssl.conf + # - /etc/apache2/mods-enabled/ssl.load:/etc/apache2/mods-enabledd/ssl.load + + + # - /etc/apache2/sites-available/000-default.conf:/etc/apache2/sites-enabled/000-default.conf + # - /etc/apache2/sites-available/d-jorgensen.com.conf:/etc/apache2/sites-enabled/d-jorgensen.com.conf + # - /etc/apache2/sites-available/denbyjorgensen.com.conf:/etc/apache2/sites-enabled/denbyjorgensen.com.conf + # - /etc/apache2/sites-available/atelierportage.com.conf:/etc/apache2/sites-enabled/atelierportage.com.conf + # - /etc/apache2/sites-available/kefcon.ca.conf:/etc/apache2/sites-enabled/kefcon.ca.conf + # - /etc/apache2/sites-available/ripplesandwaves.ca.conf:/etc/apache2/sites-enabled/ripplesandwaves.ca.conf + # - /etc/apache2/sites-available/kathleensera.com.conf:/etc/apache2/sites-enabled/kathleensera.com.conf + # - /etc/apache2/sites-available/d-jorgensen.com-le-ssl.conf:/etc/apache2/sites-enabled/d-jorgensen.com-le-ssl.conf + # - /etc/apache2/sites-available/denbyjorgensen.com-le-ssl.conf:/etc/apache2/sites-enabled/denbyjorgensen.com-le-ssl.conf + # - /etc/apache2/sites-available/atelierportage.com-le-ssl.conf:/etc/apache2/sites-enabled/atelierportage.com-le-ssl.conf + # - /etc/apache2/sites-available/kefcon.ca-le-ssl.conf:/etc/apache2/sites-enabled/kefcon.ca-le-ssl.conf + # - /etc/apache2/sites-available/ripplesandwaves.ca-le-ssl.conf:/etc/apache2/sites-enabled/ripplesandwaves.ca-le-ssl.conf + # - /etc/apache2/sites-available/kathleensera.com-le-ssl.conf:/etc/apache2/sites-enabled/kathleensera.com-le-ssl.conf + # 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 \ No newline at end of file