version: '3'
services:
  db:
    image: postgres:11-alpine
    restart: unless-stopped
    volumes:
      - "$DATA_DIR/db:/var/lib/postgresql/data"
    env_file:
      - .env
      - "$DATA_DIR/.env"
    networks:
      default:
        ipv4_address: $subnet.101
    deploy:
      resources:
        limits:
          cpus: '0.50'
          memory: 100M

  mattermost:
    ports:
      - 8443:8443/udp
    image: mattermost/mattermost-team-edition:7.10
    volumes:
      - "$DATA_DIR/app:/var/www/html"
    environment:
      - $DATA_DIR/app/config:/mattermost/config:rw
      - $DATA_DIR/app/data:/mattermost/data:rw
      - $DATA_DIR/app/plugins:/mattermost/plugins:rw
      - $DATA_DIR/app/client_plugins:/mattermost/client/plugins:rw
      - $DATA_DIR/app/bleve-indexes:/mattermost/bleve-indexes:rw
    env_file:
      - .env
      - "$DATA_DIR/.env"
    tmpfs:
      - /tmp
    depends_on:
      - db
    security_opt:
      - no-new-privileges:true
    restart: unless-stopped
    networks:
      default:
        ipv4_address: $subnet.100
    deploy:
      resources:
        limits:
          cpus: '0.50'
          memory: 1000M


networks:
  default:
    ipam:
      config:
        - subnet: $subnet.0/24