version: "3" services: uoj-db: image: git.m.ac/baoshuo/s2oj-db container_name: uoj-db restart: always volumes: - ./uoj_data/db/mysql:/var/lib/mysql environment: - MYSQL_DATABASE=app_uoj233 - MYSQL_ROOT_PASSWORD=root uoj-judger: image: git.m.ac/baoshuo/s2oj-judger container_name: uoj-judger restart: always stdin_open: true tty: true cap_add: - SYS_PTRACE volumes: - ./uoj_data/judger/log:/opt/uoj_judger/log - ./uoj_data/judger/data:/opt/uoj_judger/uoj_judger/data 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: image: git.m.ac/baoshuo/s2oj-remote-judger container_name: uoj-remote-judger restart: always environment: - UOJ_PROTOCOL=http - UOJ_HOST=uoj-web - UOJ_JUDGER_NAME=remote_judger - UOJ_JUDGER_PASSWORD=_judger_password_ uoj-web: image: git.m.ac/baoshuo/s2oj-web 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 - type: bind source: ./.config.php target: /opt/uoj/web/app/.config.php ports: - "80:80"