本地构建镜像

这篇文档将指导您在本地从源码构建 UOJ 服务镜像。

构建 UOJ 可能需要较好的国际互联网连接。

构建前的准备

准备一个装有 64 位 Linux 系统的服务器,这里建议使用 Ubuntu。在进行构建之前,建议先更新系统软件包,并安装必要的工具。

sudo apt update
sudo apt upgrade
sudo apt install git curl

接下来需要安装 docker,它是一种容器技术,暂且可以大致地理解成虚拟机。

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo systemctl enable --now docker  # 启用并启动 docker 服务
sudo docker --version               # 检查 docker 是否正常安装

克隆 UOJ 源码

执行下面的命令,从 GitHub 克隆 UOJ 源码。

git clone https://github.com/UniversalOJ/UOJ-System.git

使用 Docker 构建 UOJ

执行下面的命令,从源码构建 UOJ 镜像。

cd UOJ-System/install/bundle/
sudo docker build -t uoj-system .

可能需要等待一段时间才能完成构建。构建结束时,屏幕上会显示:

Successfully built xxxxxx
Successfully tagged uoj-system:latest

构建结束后,下列命令可以使用本地构建的镜像运行 UOJ 。

sudo docker run --name uoj -dit -p 80:80 --cap-add SYS_PTRACE uoj-system

稍等几分钟,访问服务器的地址,应该就能看到 UOJ 的默认主页了,接下来的设置请参阅《维护》和《系统管理》。



[CC协议 BY-NC-SA] 署名 - 非商业性使用 - 相同方式共享 @ UOJ部署指北 2018
Home apps close