services:

  webhook:
    image: webhooksite/webhook.site
    container_name: webhook
    restart: unless-stopped
    command: php artisan queue:work --daemon --tries=3 --timeout=10
    ports:
      - 8084:80
    expose:
      - 80
    environment:
      - APP_ENV=dev
      - APP_DEBUG=true
      - APP_URL=http://localhost:8084
      - APP_LOG=errorlog
      - DB_CONNECTION=sqlite
      - REDIS_HOST=redis
      - BROADCAST_DRIVER=redis
      - CACHE_DRIVER=redis
      - QUEUE_DRIVER=redis
      - ECHO_HOST_MODE=path
    depends_on:
      - redis
    #labels:
    #  - traefik.enable=true
    #  - traefik.docker.network=proxy
    #  - traefik.http.routers.webhook.rule=Host(`hook.example.com`)
    #  - traefik.http.services.webhook.loadbalancer.server.port=80
    #  # Optional part for traefik middlewares
    #  - traefik.http.routers.webhook.middlewares=local-ipwhitelist@file,authelia@docker
    #networks:
    #  - proxy

  redis:
    image: redis:alpine
    container_name: webhook-redis
    restart: unless-stopped
    #volumes:
    #  - ${DOCKER_VOLUME_STORAGE:-/mnt/docker-volumes}/requestbin/redis:/data
    #networks:
    #  - proxy

  laravel-echo-server:
    image: webhooksite/laravel-echo-server
    container_name: webhook-echo-server
    restart: unless-stopped
    environment:
      - LARAVEL_ECHO_SERVER_AUTH_HOST=http://webhook
      - LARAVEL_ECHO_SERVER_HOST=0.0.0.0
      - LARAVEL_ECHO_SERVER_PORT=6001
      - ECHO_REDIS_PORT=6379
      - ECHO_REDIS_HOSTNAME=redis
      - ECHO_PROTOCOL=http
      - ECHO_ALLOW_CORS=true
      - ECHO_ALLOW_ORIGIN=*
      - ECHO_ALLOW_METHODS=*
      - ECHO_ALLOW_HEADERS=*
    #networks:
    #  - proxy

#networks:
#  proxy:
#    external: true