Installation
Zeltro läuft unter Linux und macOS und unter Windows über die Desktop-App, die Zeltro für Sie in WSL2 einrichtet (siehe Windows unten).
Führen Sie jeden Installer als Ihr normaler Benutzer aus, nicht als root. Er fragt nach Ihrem sudo-Passwort, wenn er es braucht.
Installation mit einer Zeile#
Diese Zeilen installieren nur die CLI. Wenn Sie auch die Desktop-App möchten, nehmen Sie stattdessen die Zeilen unter Die Desktop-App. Diese installieren die CLI mit, falls sie fehlt.
| Plattform | Befehl |
|---|---|
| Ubuntu 22.04 / 24.04 / 26.04 und Ubuntu-basierte Distributionen (Linux Mint, Pop!_OS) | curl -fsSL https://dist.canebaycomputers.com/zeltro/cli/ubuntu | bash |
| Fedora 43 / 44 | curl -fsSL https://dist.canebaycomputers.com/zeltro/cli/fedora | bash |
| Arch Linux | curl -fsSL https://dist.canebaycomputers.com/zeltro/cli/arch | bash |
| macOS | curl -fsSL https://dist.canebaycomputers.com/zeltro/cli/mac | bash |
Jeder Kurzlink leitet auf das passende install-<os>.sh im
zeltro-cli-Repository weiter.
Debian selbst, RHEL, Rocky und Alma werden noch nicht unterstützt. Der Ubuntu-Installer nutzt Dockers Paketquelle für Ubuntu, der Fedora-Installer die für Fedora. Keine der beiden hat Pakete für diese Distributionen.
Melden Sie sich nach der Installation unter Linux ab und wieder an (siehe Alle Linux-Systeme). Führen Sie dann einmal aus:
zeltro configure
Jeder Installer richtet Docker, Node.js (über nvm, falls Sie nicht schon Node 16
oder neuer haben), Git, jq, einen trash-Befehl, ImageMagick,
rsvg-convert und die GitHub CLI ein. Dann klont er Zeltro nach
/usr/local/share/zeltro-cli und verlinkt den Befehl zeltro nach
/usr/local/bin. Unter macOS installiert er außerdem die Xcode Command Line
Tools, Homebrew und Docker Desktop, falls etwas davon fehlt.
zeltro configure erledigt Folgendes:
- schreibt
/etc/zeltro-cli/.env - wählt ein privates Docker-Subnetz
- legt Ihr Projektverzeichnis an (standardmäßig
~/zeltro-projects) - setzt Ihren Git-Namen und Ihre E-Mail-Adresse, falls noch nicht gesetzt
- installiert die Tab-Vervollständigung für bash
- startet die gemeinsamen Dienste
Hinweise zu den Plattformen#
Alle Linux-Systeme#
Der Installer fügt Sie der Gruppe docker hinzu. Melden Sie sich ab und wieder
an (oder starten Sie neu), bevor Sie Zeltro nutzen, sonst werden Docker-Aufrufe
abgewiesen. Über SSH genügt es, die Verbindung neu aufzubauen.
macOS#
Der Installer richtet Docker Desktop ein. Öffnen Sie es einmal und akzeptieren Sie die Lizenz. Docker Desktop ist kostenlos für den privaten Gebrauch, für Bildung und kleine Unternehmen; größere Firmen brauchen ein kostenpflichtiges Docker-Abo (Dockers Bedingungen). Docker Desktop muss laufen, wann immer Sie Zeltro nutzen. Es unterstützt das aktuelle macOS und die beiden Versionen davor.
Docker Desktop hält die Container in einer VM, deshalb ist die Container-IP vom
Mac aus nicht erreichbar. zeltro status zeigt stattdessen für jedes Projekt
eine Adresse http://localhost:<port>.
Arch#
pacman -Syu führt ein vollständiges System-Upgrade durch, das oft den laufenden Kernel ersetzt. Dann kann Docker erst nach einem Neustart starten. Der Installer erkennt das und zeigt einen Schritt REBOOT NOW an. Starten Sie neu und führen Sie den Installer danach erneut aus, um die Installation abzuschließen.
Fedora: SELinux#
Fedora betreibt SELinux im Enforcing-Modus, und Zeltro bindet jedes Projektverzeichnis per Bind-Mount in seinen Container ein.
Docker CE schaltet die SELinux-Abschottung standardmäßig ab (Container laufen ohne Einschränkung als spc_t), eine Standardinstallation ist also nicht betroffen. Sobald Dockers SELinux-Unterstützung eingeschaltet ist ("selinux-enabled": true in /etc/docker/daemon.json), bekommt jeder Container bei einem nicht gelabelten Projektverzeichnis Permission denied.
zeltro configure versieht Ihr Projektverzeichnis mit dem Label container_file_t, sodass Zeltro in beiden Fällen funktioniert. Wenn Sie Ihr Projektverzeichnis von Hand verschieben, führen Sie zeltro configure erneut aus, damit es neu gelabelt wird.
Windows#
Laden Sie die Desktop-App von
zeltro.ai/download/windows herunter (eine
Beta-Setup-.exe; siehe Downloads). Zeltro selbst läuft unter
Linux, unter Windows also in WSL2, und das richtet die App für Sie ein:
- Der Installer fragt einmal nach Administratorrechten. Windows zeigt die übliche Abfrage, ob die App Änderungen an Ihrem Gerät vornehmen darf. Damit schaltet der Installer die Windows-Features ein, die WSL2 braucht (WSL und VM-Plattform), und aktualisiert WSL. Braucht Windows für diese Features einen Neustart, steht das auf der letzten Seite des Installers.
- Den Rest erledigt die App beim ersten Öffnen, ohne weitere Administrator-Abfragen. Sie installiert Ubuntu 24.04 in WSL2 und installiert und konfiguriert darin Zeltro. Sie müssen nichts in ein Terminal eintippen.
Updates der App überspringen den Administrator-Schritt. Wenn Sie Ihre Projekte lieber auf einem anderen Computer haben, kann die App Zeltro stattdessen auch auf einem Linux-Rechner oder einem Mac über SSH steuern (siehe Downloads).
Es gibt auch ein älteres CLI-Skript, install-windows.ps1, das dieselbe
Einrichtung aus einem Terminal erledigt. Es wird abgeschafft, jetzt wo die
Desktop-App das übernimmt. Es braucht eine PowerShell, die mit Als
Administrator ausführen gestartet wurde:
irm https://raw.githubusercontent.com/CaneBayComputers/zeltro-cli/master/install-windows.ps1 | iex
Das Skript läuft in zwei Etappen, weil das Einschalten der WSL-Windows-Features
einen Neustart erfordert. Es plant sich selbst so ein, dass es nach Ihrer
nächsten Anmeldung weiterläuft. Es braucht Windows 10 Version 2004 (Build 19041)
oder neuer oder Windows 11 und lehnt ältere Builds ab, bevor es etwas ändert.
Das entspricht dem Minimum, das
Microsoft für wsl --install angibt.
WSL2 braucht Hardware-Virtualisierung: VT-x/AMD-V im BIOS/UEFI eingeschaltet,
dazu SLAT. Ist sie ausgeschaltet, sagt die App das und zeigt, wie Sie sie in
den BIOS/UEFI-Einstellungen Ihres Computers einschalten. (Mit dem Skript gelingt
der Ubuntu-Download, aber die Registrierung scheitert mit
HCS_E_HYPERV_NOT_INSTALLED.) Das schließt auch
den Betrieb in einer VirtualBox-VM aus, weil VirtualBox SLAT nicht an das
Gastsystem durchreicht.
Zwei Dinge verhalten sich unter WSL anders:
- WSL fährt eine untätige Distribution herunter und stoppt dabei ihre
Container. Lassen Sie ein Terminal offen oder führen Sie
wsl -d Ubuntu-24.04 -u root -e sleep infinityaus. - Öffnen Sie Projekte über die LAN-ACCESS-Adresse, die
zeltro statusanzeigt. Das ist die Adresse der WSL-VM, und sie ändert sich, wenn WSL neu startet. Lesen Sie sie deshalb jedes Mal aus dem Status ab, statt ein Lesezeichen zu setzen.
Installation aus einem lokalen Checkout#
Nutzen Sie diesen Weg, wenn Sie an Zeltro selbst arbeiten möchten. Starten Sie einen Installer aus einem Checkout heraus, überspringt er das git clone und verlinkt /usr/local/share/zeltro-cli per Symlink auf Ihren Ordner.
git clone https://github.com/CaneBayComputers/zeltro-cli.git
cd zeltro-cli
./install-ubuntu.sh # or install-fedora.sh / install-arch.sh / install-mac.sh
Konfiguration#
zeltro configure können Sie gefahrlos erneut ausführen. Es übernimmt die vorhandenen Werte aus /etc/zeltro-cli/.env als Standard.
| Option | Beschreibung |
|---|---|
--git-name <name> |
Git-Benutzername |
--git-email <email> |
Git-E-Mail-Adresse |
--projects-dir <dir> |
Projektverzeichnis (Standard: das vorhandene oder ~/zeltro-projects) |
--vpc-subnet <A.B.C> |
Docker-VPC-Subnetz (Standard: das vorhandene oder ein zufälliges 10.x.x) |
--non-interactive, -y |
Nie nachfragen; für alles, was nicht als Option übergeben wird, die Standardwerte nehmen |
Für eine vollständig unbeaufsichtigte Einrichtung, etwa in einem Skript, in CI oder beim Bereitstellen eines Rechners für einen Agenten:
zeltro configure --non-interactive \
--git-name "Your Name" --git-email "you@example.com"
Zeltro fragt nicht nach AWS-Zugangsdaten oder einer GitHub-Anmeldung und
braucht beides nicht. Nichts in Zeltro nutzt AWS. Eine GitHub-Anmeldung brauchen
Sie nur für die optionalen --github-Optionen sowie für clone fork und
clone new-repo. Nutzen Sie diese ohne Anmeldung, werden Sie in dem Moment
aufgefordert, gh auth login auszuführen.
Zeltro wählt das Docker-VPC-Subnetz für Sie. Es ist ein privates /24 im
Bereich 10.x.x, nie 10.0.x, sodass es nicht mit dem Netz 10.0.0.0/24
kollidieren kann, das viele Heim- und Büronetzwerke nutzen. Brauchen Sie einen
bestimmten Bereich, verwenden Sie --vpc-subnet.
Die Tab-Vervollständigung kennt Befehle, Projektnamen, Framework-Namen und Installer-Namen:
zeltro ins<TAB> → install
zeltro install gr<TAB> → grafana gramps-web graylog grist grocy
zeltro up <TAB> → (your project names)
zeltro new <TAB> → django express fastapi flask kavera laravel ...
Die Desktop-App#
Die Zeltro-Desktop-App ist optional. Unter Linux installiert ein Befehl sie und
vorher diese CLI, falls zeltro fehlt:
curl -fsSL https://dist.canebaycomputers.com/zeltro/ubuntu | bash
Das funktioniert unter Ubuntu/Debian, Fedora/RHEL und Arch. Auf einem Mac nehmen
Sie stattdessen
curl -fsSL https://dist.canebaycomputers.com/zeltro/mac | bash, und für
Windows gibt es eine Setup-.exe, die auch WSL2 einrichtet (siehe Windows). Beim ersten Start zeigt die App ein kurzes
Einrichtungsformular und führt zeltro configure für Sie aus. Haben Sie Zeltro
schon im Terminal konfiguriert, überspringt sie das Formular.
Die Pakete liegen auf der Releases-Seite. Welches Sie nehmen, steht unter Downloads.
Aktualisieren#
zeltro update # git pull the CLI only — nothing else is touched
zeltro update --full # also re-run the platform installer and re-pull Docker images
--full stoppt laufende Projekte.
Deinstallieren#
zeltro uninstall # remove Zeltro's Docker containers, volumes and networks
zeltro uninstall --delete-images # also remove the Docker images
sudo rm -f /usr/local/bin/zeltro
sudo rm -rf /usr/local/share/zeltro-cli
sudo rm -f /usr/share/bash-completion/completions/zeltro /etc/bash_completion.d/zeltro
sudo rm -rf /etc/zeltro-cli # optional: also remove configuration
Ohne --delete-images fragt zeltro uninstall, ob die Images entfernt werden
sollen.
Entfernt werden: die Container der gemeinsamen Dienste, die
Projekt-Container sowie Zeltros Volumes und Netzwerke. In den Volumes liegen die
gemeinsamen Datenbanken, also wird die Datenbank jedes Projekts gelöscht.
Sichern Sie vorher per Dump alles, was Sie behalten möchten. Die
docker-compose.yaml jedes Projekts wird in docker-compose.yaml.backup
umbenannt.
Erhalten bleiben: Ihr gesamter Projekt-Quellcode, Container und Images, die nicht zu Zeltro gehören, und Docker selbst.
Einen Fehler in dieser Übersetzung gefunden? Sagen Sie es uns auf GitHub.