跳至内容
包管理器与二进制文件

包管理器与二进制文件

本页适用于非容器安装和手动下载二进制文件。

运行时工具

容器镜像已包含这些工具。非容器安装必须在主机上提供它们。

主机角色必需工具
ControllerCA 证书、git
Agentgit、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