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

82 lines
2.3 KiB
YAML

services:
# ----------------------------------------
# MariaDB Database
# ----------------------------------------
mariadb:
image: mariadb:10.6
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
args:
# اینجا می‌توانید آدرس Nexus داخلی سرور خود را بدهید
- COMPOSER_REGISTRY=http://192.168.1.201:8081/repository/composer-runflare/
- LINUX_REGISTRY=http://192.168.1.201:8081/repository/debian-arvan
- SECURITY_REGISTRY=http://192.168.1.201:8081/repository/debian-arvan-security
- NPM_REGISTRY=http://192.168.1.201:8081/repository/npm-group/
- NODE_REGISTRY=http://192.168.1.201:8081/repository/node-dist
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: