包管理器与二进制文件
本页适用于非容器安装和手动下载二进制文件。
运行时工具
容器镜像已包含这些工具。非容器安装必须在主机上提供它们。
| 主机角色 | 必需工具 |
|---|---|
| Controller | CA 证书、git。 |
| Agent | 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 |
The packaged units use the default config paths, run as root as shipped, and do not create config files, data directories, or Git repositories for you. Bootstrap them before enabling services:
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 initUse matching paths in the two config files:
controller:
repo_dir: "/var/lib/composia/controller/repo"
state_dir: "/var/lib/composia/controller/state"
log_dir: "/var/lib/composia/controller/logs"agent:
repo_dir: "/var/lib/composia/agent/repo"
state_dir: "/var/lib/composia/agent/state"Verify ownership, write access, and Git initialization:
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-treeIf you add a systemd drop-in with User=, chown these paths to that service user instead.
创建配置文件后,显式启用服务:
sudo systemctl enable --now composia-controller.service
sudo systemctl enable --now composia-agent.serviceLinux 归档也在 packaging/systemd/ 下包含同一组单元文件。如果您把归档中的二进制安装到 /usr/local/bin,请先修改单元文件中的 ExecStart 路径再启用。