--- version: "3.7" services: wordpress: image: "wordpress:5.4.1" ports: - "3050:80" volumes: - "wp:/var/www/html" networks: - backend - proxy environment: - WORDPRESS_DB_HOST=mariadb - WORDPRESS_DB_USER=wordpress - WORDPRESS_DB_PASSWORD_FILE=/run/secrets/wp-db-passwd-v1 - WORDPRESS_DB_NAME=wordpress secrets: - wp-db-passwd-v1 deploy: mode: replicated replicas: 1 update_config: failure_action: rollback placement: constraints: - node.role == manager labels: traefik.enable: "true" traefik.http.services.wordpress.loadbalancer.server.port: "80" traefik.http.routers.wordpress.rule: "Host(`wp.swarm.autonomic.zone`)" traefik.http.routers.wordpress.entrypoints: "web-secure" traefik.http.routers.wordpress.tls.certresolver: "staging" mariadb: image: "mariadb:10.5" volumes: - "db:/var/lib/mysql" networks: - backend environment: - MYSQL_ROOT_PASSWORD_FILE=/run/secrets/mysql-root-passwd-v1 - MYSQL_DATABASE=wordpress - MYSQL_USER=wordpress - MYSQL_PASSWORD_FILE=/run/secrets/mysql-user-passwd-v1 secrets: - mysql-root-passwd-v1 - mysql-user-passwd-v1 networks: backend: driver: overlay proxy: external: true volumes: db: wp: secrets: wp-db-passwd-v1: external: true mysql-root-passwd-v1: external: true mysql-user-passwd-v1: external: true