services: traefik: image: traefik:2 command: - "--log.level=DEBUG" - "--api.insecure=true" - "--providers.docker=true" - "--providers.docker.exposedbydefault=false" - "--entrypoints.web.address=:80" - "--entrypoints.websecure.address=:443" - "--providers.file.filename=/etc/traefik/ssl.yml" - "--serversTransport.insecureSkipVerify=true" - "--configFile=/etc/traefik/traefik.yml" volumes: - /var/run/docker.sock:/var/run/docker.sock:ro restart: unless-stopped labels: - "traefik.enable=true" - "traefik.docker.network=gateway" ports: - "1480:80" - "1481:8080" networks: - vulnapps_traefik mutillidae_database: image: webpwnized/mutillidae:database build: context: ./apps/mutillidae/database dockerfile: Dockerfile networks: - mutillidae mutillidae_database_admin: image: webpwnized/mutillidae:database_admin build: context: ./apps/mutillidae/database_admin dockerfile: Dockerfile depends_on: - mutillidae_database networks: - mutillidae - vulnapps_traefik labels: - "traefik.enable=true" - "traefik.http.routers.mutillidaepma-http.rule=Host(`pma.mutillidae.vulnapps.local`)" - "traefik.http.routers.mutillidaepma-http.entrypoints=web" - "traefik.http.routers.mutillidaepma-http.priority=10" - "traefik.http.services.mutillidaepma.loadbalancer.server.port=80" - "traefik.docker.network=vulnapps_traefik" mutillidae_www: image: webpwnized/mutillidae:www build: context: ./apps/mutillidae/www dockerfile: Dockerfile depends_on: - mutillidae_database - mutillidae_directory networks: - mutillidae - vulnapps_traefik labels: - "traefik.enable=true" - "traefik.http.routers.mutillidae-http.rule=Host(`mutillidae.vulnapps.local`, `cors.mutillidae.vulnapps.local`)" - "traefik.http.routers.mutillidae-http.entrypoints=web" - "traefik.http.routers.mutillidae-http.priority=10" - "traefik.http.services.mutillidae.loadbalancer.server.port=80" - "traefik.docker.network=vulnapps_traefik" mutillidae_directory: image: webpwnized/mutillidae:ldap build: context: ./apps/mutillidae/ldap dockerfile: Dockerfile volumes: - mutillidae_directory_data:/var/lib/ldap - mutillidae_directory_config:/etc/ldap/slapd.d networks: - mutillidae mutillidae_directory_admin: image: webpwnized/mutillidae:ldap_admin build: context: ./apps/mutillidae/ldap_admin dockerfile: Dockerfile depends_on: - mutillidae_directory networks: - mutillidae - vulnapps_traefik labels: - "traefik.enable=true" - "traefik.http.routers.mutillidaead-http.rule=Host(`ad.mutillidae.vulnapps.local`)" - "traefik.http.routers.mutillidaead-http.entrypoints=web" - "traefik.http.routers.mutillidaead-http.priority=10" - "traefik.http.services.mutillidaead.loadbalancer.server.port=80" - "traefik.docker.network=vulnapps_traefik" vampi-vulnerable: build: ./apps/vampi ports: - 5002:5000 environment: - vulnerable=1 networks: - vulnapps_traefik labels: - "traefik.enable=true" - "traefik.http.routers.vampi-http.rule=Host(`vampi.vulnapps.local`)" - "traefik.http.routers.vampi-http.entrypoints=web" - "traefik.http.routers.vampi-http.priority=10" - "traefik.http.services.vampi.loadbalancer.server.port=5000" - "traefik.docker.network=vulnapps_traefik" juice-shop: image: bkimminich/juice-shop networks: - vulnapps_traefik labels: - "traefik.enable=true" - "traefik.http.routers.juiceshop-http.rule=Host(`juiceshop.vulnapps.local`)" - "traefik.http.routers.juiceshop-http.entrypoints=web" - "traefik.http.routers.juiceshop-http.priority=10" - "traefik.http.services.juiceshop.loadbalancer.server.port=3000" - "traefik.docker.network=vulnapps_traefik" angular-api: build: context: ./apps/angular/vulnerable-app/api/ dockerfile: Dockerfile networks: - vulnapps_traefik labels: - "traefik.enable=true" - "traefik.http.routers.angularapi-http.rule=Host(`angular.vulnapps.local`) && PathPrefix(`/api`)" - "traefik.http.routers.angularapi-http.entrypoints=web" - "traefik.http.routers.angularapi-http.priority=10" - "traefik.http.services.angularapi.loadbalancer.server.port=3000" - "traefik.http.middlewares.angularapi-stripprefix.stripprefix.prefixes=/api" - "traefik.http.routers.angularapi-http.middlewares=angularapi-stripprefix" - "traefik.docker.network=vulnapps_traefik" angular-frontend: build: context: ./apps/angular/vulnerable-app/frontend/ dockerfile: Dockerfile networks: - vulnapps_traefik labels: - "traefik.enable=true" - "traefik.http.routers.angularfrontend-http.rule=Host(`angular.vulnapps.local`) && !PathPrefix(`/api`)" - "traefik.http.routers.angularfrontend-http.entrypoints=web" - "traefik.http.routers.angularfrontend-http.priority=10" - "traefik.http.services.angularfrontend.loadbalancer.server.port=80" - "traefik.docker.network=vulnapps_traefik" networks: vulnapps_traefik: external: true mutillidae: volumes: mutillidae_directory_data: mutillidae_directory_config: