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

包管理器与二进制文件

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

运行时工具

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

主机角色必需工具
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

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 init

Use matching paths in the two config files:

/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"

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-tree

If 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.service

Linux 归档也在 packaging/systemd/ 下包含同一组单元文件。如果您把归档中的二进制安装到 /usr/local/bin,请先修改单元文件中的 ExecStart 路径再启用。

最后更新于 • Renovate Bot