Instalar Mautic con Traefik
version: "3.8" services: traefik: image: "traefik" restart: always command: - "--api=true" - "--api.insecure=true" - "--providers.docker=true" - "--providers.docker.exposedbydefault=false" - "--entrypoints.web.address=:80" - "--entrypoints.web.http.redirections.entryPoint.to=websecure" - "--entrypoints.web.http.redirections.entrypoint.scheme=https" - "--entrypoints.websecure.address=:443" - "--certificatesresolvers.mytlschallenge.acme.tlschallenge=true" - "--certificatesresolvers.mytlschallenge.acme.email=pepe@midominio.com" - "--certificatesresolvers.mytlschallenge.acme.storage=/letsencrypt/acme.json" ports: - "80:80" - "443:443" volumes: - /app/letsencrypt:/letsencrypt - /var/run/docker.sock:/var/run/docker.sock:ro mauticdb: restart: always image: percona/percona-server:5.7 container_name: mauticdb ports: # <Puerto expuesto> : < Puerto dentro del container> # Solo para desarrollo. Comentar en produccion - '3306:3306' expose: # Abre el puerto 5432 en el container al exterior sin tocar nada de la configuración del mysql # Solo para desarrollo. Comentar en produccion - '3306' volumes: - mysql_data:/var/lib/mysql environment: - MYSQL_ROOT_PASSWORD=miclave command: --character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci mautic: restart: always image: mautic/mautic:latest container_name: mautic links: - mauticdb:mysql depends_on: - mauticdb ports: # Traefik usa el puerto 80 luego tiene que ser distinto - "8081:80" volumes: - mautic_data:/var/www/html environment: - MAUTIC_DB_HOST=mauticdb - MYSQL_PORT_3306_TCP=3306 - MAUTIC_DB_USER=root - MAUTIC_DB_PASSWORD=miclave - MAUTIC_DB_NAME=mautic - MAUTIC_RUN_CRON_JOBS=true #- PHP_INI_DATE_TIMEZONE=${GENERIC_TIMEZONE} labels: - traefik.enable=true # Routes - traefik.http.routers.mautic.rule=Host(`mautic.midominio.com`) - traefik.http.routers.mautic-secure.tls=true - traefik.http.routers.mautic.entrypoints=websecure - traefik.http.routers.mautic.tls.certresolver=mytlschallenge # Middlewares - traefik.http.middlewares.mautic.headers.SSLRedirect=true - traefik.http.middlewares.mautic.headers.contentTypeNosniff=true - traefik.http.middlewares.mautic.headers.SSLHost=mautic.midominio.com - traefik.http.middlewares.mautic.headers.forceSTSHeader=true portainer: image: portainer/portainer-ce:2.11.1 command: -H unix:///var/run/docker.sock restart: always volumes: - /var/run/docker.sock:/var/run/docker.sock - portainer_data:/data labels: # Frontend - "traefik.enable=true" - "traefik.http.routers.frontend.rule=Host(`portainer.midominio.com`)" - "traefik.http.routers.frontend.entrypoints=websecure" - "traefik.http.services.frontend.loadbalancer.server.port=9000" - "traefik.http.routers.frontend.service=frontend" - "traefik.http.routers.frontend.tls.certresolver=leresolver" volumes: mautic_data: sslcerts: mysql_data: portainer_data: