165 lines
5.4 KiB
YAML
165 lines
5.4 KiB
YAML
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:
|