包管理器与二进制文件
本页适用于非容器安装和手动下载二进制文件。
运行时工具
容器镜像已包含这些工具。非容器安装必须在主机上提供它们。
| 主机角色 | 必需工具 |
|---|---|
| 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 |
软件包中的单元使用默认配置路径,并以 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.serviceLinux 归档也在 packaging/systemd/ 下包含同一组单元文件。如果您把归档中的二进制安装到 /usr/local/bin,请先修改单元文件中的 ExecStart 路径再启用。
最后更新于 • alexma233