OnlineJudgeDeploy/README.md

60 lines
3.3 KiB
Markdown
Raw Normal View History

2017-10-03 23:50:43 +00:00
## Linux 系统安装基础环境
2017-06-11 08:12:35 +00:00
2018-01-19 14:57:10 +00:00
以 Ubuntu 为例,其他可以安装 Docker 的系统也可以。
2017-06-24 15:18:21 +00:00
以下命令都需要 root 用户身份运行,请自行添加 `sudo`
2017-06-11 08:12:35 +00:00
2017-11-29 01:59:42 +00:00
- 必要的工具 `apt-get update && apt-get install -y vim python-pip curl git`
2018-01-19 14:57:10 +00:00
- 安装 Docker `curl -sSL https://get.daocloud.io/docker | sh` (这一步可能比较慢,请耐心等待,官方的安装指南见 https://docs.docker.com/engine/installation/
2017-11-29 01:59:42 +00:00
- 安装 docker-compose `pip install docker-compose`
2017-06-24 15:18:21 +00:00
2017-10-03 23:50:43 +00:00
## Windows 系统安装基础环境
2018-01-19 14:54:31 +00:00
Windows 下仅用临时的测试,不要在生产环境使用 Docker for Windows。
以下教程仅适用于 Win10 x64 下的 `PowerShell`
2017-10-03 23:50:43 +00:00
- 安装 Windows 的 Docker 工具
- 右击右下角 Docker 图标,选择 Settings 进行设置
- 选择 `Shared Drives` 菜单,之后勾选你想安装 OJ 的盘符位置例如勾选D盘点击 `Apply`
- 输入 Windows 的账号密码进行文件共享
- 启动 `PowerShell`,输入`$env:PWD='{your path}'{you path}`代表你想安装的目录。注意!目录必须在你共享的盘符中(例如设置`D:\qduoj`)。由于你创建的是临时环境变量,`PowerShell`关闭则临时变量作废因此每次启动前必须重新设置过。当然你也可以选择在Win的环境变量中永久添加名为`PWD`的环境变量与JDK设置方法相同
2017-12-05 01:25:32 +00:00
>在Windows上面运行 Docker 实际上通过 `Hyper-V` 新建了一个 Linux 虚拟机然后在虚拟机里面运行Docker。因此目录的挂载需要进行文件共享设置。`docker-compose.yml` 里面 `volumes` 挂载目录写的是 `$PWD`,这个在 Linux 里面代表当前目录,而 Windows 中默认不存在。
2017-06-24 15:18:21 +00:00
## 准备安装文件
2017-11-01 01:12:16 +00:00
请选择磁盘空间富余的位置,依次运行下面的命令
2017-06-24 15:18:21 +00:00
2017-12-05 01:25:32 +00:00
```bash
2017-11-29 01:59:42 +00:00
git clone -b 2.0 https://github.com/QingdaoU/OnlineJudgeDeploy.git && cd OnlineJudgeDeploy
2017-10-31 12:26:36 +00:00
```
2017-06-24 15:18:21 +00:00
## 启动服务
2017-12-05 01:25:32 +00:00
```bash
docker-compose up -d
```
2018-01-19 15:04:53 +00:00
> 对于非root用户请用 `sudo -E docker-compose up -d`,否则不会传递当前的 `$PWD` 环境变量。
2017-12-05 01:25:32 +00:00
根据网速情况大约5到30分钟就可以自动搭建完成全程无需人工干预。
2017-11-01 01:12:16 +00:00
2018-01-19 15:04:53 +00:00
等命令执行完成,然后运行 `docker ps -a`,看到所有的容器的状态没有 `unhealthy``Exited (x) xxx` 就代表容器启动成功。然后 `docker logs -f oj-backend` 直到看到 `XX entered RUNNING state, process has stayed up for > than 5 seconds (startsecs)` 就可以 `ctrl + c` 结束掉了,代表已经安装成功。
2017-11-01 01:12:16 +00:00
2017-10-31 12:26:36 +00:00
## 尽情享用吧
2017-06-11 08:12:35 +00:00
2018-01-19 15:04:53 +00:00
通过浏览器访问服务器的 HTTP 80 端口或者 HTTPS 443 端口,就可以开始使用了。后台管理路径为`/admin`, 安装过程中自动添加的超级管理员用户名为`root`,密码为`rootroot` **请务必及时修改密码**
2017-11-01 01:12:16 +00:00
2018-01-19 15:04:53 +00:00
当前目录中的 `data` 目录为OJ的数据存储目录包括数据库、测试用例、头像上传目录等请注意数据安全。
2017-11-01 01:12:16 +00:00
## 定制
2017-11-29 01:59:42 +00:00
2.0版将一些常用设置放到了后台管理中,您可以直接登录管理后台对系统进行配置,而无需进行代码改动。
2017-12-05 01:25:32 +00:00
若需要对系统进行修改或二次开发,请参照各模块的**README**修改完成后需自行构建Docker镜像并修改`docker-compose.yml`
2018-01-19 14:57:10 +00:00
## 遇到了问题?
2017-12-05 01:25:32 +00:00
2018-01-19 14:57:10 +00:00
请参照: [http://docs.onlinejudge.me/](http://docs.onlinejudge.me/#/onlinejudge/faq) 如有其他问题请入群讨论或提issue。