S2OJ/docker-compose.development.yml

83 lines
1.8 KiB
YAML

version: "3"
services:
uoj-db:
build:
context: ./db/
dockerfile: Dockerfile
container_name: uoj-db
restart: always
volumes:
- ./uoj_data/db/mysql:/var/lib/mysql
environment:
- MYSQL_DATABASE=app_uoj233
- MYSQL_ROOT_PASSWORD=root
phpmyadmin:
image: phpmyadmin
restart: always
ports:
- 28080:80
environment:
- PMA_ARBITRARY=1
uoj-judger:
build:
context: ./judger/
dockerfile: Dockerfile
args:
- USE_MIRROR=1
container_name: uoj-judger
restart: always
stdin_open: true
tty: true
cap_add:
- SYS_PTRACE
volumes:
- ./uoj_data/judger/log:/opt/uoj_judger/log
environment:
- UOJ_PROTOCOL=http
- UOJ_HOST=uoj-web
- JUDGER_NAME=compose_judger
- JUDGER_PASSWORD=_judger_password_
- SOCKET_PORT=2333
- SOCKET_PASSWORD=_judger_socket_password_
uoj-remote-judger:
build:
context: ./remote_judger/
dockerfile: Dockerfile
args:
- USE_MIRROR=1
container_name: uoj-remote-judger
restart: always
env_file:
- remote-judger.development.env
environment:
- DEV=true
- UOJ_PROTOCOL=http
- UOJ_HOST=uoj-web
- UOJ_JUDGER_NAME=remote_judger
- UOJ_JUDGER_PASSWORD=_judger_password_
uoj-web:
build:
context: ./
dockerfile: web/Dockerfile
args:
- USE_MIRROR=1
container_name: uoj-web
restart: always
stdin_open: true
tty: true
cap_add:
- SYS_PTRACE
depends_on:
- uoj-db
- uoj-judger
volumes:
- ./uoj_data/web/data:/var/uoj_data
- ./uoj_data/web/storage:/opt/uoj/web/app/storage
- ./.config.development.php:/opt/uoj/web/app/.config.php
ports:
- "80:80"