---
# System prepended metadata

title: DOMjudge 安裝

---

# DOMjudge 安裝

## 調整 Grub

開啟文件 `/etc/default/grub` 找到 `GRUB_CMDLINE_LINUX_DEFAULT` 調整成下方的樣子

```
GRUB_CMDLINE_LINUX_DEFAULT="quiet cgroup_enable=memory swapaccount=1 systemd.unified_cgroup_hierarchy=0"
```

接著執行 `update-grub` 並且重開機
重開後利用 `cat /proc/cmdline` 檢測是否成功
如果遇到其他問題可參考：<https://www.domjudge.org/docs/manual/8.0/install-judgehost.html#linux-control-groups>

## 下載

選一個喜歡的地方放下載的專案，例如 `/srv`

```bash=
mkdir -p /srv/domjudge
cd /srv/domjudge
git clone https://github.com/ntub/domjudge-packaging
```


## 設定

- 參考 [config-example.sh](https://github.com/ntub/domjudge-packaging/blob/ntub/config-example.sh) 在同目錄建立 `config.sh` 並編輯調整裡面的內容，修改密碼等等的設定
- 在 `config.sh` 的 `CADDY_FILE_PATH` 建立一個檔案名為 `Caddyfile` 範例內容如下，如需域名設定可參考 Caddy 官方網站
    ```=
    :80

    reverse_proxy domjudge_domserver:80
    ```

## 啟動

依照下方順序執行 script 建立 DOMjudge 容器

```bash=
cd /srv/domjudge

./create-docker-network.sh
./scripts/create-db.sh
./scripts/create-domserver.sh
./scripts/create-judgehost.sh
./scripts/create-reverse-proxy.sh
```


## 獲取登入密碼

```bash=
cd /srv/domjudge

./scripts/get-info.sh
```