パッケージマネージャーとバイナリ
このページは非コンテナインストールと手動バイナリダウンロード向けです。
ランタイムツール
コンテナイメージにはこれらのツールがすでに含まれています。非コンテナインストールではホスト上にこれらを用意する必要があります。
| ホストロール | 必要なツール |
|---|---|
| コントローラー | 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 パッケージは、コントローラーとエージェント用の無効状態の 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 パスを編集してください。