- Langsung How To

Cara setup mautic di docker swarm, berikut caranya:

  1. Dapetin Swarm node ID di spesifik node (di tempat aplikasi bakal di deploy), export NODE_ID=$(docker info -f '{{.Swarm.NodeID}}')

  2. Lanjutan yang di atas, ini biar Mautic bakal terus di deploy di node & volume yang sama (ini kasus kalau anda ga pakai NFS utk storage nya, sehingga volumenya kudu di pastiin di satu tempat), docker node update --label-add mautic.mautic-data=true $NODE_ID

  3. Buat file baru, beri nama mautic.yml

version: '3.3'

services:
  mautic:
    image: mautic/mautic:latest
    networks:
      - traefik-public
    environment:
      - MAUTIC_DB_HOST=xxx.xxx.xxx.xxx
      - MAUTIC_DB_USER=user
      - MAUTIC_DB_PASSWORD=password
      - MAUTIC_DB_NAME=yourmautic
      - MAUTIC_RUN_CRON_JOBS=true
      - MAUTIC_TRUSTED_PROXIES=0.0.0.0/0
    volumes:
      - mautic-data:/var/www/html
    deploy:
      labels:
        - traefik.enable=true
        - traefik.docker.network=traefik-public
        - traefik.constraint-label=traefik-public
        - traefik.http.routers.mautic-http.rule=Host(`mautic.ipang.com`)
        - traefik.http.routers.mautic-http.entrypoints=http
        - traefik.http.routers.mautic-http.middlewares=https-redirect
        - traefik.http.routers.mautic-https.rule=Host(`mautic.ipang.com`)
        - traefik.http.routers.mautic-https.entrypoints=https
        - traefik.http.routers.mautic-https.tls=true
        - traefik.http.routers.mautic-https.tls.certresolver=le
        - traefik.http.middlewares.secure-headers-mautic.headers.customresponseheaders.x-robots-tag=noindex, nofollow, nosnippet, noarchive, noimageindex, notranslate
        - traefik.http.middlewares.secure-headers-mautic.headers.customresponseheaders.x-content-type-options=nosniff
        - traefik.http.middlewares.secure-headers-mautic.headers.customresponseheaders.x-xss-protection= 1; mode=block
        - traefik.http.routers.mautic-https.middlewares=secure-headers-mautic
        - traefik.http.services.mautic.loadbalancer.server.port=80
      placement:
        constraints:
          - node.role == worker

networks:
  traefik-public:
    external: true

volumes:
  mautic-data:
  1. Deploy aplikasi docker stack deploy -c mautic.yml mautic