Skip to content

Instantly share code, notes, and snippets.

@chawasit
Created September 21, 2018 09:24
Show Gist options
  • Select an option

  • Save chawasit/ad3cedd44786b8e33cd6ee15753de30f to your computer and use it in GitHub Desktop.

Select an option

Save chawasit/ad3cedd44786b8e33cd6ee15753de30f to your computer and use it in GitHub Desktop.
wordpress blog with traefik load balancing and mariadb cluster
version: '3.4'
services:
web_traefik:
image: traefik
ports:
- "80:80"
- "8888:8080"
command:
- --docker
- --docker.swarmMode
- --docker.domain=docker.localhost
- --docker.watch
- --api
deploy:
placement:
constraints:
- node.role == manager
volumes:
- /var/run/docker.sock:/var/run/docker.sock
networks:
- frontend-network
wordpress:
image: wordpress
environment:
- WORDPRESS_DB_USER=wordpress
- WORDPRESS_DB_PASSWORD=wordpress
deploy:
replicas: 2
labels:
- traefik.port=80
- traefik.docker.network=blog_frontend-network
- traefik.backend.loadbalancer.sticky=true
- traefik.backend.loadbalancer.stickiness=true
- "traefik.frontend.rule=PathPrefix:/"
networks:
- frontend-network
- backend-network
mysql-seed:
image: colinmollenhour/mariadb-galera-swarm
deploy:
endpoint_mode: dnsrr
environment:
- MYSQL_DATABASE=wordpress
- MYSQL_USER=wordpress
- MYSQL_PASSWORD=wordpress
- XTRABACKUP_PASSWORD=wordpressbackup
command:
- seed
networks:
- backend-network
mysql:
image: colinmollenhour/mariadb-galera-swarm
deploy:
endpoint_mode: dnsrr
replicas: 2
environment:
- XTRABACKUP_PASSWORD=wordpressbackup
command:
- node
- tasks.mysql-seed,tasks.mysql
networks:
- backend-network
networks:
frontend-network: {}
backend-network: {}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment