用 Kroki 搞定 GitLab 上的 UML 圖

在「在自架 GitLab 使用 Kroki 來繪圖」這邊看到 Kroki,先把自己的 GitLab 接上去,整個流程還蠻簡單的...

Kroki uses a simple algorithm (deflate + base64) to encode your diagram in the URL:

GET /plantuml/svg/SyfFKj2rKt3CoKnELR1Io4ZDoSa70000

我跟 Heresy 用的方法不太一樣,是透過「Manual Install」這邊的方式裝,只要先把 .jar 檔抓下來放到對應的位置 (我是丟到 /usr/share/kroki/ 這邊),然後自己寫個 systemd 的 service 檔案放到 /lib/systemd/system/kroki.service 裡面:

#
[Unit]
Description=Kroki daemon
After=remote-fs.target

[Service]
ExecStart=/usr/bin/java -jar /usr/share/kroki/kroki-server-v0.13.0.jar
Restart=always
RestartSec=60
Type=simple

[Install]
WantedBy=multi-user.target

預設是 SECURE 模式 (參考「Configuration」這邊的說明),我就不加什麼特別的參數了,另外預設會跑在 port 8000,這邊會需要自己設定 nginx

然後讓 systemd 重讀設定再跑起來:

sudo systemctl daemon-reload
sudo systemctl enable kroki
sudo service kroki restart

目前跑的兩台機器都是 Ubuntu 18.04,內建的 JDK 都是 Java 8 的版本,不確定 Java 11 的環境如何。