browser-sec-lab/docker-compose.yml
2026-04-14 19:01:51 +03:30

74 lines
1.9 KiB
YAML

services:
# ----------------------------------------
# MariaDB Database
# ----------------------------------------
mariadb:
image: mariadb:10.11
container_name: sec_lab_db
environment:
MYSQL_ROOT_PASSWORD: root_password
MYSQL_DATABASE: sec_lab
MYSQL_USER: lab_user
MYSQL_PASSWORD: lab_password
volumes:
- db_data:/var/lib/mysql
networks:
- lab_net
restart: always
# ----------------------------------------
# وب‌سرور اپلیکیشن اصلی (Victim)
# ----------------------------------------
victim-nginx:
image: nginx:stable-alpine
container_name: sec_lab_victim_nginx
ports:
- "58690:80"
volumes:
- ./:/var/www/html:ro
- ./docker/nginx/default.conf:/etc/nginx/conf.d/default.conf:ro
depends_on:
- php
networks:
- lab_net
restart: always
# ----------------------------------------
# هسته پردازشی PHP (مشترک بین دو سایت)
# ----------------------------------------
php:
container_name: sec_lab_php
build:
context: .
dockerfile: ./docker/php/Dockerfile
volumes:
- ./:/var/www/html:rw
depends_on:
- mariadb
networks:
- lab_net
restart: always
# ----------------------------------------
# وب‌سرور اپلیکیشن مهاجم (Hacker)
# ----------------------------------------
attacker-app:
image: nginx:stable-alpine
container_name: sec_lab_attacker_nginx
ports:
- "58691:80"
volumes:
- ./:/var/www/html:ro # حالا هکر هم به کدهای لاراول دسترسی دارد
- ./docker/nginx/hacker.conf:/etc/nginx/conf.d/default.conf:ro # کانفیگ اختصاصی هکر
depends_on:
- php
networks:
- lab_net
restart: always
networks:
lab_net:
driver: bridge
volumes:
db_data: