コンテンツにスキップ
パッケージマネージャーとバイナリ

パッケージマネージャーとバイナリ

このページは非コンテナインストールと手動バイナリダウンロード向けです。

ランタイムツール

コンテナイメージにはこれらのツールがすでに含まれています。非コンテナインストールではホスト上にこれらを用意する必要があります。

ホストロール必要なツール
コントローラー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 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