1 安装环境

  • Ubuntu20.04Server
  • 本校服务器

2 前置加速

2.1 更换apt源

p.s. vi/vim进入Insert模式开始编辑:i,退出Insert模式进入Normal模式:Esc,Normal模式下保存并退出::wq

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak # 备份源文件
sudo vi /etc/apt/sources.list  # 编辑apt源的列表文件

把文件内容全部删除后输入以下内容:

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security multiverse

保存退出后输入:

sudo apt update  # 更新源列表
sudo apt upgrade # 更新系统
sudo apt install vim # 安装vim

2.2 加速pip

cd # 回到~目录
mkdir .pip && cd .pip # 创建.pip文件夹并进入其子目录
vim pip.conf # 新建文件pip.conf并编辑

进入Insert模式输入以下:

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

:wq保存退出

2.3 加速docker

sudo vim /etc/docker/daemon.json

输入以下:

{
  "registry-mirrors": ["https://registry.docker-cn.com"]
}

保存并退出

2.4 修改hosts以加速github(可选)

sudo vim /etc/hosts

输入以下:

151.101.72.249 github.global.ssl.fastly.net  
192.30.253.112 github.com

保存并退出


3 开始安装

3.1 设置root用户

# 确认是否有root用户
su  # 切换至root
# 如果提示密码不对或无用户,进行以下,否则略过之
sudo passwd root  # 创建root,接下来自己设定密码

# 设置完成后
su # 进入root,接下来请始终保持在root中

3.2 安装依赖

apt-get update && sudo apt-get install -y vim python3-pip curl git
pip3 install --upgrade pip
pip install docker-compose

3.3 安装docker

国内请使用:sudo curl -sSL https://get.daocloud.io/docker | sh

国外请使用:sudo curl -sSL get.docker.com | sh

附上docker官方文档:传送门

p.s. 此处可能耗时较长

3.4 部署OJ

cd /home # 回到~目录
git clone -b 2.0 https://github.com/Harry-zklcdc/OnlineJudgeDeploy.git && cd OnlineJudgeDeploy # 克隆项目
docker-compose up -d # 部署项目

3.5 检查部署是否成功

docker ps -a 

当看到所有的容器的状态没有 unhealthyExited (x) xxx 就代表 OJ 已经启动成功

3.6 OJ登入设置

初始用户root

密码rootroot


4 修改&美化

4.1 修改端口

修改/home/OnlineJudgeDeploy/中的docker-compose.yml

ports关键词下,大约85行左右

# 原配置
    ports:
      - "0.0.0.0:80:8000"  # http
      - "0.0.0.0:443:1443" # https
# 更改后
    ports:
      - "0.0.0.0:81:8000"
      - "0.0.0.0:443:1443"

然后再次

su
docker-compose up -d

即可

4.2 使用看板娘(可选)

cd /home/OnlineJudgeDeploy/data/forum/api/live2d/model/
git clone https://gitee.com/zklcdc/live2d_models.git && cd live2d_models # 克隆模型到本地
cp -r * ../ # 将所有文件复制到上级文件夹
cd ../ && cp model_list.json ../ # 把列表文件复制到live2d文件夹中

打开网页,just enjoy

4.3 修改网页icon

/home/OnlineJudgeDeploy/data/backend/public/website/中,用自己的图片替换favicon.ico即可

4.4 修改默认头像

/home/OnlineJudgeDeploy/data/backend/public/avatar/中,用自己的图片替换default.png即可


5 参考项目