パッケージマネージャーとバイナリ
このページは非コンテナインストールと手動バイナリダウンロード向けです。
ランタイムツール
コンテナイメージにはこれらのツールがすでに含まれています。非コンテナインストールではホスト上にこれらを用意する必要があります。
| ホストロール | 必要なツール |
|---|---|
| コントローラー | 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 init2 つの設定ファイルで対応するパスを使用します:
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"所有権、書き込み権限、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-treeUser= を指定した systemd ドロップインを追加する場合は、これらのパスの所有者をそのサービスユーザーに変更してください。
設定ファイルを作成した後、明示的にサービスを有効化します:
sudo systemctl enable --now composia-controller.service
sudo systemctl enable --now composia-agent.serviceLinux アーカイブにも packaging/systemd/ 以下に同じユニットファイルが含まれます。アーカイブのバイナリを /usr/local/bin にインストールする場合は、有効化する前に ExecStart パスを編集してください。