version: '2'
services:
  snappymail:
    image: djmaze/snappymail:latest
    ports:
      - 8888:8888
    environment:
      - DEBUG=true
    volumes:
      - snappymail:/var/lib/snappymail
    networks:
      - default
      - db-network
      - redis-network
    restart: unless-stopped

  # This provides prometheus metrics for snappymail's php-fpm
  php-fpm-exporter:
    image: hipages/php-fpm_exporter:2.2.0
    ports:
      - 9253:9253
    environment:
      - PHP_FPM_SCRAPE_URI=tcp://snappymail:9000/status
    networks:
      - default

  mysql:
    image: mariadb:10
    environment:
      - MYSQL_ROOT_PASSWORD=root
      - MYSQL_USER=snappymail
      - MYSQL_PASSWORD=snappymail
      - MYSQL_DATABASE=snappymail
    volumes:
      - mysql:/var/lib/mysql
    networks:
      - db-network
    restart: unless-stopped

  redis:
    image: redis:7-alpine
    networks:
      - redis-network
    restart: unless-stopped

networks:
  default:
  db-network:
    internal: true
  redis-network:
    internal: true

volumes:
  mysql:
    driver: local
  snappymail:
    driver: local
