version: "3.7"
########################### NETWORKS
# There is no need to create any networks outside this docker-compose file.
# You may customize the network subnets (192.168.90.0/24 and 91.0/24) below as you please.
# Docker Compose version 3.5 or higher required to define networks this way.
networks:
  gl_proxy:
    name: gl_proxy
    driver: bridge
    ipam:
      config:
        - subnet: $GL_PROXY_SUBNET
        - gateway: $GL_PROXY_GATEWAY
  default:
    driver: bridge
  gl_socket_proxy:
    name: gl_socket_proxy
    driver: bridge
    ipam:
      config:
        - subnet: $GL_SOCKET_PROXY_SUBNET
        - gateway: $GL_SOCKET_PROXY_GATEWAY

########################### SECRETS
#secrets:
#  htpasswd:
#    file: $SECRETSDIR/htpasswd
#  authelia_jwt_secret:
#    file: $SECRETSDIR/authelia_jwt_secret
#  authelia_session_secret:
#    file: $SECRETSDIR/authelia_session_secret
#  authelia_storage_mysql_password:
#    file: $DOCKERDIR/secrets/authelia_storage_mysql_password
#  authelia_notifier_smtp_password:
#    file: $DOCKERDIR/secrets/authelia_notifier_smtp_password
#  authelia_duo_api_secret_key:
#    file: $DOCKERDIR/secrets/authelia_duo_api_secret_key
########################### SERVICES
services:
  dozzle:
    container_name: gl-dozzle
    image: amir20/dozzle:latest
    restart: unless-stopped
    networks:
      gl_proxy:
        ipv4_address: $DOZZLE_IP0
      gl_socket_proxy:
        ipv4_address: $DOZZLE_IP1
    security_opt:
      - no-new-privileges:true
    # ports:
    #   - "$HEIMDALL_PORT:80"
    #volumes:
    #  - $DOCKERDIR/appdata/$APP:/config
    environment:
      DOZZLE_LEVEL: info
      DOZZLE_TAILSIZE: 300
      DOZZLE_FILTER: "status=running"
      # DOZZLE_FILTER: "label=log_me" # limits logs displayed to containers with this label
      DOCKER_HOST: $DOCKER_ENDPOINT
    labels:
      - "traefik.enable=true"
      ## HTTP Routers
      - "traefik.http.routers.dozzle-rtr.entrypoints=https"
      - "traefik.http.routers.dozzle-rtr.rule=HostHeader(`dozzle.$DOMAINNAME0`)"
      ## Middlewares
      - "traefik.http.routers.dozzle-rtr.middlewares=chain-authelia@file"
      ## HTTP Services
      - "traefik.http.routers.dozzle-rtr.service=dozzle-svc"
      - "traefik.http.services.dozzle-svc.loadbalancer.server.port=8080"