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

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

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

ランタイムツール

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

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

パッケージのユニットはデフォルトの設定パスを使用し、出荷状態では 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

2 つの設定ファイルで対応するパスを使用します:

/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 ドロップインを追加する場合は、これらのパスの所有者をそのサービスユーザーに変更してください。

設定ファイルを作成した後、明示的にサービスを有効化します:

sudo systemctl enable --now composia-controller.service
sudo systemctl enable --now composia-agent.service

Linux アーカイブにも packaging/systemd/ 以下に同じユニットファイルが含まれます。アーカイブのバイナリを /usr/local/bin にインストールする場合は、有効化する前に ExecStart パスを編集してください。

最終更新日 • alexma233