diff --git a/docker-compose.yml b/docker-compose.yml index b2ebdb1..d65fe29 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,4 +1,4 @@ -# Working version : 20240819 : v5 Gitea added +# Working version : 2024081902 : v6 tac-on-flooring.com added version: '3.8' @@ -393,6 +393,105 @@ services: cpus: '1.5' memory: 1536M + + #tac-on-flooring.com - database is taconflooring + taconflooring_fpm: + image: wordpress:php8.1-fpm + # healthcheck: + # test: ["CMD", "php-fpm", "-t"] + # interval: 30s + # timeout: 10s + # retries: 3 + # start_period: 15s + networks: + - shared_network + volumes: + - /mnt/efs/taconflooring/wp-content:/var/www/html/wp-content + - /opt/wordpress/themes:/var/www/html/wp-content/themes + - /opt/wordpress/plugins:/var/www/html/wp-content/plugins + - /opt/wordpress/upgrade:/var/www/html/wp-content/upgrade + - /mnt/efs/taconflooring/wp-config.php:/var/www/html/wp-config.php + - /mnt/efs/common/php.ini:/usr/local/etc/php/conf.d/custom.ini + - /mnt/efs/taconflooring/wp-content/uploads:/var/www/html/wp-content/uploads + environment: + - WORDPRESS_DB_HOST=mysql + - WORDPRESS_DB_USER=taconflooring + - WORDPRESS_DB_PASSWORD=ZfQ[c_MSZY5gP4X] + - WORDPRESS_DB_NAME=taconflooring + deploy: + replicas: 1 + placement: + constraints: + - node.labels.cloud == true + # - "node.role==worker" + + + taconflooring_nginx: + image: nginx:latest + # healthcheck: + # test: ["CMD", "curl", "-f", "http://localhost/"] + # interval: 30s + # timeout: 10s + # retries: 3 + # start_period: 15s + environment: + - VIRTUAL_HOST=tac-on-flooring.com,www.tac-on-flooring.com + - LETSENCRYPT_HOST=tac-on-flooring.com,www.tac-on-flooring.com + - LETSENCRYPT_EMAIL=tim@pixelus-creative.com + networks: + - shared_network + volumes: + - /opt/wordpress/wordpress-base-install:/var/www/html + - /mnt/efs/taconflooring/nginx:/etc/nginx/conf.d:ro # Assuming you have your Nginx config here + - /mnt/efs/taconflooring/wp-content:/var/www/html/wp-content + - /opt/wordpress/themes:/var/www/html/wp-content/themes + - /opt/wordpress/plugins:/var/www/html/wp-content/plugins + - /opt/wordpress/upgrade:/var/www/html/wp-content/upgrade + - /mnt/efs/taconflooring/wp-config.php:/var/www/html/wp-config.php + - /mnt/efs/taconflooring/wp-content/uploads:/var/www/html/wp-content/uploads + depends_on: + - taconflooring_fpm + deploy: + replicas: 1 + placement: + constraints: + - node.labels.cloud == true + # - "node.role==worker" + labels: + # Redirect HTTP www to HTTPS non-www + - "traefik.http.routers.taconflooring_nginx-www-http.rule=Host(`www.tac-on-flooring.com`)" + - "traefik.http.routers.taconflooring_nginx-www-http.entrypoints=http" + - "traefik.http.routers.taconflooring_nginx-www-http.middlewares=https-redirect" + + # Redirect HTTP non-www to HTTPS non-www + - "traefik.http.routers.taconflooring_nginx-http.rule=Host(`tac-on-flooring.com`)" + - "traefik.http.routers.taconflooring_nginx-http.entrypoints=http" + - "traefik.http.routers.taconflooring_nginx-http.middlewares=https-redirect" + + # HTTPS non-www configuration + - "traefik.http.routers.taconflooring_nginx-https.rule=Host(`tac-on-flooring.com`)" + - "traefik.http.routers.taconflooring_nginx-https.entrypoints=https" + - "traefik.http.routers.taconflooring_nginx-https.tls.certresolver=myresolver" + + # HTTPS www configuration (redirect to non-www) + - "traefik.http.routers.taconflooring_nginx-www-https.rule=Host(`www.tac-on-flooring.com`)" + - "traefik.http.routers.taconflooring_nginx-www-https.entrypoints=https" + - "traefik.http.routers.taconflooring_nginx-www-https.middlewares=www-to-nonwww" + - "traefik.http.routers.taconflooring_nginx-www-https.tls.certresolver=myresolver" + + # Middleware to redirect www to non-www for HTTPS + - "traefik.http.middlewares.www-to-nonwww.redirectregex.regex=^https://www\\.(.+)" + - "traefik.http.middlewares.www-to-nonwww.redirectregex.replacement=https://$${1}" + - "traefik.http.middlewares.www-to-nonwww.redirectregex.permanent=true" + + # Middleware for HTTPS redirection (define if not already defined) + - "traefik.http.middlewares.https-redirect.redirectscheme.scheme=https" + - "traefik.http.middlewares.https-redirect.redirectscheme.permanent=true" + + # Service definition + - "traefik.http.services.taconflooring_nginx.loadbalancer.server.port=80" + + #sevenoaksstone.com - database is sevenoaksstone sevenoaksstone_fpm: image: wordpress:php8.1-fpm @@ -731,7 +830,7 @@ services: - GITEA__server__ROOT_URL=https://git.pixelus-creative.com - GITEA__database__DB_TYPE=mysql - GITEA__database__HOST=mysql:3306 - - GITEA__database__NAME=gitea_database + - GITEA__database__NAME=gitea - GITEA__database__USER=gitea - GITEA__database__PASSWD=tf1*SUFR0c24jxGA volumes: