跳至內容
套件管理器與二進位檔

套件管理器與二進位檔

此頁面用於非容器的安裝和手動二進位檔下載。

執行時期工具

容器映像檔已包含這些工具。非容器安裝必須在主機上提供它們。

主機角色必要工具
控制器CA 憑證、git
代理git、Docker CLI、Docker Buildx 外掛、Docker Compose 外掛、對 Docker 守護程序的存取。

Linux 套件和壓縮檔會安裝 Composia 二進位檔與可選的 systemd 單元檔。它們不會為您安裝 Docker、Docker Compose 或 Git。

Debian 與 Ubuntu

加入 Forgejo APT 存放庫:

sudo install -d -m 0755 /etc/apt/keyrings
sudo curl https://forgejo.alexma.top/api/packages/alexma233/debian/repository.key \
  -o /etc/apt/keyrings/composia.asc

echo "deb [signed-by=/etc/apt/keyrings/composia.asc] https://forgejo.alexma.top/api/packages/alexma233/debian stable main" \
  | sudo tee /etc/apt/sources.list.d/composia.list

sudo apt update
sudo apt install composia

您也可以從發行版本頁面下載 .deb 套件並使用您的套件管理器安裝。

驗證:

composia --version

系統服務

Linux 套件會安裝未啟用的 controller 與 agent systemd 單元。套件不會自動啟用或啟動這些服務。

打包的單元使用預設設定路徑:

服務設定路徑
composia-controller.service/etc/composia/controller/config.yaml
composia-agent.service/etc/composia/agent/config.yaml

套件中的單元使用預設設定路徑,並以 root 身分執行;它們不會建立設定檔、資料目錄或 Git 存放庫。請在啟用服務前完成初始化:

sudo install -d -m 0755 /etc/composia/controller /etc/composia/agent
sudo install -d -m 0750 \
  /var/lib/composia/controller/repo \
  /var/lib/composia/controller/state \
  /var/lib/composia/controller/logs \
  /var/lib/composia/agent/repo \
  /var/lib/composia/agent/state
sudo chown -R root:root /etc/composia /var/lib/composia
sudo git -C /var/lib/composia/controller/repo init
sudo git -C /var/lib/composia/agent/repo init

在兩個設定檔中使用對應的路徑:

/etc/composia/controller/config.yaml
controller:
  repo_dir: "/var/lib/composia/controller/repo"
  state_dir: "/var/lib/composia/controller/state"
  log_dir: "/var/lib/composia/controller/logs"
/etc/composia/agent/config.yaml
agent:
  repo_dir: "/var/lib/composia/agent/repo"
  state_dir: "/var/lib/composia/agent/state"

驗證擁有權、寫入權限和 Git 初始化:

stat -c '%U:%G %a %n' \
  /var/lib/composia/controller/repo \
  /var/lib/composia/controller/state \
  /var/lib/composia/controller/logs \
  /var/lib/composia/agent/repo \
  /var/lib/composia/agent/state
sudo test -w /var/lib/composia/controller/repo
sudo test -w /var/lib/composia/agent/repo
sudo git -C /var/lib/composia/controller/repo rev-parse --is-inside-work-tree
sudo git -C /var/lib/composia/agent/repo rev-parse --is-inside-work-tree

如果新增了帶有 User= 的 systemd drop-in,請將這些路徑的擁有者改為對應的服務使用者。

建立設定檔後,明確啟用服務:

sudo systemctl enable --now composia-controller.service
sudo systemctl enable --now composia-agent.service

Linux 壓縮檔也會在 packaging/systemd/ 下包含同一組單元檔。如果您將壓縮檔中的二進位檔安裝到 /usr/local/bin,請先修改單元檔中的 ExecStart 路徑再啟用。

最後更新於 • alexma233