From ba2880cc6fa2f4e14e46b2d959f61c12cb4e2a00 Mon Sep 17 00:00:00 2001 From: Baoshuo Date: Wed, 3 Jul 2024 12:44:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=96=87=E6=A1=A3=E4=BB=A5?= =?UTF-8?q?=E9=80=82=E5=BA=94=20UniversalOJ/UOJ-System#138=20=E4=B8=AD?= =?UTF-8?q?=E7=9A=84=E5=8F=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.md | 2 +- ...347\273\237\345\256\211\350\243\205UOJ.md" | 3 +- ...13\346\234\272\351\205\215\347\275\256.md" | 6 ++- "post/\345\256\211\350\243\205.md" | 38 +++++++------------ ...04\345\273\272\351\225\234\345\203\217.md" | 27 +++---------- "post/\347\273\264\346\212\244.md" | 1 + 6 files changed, 26 insertions(+), 51 deletions(-) diff --git a/index.md b/index.md index 94e4c27..8a798c1 100644 --- a/index.md +++ b/index.md @@ -10,6 +10,7 @@ ## 新闻 +* 20240703: 切换到基于 Docker Compose 的部署方式。 * 20210402: 将 service 更换为 systemctl,并移除 SVN 文档。 * 20190903:更新了失效提醒。 * 20190109:修正文档中 Gitalk 的 bug。 @@ -24,4 +25,3 @@ 如果您对 UOJ 开源项目有兴趣,请加入 Universal OJ 开源群:590822951。 如果我们的项目对您有帮助,欢迎给我们颗 Star;如果您发现了 bug 或者有任何的建议,请提出 issue:[UOJ-System](https://github.com/UniversalOJ/UOJ-System) 在 Github 上找到我们:[UOJ 开源社区](https://github.com/UniversalOJ)。 - diff --git "a/post/\344\274\240\347\273\237\345\256\211\350\243\205UOJ.md" "b/post/\344\274\240\347\273\237\345\256\211\350\243\205UOJ.md" index 45585c6..375bf86 100644 --- "a/post/\344\274\240\347\273\237\345\256\211\350\243\205UOJ.md" +++ "b/post/\344\274\240\347\273\237\345\256\211\350\243\205UOJ.md" @@ -1,3 +1,5 @@ +**这篇文章中的内容可能已经过时,请等待后续文档更新。** + > 这篇文档将指导您以传统方式安装UOJ。 > 本文与《一键安装UOJ》只需选择一个执行。**推荐使用《一键安装UOJ》。** > 相较于一键安装,传统安装可能耗费更多的时间。 @@ -69,4 +71,3 @@ sudo docker run --name uoj -dit -p 80:80 -p 3690:3690 --cap-add SYS_PTRACE uoj 访问服务器的ip,您现在应该能看到UOJ正在运行了。下一步,请参阅《维护UOJ》。 - diff --git "a/post/\345\244\232\350\257\204\346\265\213\346\234\272\351\205\215\347\275\256.md" "b/post/\345\244\232\350\257\204\346\265\213\346\234\272\351\205\215\347\275\256.md" index 4cf0114..57aceb3 100644 --- "a/post/\345\244\232\350\257\204\346\265\213\346\234\272\351\205\215\347\275\256.md" +++ "b/post/\345\244\232\350\257\204\346\265\213\346\234\272\351\205\215\347\275\256.md" @@ -1,6 +1,8 @@ +**这篇文章中的内容可能已经过时,请等待后续文档更新。** + > 这篇文档将指导您为 UOJ 社区版添加多个评测机。 > -> 在安装之前,请确保您已经通过安装了新版的 UOJ 社区版;在下文中,我们称该容器为 UOJ 容器。 +> 在安装之前,请确保您已经通过安装了新版的 UOJ 社区版;在下文中,我们称该容器为 UOJ 容器。 ## 在原 UOJ 容器所在物理机上安装 @@ -8,7 +10,7 @@ 首先,请进入 UOJ 容器,并记录 ``/opt/uoj/judger/.conf.json`` 的内容。 -执行下面的命令,从 DockerHub 中获取评测机镜像: +执行下面的命令,从 Docker Hub 中获取评测机镜像: ``` shell sudo docker pull universaloj/uoj-system:judger diff --git "a/post/\345\256\211\350\243\205.md" "b/post/\345\256\211\350\243\205.md" index ad8a969..7b75b75 100644 --- "a/post/\345\256\211\350\243\205.md" +++ "b/post/\345\256\211\350\243\205.md" @@ -1,28 +1,17 @@ -> 这篇文档将指导您安装UOJ。 +> 这篇文档将指导您安装 UOJ。 ## 安装前的准备 -您需要准备一台**64位**的Linux系统,这里建议您使用 [Ubuntu](https://www.ubuntu.com/)。 +您需要准备一台 **64位** 的 Linux 系统,这里建议您使用 [Ubuntu](https://www.ubuntu.com/)。 + +然后您需要安装 Docker。它是一个容器技术,暂且可以理解成虚拟机。 -然后您需要安装`docker`。它是一个容器技术,暂且可以理解成虚拟机。 ```bash curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh -sudo systemctl start docker # 启动 docker 服务 -sudo docker --version # 检查 docker 是否正常安装 -``` - -另外,您可以通过下面的代码安装docker加速器(强烈推荐): -```bash -sudo mkdir -p /etc/docker -sudo tee /etc/docker/daemon.json <<-'EOF' -{ - "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"] -} -EOF -sudo systemctl daemon-reload -sudo systemctl restart docker +sudo systemctl start docker # 启动 docker 服务 +sudo docker --version # 检查 docker 是否正常安装 ``` ## 安装 @@ -30,18 +19,17 @@ sudo systemctl restart docker 您需要执行下面的指令来开始安装 UOJ: ```bash -sudo docker pull universaloj/uoj-system -sudo docker run --name uoj -dit -p 80:80 --cap-add SYS_PTRACE universaloj/uoj-system +git clone https://github.com/UniversalOJ/UOJ-System.git +cd UOJ-System +sudo docker-compose up -d ``` -接下来,UOJ将在后台运行。 +> 如果需要修改端口,请编辑 `docker-compose.yml` 文件,修改 `uoj-web` 服务的 `ports` 项(靠近文件末尾)中的 `80:80` 为 `:80`。 -> 上面的代码是用于**新建一个 UOJ 容器**,重启服务器后**不要**使用`docker run`来启动容器。具体参阅维护文档。 -> 如果您不希望用80端口来运行uoj,您可以把上面的`-p 80:80`改成`-p :80`。 - - -稍等几分钟,访问服务器的地址,您现在应该能看到UOJ正在运行了。 +接下来,UOJ 将在后台启动。稍等几分钟,访问服务器的地址,您现在应该能看到 UOJ 正在运行了。 您注册的第一个用户将被自动设为管理员。 +UOJ 的数据会存储在 `uoj_data` 文件夹下。 + 下一步,请参阅《[维护](https://universaloj.github.io/post/维护.html)》。 diff --git "a/post/\346\234\254\345\234\260\346\236\204\345\273\272\351\225\234\345\203\217.md" "b/post/\346\234\254\345\234\260\346\236\204\345\273\272\351\225\234\345\203\217.md" index 51269d8..aae7ffd 100644 --- "a/post/\346\234\254\345\234\260\346\236\204\345\273\272\351\225\234\345\203\217.md" +++ "b/post/\346\234\254\345\234\260\346\236\204\345\273\272\351\225\234\345\203\217.md" @@ -21,22 +21,6 @@ sudo systemctl enable --now docker # 启用并启动 docker 服务 sudo docker --version # 检查 docker 是否正常安装 ``` - - ## 克隆 UOJ 源码 执行下面的命令,从 GitHub 克隆 UOJ 源码。 @@ -50,21 +34,20 @@ git clone https://github.com/UniversalOJ/UOJ-System.git 执行下面的命令,从源码构建 UOJ 镜像。 ```bash -cd UOJ-System/install/bundle/ -sudo docker build -t uoj-system . +sudo docker compose build ``` 可能需要等待一段时间才能完成构建。构建结束时,屏幕上会显示: ``` -Successfully built xxxxxx -Successfully tagged uoj-system:latest +writing image sha256:xxxxxx +naming to xxxxxx ``` 构建结束后,下列命令可以使用本地构建的镜像运行 UOJ 。 ```bash -sudo docker run --name uoj -dit -p 80:80 --cap-add SYS_PTRACE uoj-system +sudo docker compose up -d ``` -稍等几分钟,访问服务器的地址,应该就能看到 UOJ 的默认主页了,接下来的设置请参阅《[维护](https://universaloj.github.io/post/维护.html)》和《[系统管理](https://universaloj.github.io/post/系统管理.html)》。 +稍等几分钟,访问服务器的地址,应该就能看到 UOJ 的默认主页了,接下来的设置请参阅《[维护](/post/维护.html)》和《[系统管理](/post/系统管理.html)》。 diff --git "a/post/\347\273\264\346\212\244.md" "b/post/\347\273\264\346\212\244.md" index 6986b8e..3d94d83 100644 --- "a/post/\347\273\264\346\212\244.md" +++ "b/post/\347\273\264\346\212\244.md" @@ -1,3 +1,4 @@ +**这篇文章中的内容可能已经过时,请等待后续文档更新。** ## Docker简介