74 lines
1.9 KiB
YAML
74 lines
1.9 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
|
|
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: |