Zum Inhalt springen
Paketmanager und Binärdateien

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-RolleErforderliche Werkzeuge
ControllerCA-Zertifikate, git.
Agentgit, 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 composia

Du kannst auch das .deb-Paket von der Releases-Seite herunterladen und mit deinem Paketmanager installieren.

Überprüfen:

composia --version

Systemdienste

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:

DienstKonfigurationspfad
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.

Nachdem du die Konfigurationsdateien erstellt hast, aktiviere die Dienste explizit:

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

Linux-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.

Zuletzt aktualisiert am • Renovate Bot