arm64 version of: https://github.com/colinmollenhour/mariadb-galera-swarm
modified to use zstd compression instead of OLD qpress. More here: https://www.percona.com/blog/optimize-sst-in-percona-xtradb-cluster-with-zstd-compression/
version: '3.4'
services:
seed:
image: ne4u/mariadb-cluster:10.8
hostname: galera-seed-{{.Task.Slot}}
environment:
- XTRABACKUP_PASSWORD_FILE=/run/secrets/xtrabackup_password
- MYSQL_USER=user
- MYSQL_PASSWORD_FILE=/run/secrets/mysql_password
- MYSQL_DATABASE=database
- MYSQL_ROOT_PASSWORD_FILE=/run/secrets/mysql_root_password
- NODE_ADDRESS=^10.10.0.*
- CLUSTER_NAME=galera-cluster
- TZ=America/Los_Angeles
networks:
- private-stack
command: seed
volumes:
- /mnt/some/nfs/path/galera/{{.Service.Name}}-{{.Task.Slot}}:/var/lib/mysql
secrets:
- xtrabackup_password
- mysql_password
- mysql_root_password
node:
image: ne4u/mariadb-cluster:10.8
hostname: galera-node-{{.Task.Slot}}
environment:
- XTRABACKUP_PASSWORD_FILE=/run/secrets/xtrabackup_password
- NODE_ADDRESS=^10.10.0.*
- HEALTHY_WHILE_BOOTING=1
- CLUSTER_NAME=galera-cluster
- TZ=America/Los_Angeles
networks:
- private-stack
command: node tasks.seed,tasks.node
volumes:
- /mnt/some/nfs/path/galera/{{.Service.Name}}-{{.Task.Slot}}:/var/lib/mysql
deploy:
replicas: 0
secrets:
- xtrabackup_password
networks:
private-stack:
external: true
secrets:
xtrabackup_password:
file: /mnt/some/nfs/path/secrets/xtrabackup_password
mysql_password:
file: /mnt/some/nfs/path//secrets/mysql_password
mysql_root_password:
file: /mnt/some/nfs/path/secrets/mysql_root_password
$ mkdir -p /mnt/some/nfs/path/secrets
$ openssl rand -base64 32 > /mnt/some/nfs/path/secrets/xtrabackup_password
$ openssl rand -base64 32 > /mnt/some/nfs/path/secrets/mysql_password
$ openssl rand -base64 32 > ./mnt/some/nfs/path/secrets/mysql_root_password
$ docker stack deploy -c docker-compose.yml galera
$ docker service ls
(wait for `galera_seed` to be healthy)
$ docker service scale galera_node=2
(wait for both `galera_node` instances to be healthy)
$ docker service scale galera_seed=0
$ docker service scale galera_node=3
Content type
Image
Digest
sha256:121f47889…
Size
104.9 MB
Last updated
over 4 years ago
docker pull ne4u/mariadb-cluster:10.8