Paketmanager und Binärdateien
Verwende diese Seite für Nicht-Container-Installationen und manuelle Binär-Downloads.
Laufzeitwerkzeuge
Container-Images enthalten diese Werkzeuge bereits. Nicht-Container-Installationen müssen sie auf dem Host bereitstellen.
| Host-Rolle | Erforderliche Werkzeuge |
|---|---|
| Controller | CA-Zertifikate, git. |
| Agent | git, Docker CLI, Docker Buildx-Plugin, Docker Compose-Plugin, Zugriff auf den Docker-Daemon. |
Linux-Pakete und -Archive installieren Composia-Binärdateien und optionale systemd-Unit-Dateien. Sie installieren Docker, Docker Compose oder Git nicht für dich.
Debian und Ubuntu
Füge das Forgejo-APT-Repository hinzu:
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 composiaDu kannst auch das .deb-Paket von der Releases-Seite herunterladen und mit deinem Paketmanager installieren.
Überprüfen:
composia --versionSystemdienste
Linux-Pakete installieren inaktive systemd-Units für Controller und Agent. Die Units werden nicht automatisch aktiviert oder gestartet.
Die paketierten Units verwenden die Standard-Konfigurationspfade:
| Dienst | Konfigurationspfad |
|---|---|
composia-controller.service | /etc/composia/controller/config.yaml |
composia-agent.service | /etc/composia/agent/config.yaml |
Die paketierten Units verwenden die Standard-Konfigurationspfade, laufen im ausgelieferten Zustand als root und erstellen keine Konfigurationsdateien, Datenverzeichnisse oder Git-Repositories. Bereite diese vor, bevor du die Dienste aktivierst:
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 initVerwende übereinstimmende Pfade in den beiden Konfigurationsdateien:
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"Prüfe Besitzverhältnisse, Schreibzugriff und Git-Initialisierung:
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-treeWenn du ein systemd-Drop-in mit User= hinzufügst, übertrage diese Pfade stattdessen an diesen Dienstbenutzer.
Nachdem du die Konfigurationsdateien erstellt hast, aktiviere die Dienste explizit:
sudo systemctl enable --now composia-controller.service
sudo systemctl enable --now composia-agent.serviceLinux-Archive enthalten dieselben Unit-Dateien unter packaging/systemd/. Wenn du Archiv-Binärdateien unter /usr/local/bin installierst, passe die ExecStart-Pfade vor dem Aktivieren an.