CUP-Online-Judge icon indicating copy to clipboard operation
CUP-Online-Judge copied to clipboard

Open source online judge based on Vue, Express.js and Docker. | CUP ACM/ICPC Online Judge | 中国石油大学(北京) Online Judge

CUP Online Judge

License GitHub package.json version (branch) GitHub package.json version (branch) jsDelivr hits (GitHub)

name pulls version layers image size
ryanlee2014/cupoj-backend Pulls Count GitHub release (latest by date) Layers image size
ryanlee2014/cupoj-websocket Pulls Count GitHub release (latest by date) Layers image size
ryanlee2014/cupoj-judger Pulls Count GitHub release (latest by date) Layers image size
ryanlee2014/cupoj-language-server Pulls Count GitHub release (latest by date) Layers image size
ryanlee2014/cupoj-frontend GitHub commit activity GitHub release (latest by date) GitHub repo size
metowolf/nginx Pulls Count GitHub release (latest by date)
mysql/mysql-server Pulls Count
library/redis Pulls Count

Translation

中文

Requirements

Install Docker and Docker Compose

Manual

Usage(all in one)

./init-env.sh

Update(all in one)

./update.sh

Usage(Manual Installation Guide)

  1. Clone repo inside your project
git clone --recursive https://github.com/ryanlee2014/CUP-Online-Judge-NG-Docker-Judger.git docker-judger
  1. Enter the folder and rename .env.example to .env, docker-compose.example.yml to docker-compose.yml
cd docker-judger
cp .env.example .env
cp docker-compose.example.xml docker.compose.yml
  1. Enter the backend folder and rename config.sample.json to config.json
cd etc/backend
cp config.sample.json config.json
  1. Enter the judge folder and rename config.sample.json to config.json Edit judger/etc/config.json and compile.json to your environment settings
# judge.conf
cd judge/etc
cp config.sample.json config.json
  1. Make data foler and move files into the folder or link data folder to judge/data
# make dir
mkdir -p ./judger/data
# link
ln -s path/to/data ./judger/data
  1. Run your containers:
docker-compose up -d

Supporting CUP Online Judge

Become a sponsor on afdian (Alipay only)