Gestionnaires de paquets et binaires
Utilisez cette page pour les installations sans conteneur et les téléchargements manuels de binaires.
Outils d’exécution
Les images de conteneur incluent déjà ces outils. Les installations sans conteneur doivent les fournir sur l’hôte.
| Rôle hôte | Outils requis |
|---|---|
| Contrôleur | Certificats CA, git. |
| Agent | git, Docker CLI, plugin Docker Buildx, plugin Docker Compose, accès au démon Docker. |
Les paquets et archives Linux installent les binaires Composia et des unités systemd facultatives. Ils n’installent pas Docker, Docker Compose ou Git pour vous.
Debian et Ubuntu
Ajoutez le dépôt APT Forgejo :
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 composiaVous pouvez également télécharger le paquet .deb depuis la page des Releases et l’installer avec votre gestionnaire de paquets.
Vérifiez :
composia --versionServices système
Les paquets Linux installent des unités systemd inactives pour le contrôleur et l’agent. Les unités ne sont pas activées ni démarrées automatiquement.
Les unités empaquetées utilisent les chemins de configuration par défaut :
| Service | Chemin de configuration |
|---|---|
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.
Après avoir créé les fichiers de configuration, activez les services explicitement :
sudo systemctl enable --now composia-controller.service
sudo systemctl enable --now composia-agent.serviceLes archives Linux incluent les mêmes unités sous packaging/systemd/. Si vous installez les binaires d’archive sous /usr/local/bin, modifiez les chemins ExecStart avant de les activer.