CLI Kunde
Installieren von cipi-cli
cipi-cli ist eine eigenständige Go-Binärdatei, die mit dem Cipi REST API von Ihrem lokalen Server aus kommuniziert
Maschine. Kein SSH erforderlich – verwalten Sie Apps, Datenbanken, SSL-Zertifikate und Bereitstellungen von jedem Ort aus
Terminal. Binärdateien sind für Linux und macOS (amd64 und arm64) verfügbar.
cipi-cli. Siehe cipi api für
Installationsanweisungen.
Binärdatei herunterladen
Laden Sie die neueste Version für Ihre Plattform herunter Seite „Veröffentlichungen“., dann:
chmod +x cipi-cli-* sudo mv cipi-cli-* /usr/local/bin/cipi-cli
Aus dem Quellcode erstellen
git clone https://github.com/cipi-sh/cli.git cd cli make build sudo make install
Überprüfen Sie die Installation
$ cipi-cli version cipi-cli v1.2.5 (Linux/amd64)
CLI Kunde
Konfiguration
A Profil ist eine benannte Verbindung zu einem Cipi-Server (API Endpunkt + Token). Verwenden Sie als
viele Profile, da Sie beispielsweise Server haben prod, staging, oder
client-a. Sie benötigen die Endpunkt-URL API und ein mit erstelltes Sanctum-Token
cipi api token create auf jedem Server.
Anmeldeinformationen werden pro Profil in gespeichert ~/.cipi/config.json mit Berechtigungen
0600. Übergeben Sie immer einen Profilnamen – wenn Sie ihn weglassen, fordert CLI stattdessen zur Eingabe eines Profilnamens auf
schreibe stillschweigend an default.
Interaktives Setup
Empfohlen: Speichern Sie den Token bei api token add. Gleichwertige Helfer sind
configure --profile und profiles add:
$ cipi-cli api token add prod Cipi API Endpunkt: https://api.example.com API Token: 1|IhrToken... Serverprofil „prod“ gespeichert → ~/.cipi/config.json $ cipi-cli api token add staging Cipi API Endpunkt: https://staging-api.example.com API Token: 1|stagingtoken... Serverprofil „Staging“ gespeichert → ~/.cipi/config.json # Same flow via configure / profiles add $ cipi-cli configure --profile prod $ cipi-cli profiles add staging
Nicht interaktives Setup
$ cipi-cli api token add prod \ --endpoint https://api.example.com --token "1|yourtoken..." $ cipi-cli profiles add staging \ --endpoint https://staging.example.com --token "1|yourtoken..."
Konfiguration anzeigen
$ cipi-cli profiles show prod Profil: Prod Endpunkt: https://api.example.com Token: 1|a8Kz...4f2a $ cipi-cli profiles show # Shows all configured server profiles
CLI Kunde
profiles
Verwalten Sie mehrere Serververbindungen von einem einzigen aus cipi-cli Installation. Ein Profil
entspricht einem Server. Stellen Sie jedem Befehl einen Profilnamen als Ziel für diesen Server voran oder legen Sie einen Standardwert fest
mit profiles use das Präfix weglassen. Die Aliase servers /
server funktioniert genauso wie profiles.
Ausrichtung auf einen Server
$ cipi-cli prod apps list $ cipi-cli staging apps show myapp $ cipi-cli prod deploy myapp $ cipi-cli prod ssl install myapp
Mit einem Standardserversatz können Sie Befehle ohne das Präfix ausführen:
$ cipi-cli profiles use prod Standardprofil auf „prod“ eingestellt $ cipi-cli apps list # Uses the prod profile $ cipi-cli staging apps list # Explicit prefix still targets staging
| Befehl | Beschreibung |
|---|---|
| cipi-cli api Token hinzufügen [Profil] | Fügen Sie API Endpunkt + Token für ein benanntes Serverprofil hinzu oder aktualisieren Sie es |
| cipi-cli Profile | Konfigurierte Server auflisten (Alias: cipi-cli servers) |
| cipi-cli Profile fügen [Name] [Flags] hinzu | Fügen Sie ein Serverprofil hinzu oder aktualisieren Sie es (wie configure --profile) |
| cipi-cli Profilliste | Konfigurierte Server auflisten |
| cipi-cli Profile zeigen [Profil] | Zeigt ein Serverprofil oder alle, wenn es weggelassen wird |
| cipi-cli Profile verwenden <profile> | Legen Sie den Standardserver fest (Alias: profiles default) |
| cipi-cli Profile löschen <Profil> [-y] | Löschen Sie ein lokales Serverprofil (nur Anmeldeinformationen – auf dem Remote-Server ändert sich nichts) |
api token add, profiles add, und configure akzeptiere das Gleiche
Flaggen: --endpoint und --token (zzgl --profile wenn der Name
ist nicht positionell).
servers / server → profiles;
profiles use → profiles default. Es gelten die gleichen Verwaltungsbefehle
auch erhältlich unter cipi-cli configure list, configure show,
configure default, und configure delete – lieber
profiles oder api token add zum Speichern von Anmeldeinformationen.
CLI Kunde
apps
Verwalten Sie Anwendungen auf Ihrem Cipi-Server.
| Befehl | Beschreibung |
|---|---|
| cipi-cli Apps-Liste | Listen Sie alle Anwendungen auf |
| cipi-cli Apps zeigen <Name> an | Bewerbungsdetails anzeigen |
| cipi-cli Apps erstellen [Flags] | Erstellen Sie eine neue Anwendung |
| cipi-cli Apps bearbeiten <Name> [Flags] | Bearbeiten Sie eine Anwendung |
| cipi-cli Apps löschen <Name> [-y] | Löschen Sie eine Anwendung |
| cipi-cli Apps sperren <Name> | Nehmen Sie eine App offline (HTTP 503-Wartungsseite), ohne sie zu löschen |
| cipi-cli Apps heben die Suspendierung von <Name> auf | Stellen Sie den normalen Dienst einer angehaltenen App wieder her |
| cipi-cli App-Protokolle <Name> [Flags] | Paginierte Anwendungsprotokolle lesen (nginx, PHP-FPM, Laravel, Worker, Deploy) |
Flaggen erstellen
Flags bearbeiten
Protokolliert Flags
Beispiele
# List all apps $ cipi-cli apps list # Create a Laravel app $ cipi-cli apps create --user=myapp --domain=myapp.com \ --php=8.5 --repository=git@github.com:acme/myapp.git --branch=main # Create a custom (non-Laravel) app $ cipi-cli apps create --user=landing --domain=landing.acme.com \ --custom --docroot=dist # Edit an existing app $ cipi-cli apps edit myapp --php=8.4 # Suspend staging for maintenance $ cipi-cli apps suspend staging # Read recent deploy logs (page 1 = newest lines) $ cipi-cli apps logs myapp --type=deploy # Paginate older nginx lines $ cipi-cli apps logs myapp --type=nginx --page=2 --per-page=100 # Delete an app (skip confirmation) $ cipi-cli apps delete myapp -y
CLI Kunde
domains
Listen Sie alle primären Domänen und Alias aller Apps auf dem Server in einer einzigen Tabelle auf – der Remote-Tabelle
Gegenstück zu cipi domains auf dem Server.
Nützlich zum Überprüfen der DNS-Abdeckung oder zum Erkennen von Domänen, denen SSL vor einer Zertifikatsverlängerung fehlt.
| Befehl | Beschreibung |
|---|---|
| cipi-cli Domänen | Listen Sie jede Domain und jeden Alias in allen Apps auf |
$ cipi-cli domains DOMAIN-APP-ART-TYP PHP SSL api.myapp.com myapp-Alias Laravel 8.5 ✓ myapp.com myapp primär Laravel 8.5 ✓ www.myapp.com myapp alias Laravel 8.5 ✓ 3 Domains · 1 App · 3 Zertifikate
GET /api/apps auf dem Server. Es erfordert
Cipi 4.5.5+ auf dem Server (für die zugrunde liegende
cipi domains Daten), aber keine Mindestpaketversion API.
CLI Kunde
deploy
Lösen Sie Bereitstellungen aus, führen Sie ein Rollback auf die vorherige Version durch oder entsperren Sie eine blockierte Bereitstellung.
| Befehl | Beschreibung |
|---|---|
| cipi-cli <App> bereitstellen | Lösen Sie eine Bereitstellung ohne Ausfallzeiten aus |
| cipi-cli Rollback bereitstellen <app> [-y] | Rollback zur vorherigen Version |
| cipi-cli Entsperren von <App> bereitstellen | Entsperren Sie eine feststeckende Bereitstellung |
$ cipi-cli deploy myapp Bereitstellung von myapp... Umfrageauftrag Nr. 42... abgeschlossen Bereitgestellt für Release Nr. 14. Keine Ausfallzeiten. $ cipi-cli deploy rollback myapp Zurückgesetzt auf Version Nr. 13.
CLI Kunde
ssl
Installieren Sie Let's Encrypt-Zertifikate für Ihre Anwendungen.
| Befehl | Beschreibung |
|---|---|
| cipi-cli ssl <App> installieren | Installieren Sie das Zertifikat Let's Encrypt (deckt die primäre Domäne und alle Aliase ab) |
$ cipi-cli ssl install myapp Für myapp.com bereitgestelltes Zertifikat
CLI Kunde
aliases
Verwalten Sie Domänenaliase für eine Anwendung.
| Befehl | Beschreibung |
|---|---|
| cipi-cli Aliasliste <app> | Listen Sie alle Aliase für eine App auf |
| cipi-cli Aliase fügen <app> <domain> hinzu | Fügen Sie einen Domänenalias hinzu |
| cipi-cli Aliase entfernen <app> <domain> [-y] | Entfernen Sie einen Domain-Alias |
$ cipi-cli aliases add myapp www.myapp.com Alias www.myapp.com zu myapp hinzugefügt. $ cipi-cli aliases list myapp www.myapp.com api.myapp.com # Re-run ssl install to include new aliases in the certificate $ cipi-cli ssl install myapp
CLI Kunde
db
Verwalten Sie MariaDB-Datenbanken.
| Befehl | Beschreibung |
|---|---|
| cipi-cli Datenbankliste | Listen Sie alle Datenbanken auf |
| cipi-cli Datenbank erstellt <Name> | Erstellen Sie eine Datenbank |
| cipi-cli Datenbank löschen <Name> [-y] | Löschen Sie eine Datenbank |
| cipi-cli Datenbanksicherung <Name> | Erstellen Sie eine Datenbanksicherung |
| cipi-cli Datenbankwiederherstellung <Name> [-y] | Datenbank aus Backup wiederherstellen |
| cipi-cli Datenbankpasswort <Name> [-y] | Passwort neu generieren und aktualisieren .env |
$ cipi-cli db list NAMENSGRÖSSE myapp 24,5 MB Blog 8,2 MB $ cipi-cli db backup myapp Backup erstellt: myapp_20260402_143022.sql.gz $ cipi-cli db restore myapp -y Datenbank erfolgreich wiederhergestellt.
CLI Kunde
status
Lesen Sie denselben Host-Snapshot wie cipi status auf
der Server – über GET /api/status. Nackt status zeigt eine globale Übersicht
(eine Zeile pro konfiguriertem Server). Geben Sie einen Profilnamen ein (oder verwenden Sie ein Profilpräfix), um vollständige Details zu erhalten.
| Befehl | Beschreibung |
|---|---|
| cipi-cli Status | Globale Übersicht – eine Zeile pro Server (Alias: status all) |
| cipi-cli Status <Profil> | Vollständige Details für einen Server |
| cipi-cli <Profil>-Status | Gleiche Detailansicht, über Profilpräfix |
Globale Spalten: NAME, IP, CPU, RAM,
HDD, APPS, SVC, CIPI. Das Standardprofil ist
gekennzeichnet mit *.
$ cipi-cli status NAME IP CPU RAM HDD APPS SVC CIPI Produkt* 203.0.113.10 12 % 48 % (3840M) 42G/80G 53 % 3 8/8 ok 4.6.3 Staging 203.0.113.20 4 % 31 % (2048M) 18G/40G 45 % 1 8/8 ok 4.6.3 * Standardprofil Detail: cipi-cli Status <Name> $ cipi-cli status prod Serverstatus – Produkt Endpunkt https://api.example.com Hostname prod-01 IP 203.0.113.10 Betriebssystem Ubuntu 24.04 Betriebszeit 12 Tage Cipi 4.6.3 CPU 12 % RAM 3840/8192 MB (48 %) Festplatte 42G/80G (53 %) Apps 3
status-view und
GET /api/status auf dem Server (API 1.11.6+). Erstellen oder drehen Sie das
Token mit cipi api token create und einschließen status-view.
CLI Kunde
jobs
Schreibvorgänge (Erstellen, Bearbeiten, Löschen, Bereitstellen, SSL usw.) sind auf Cipi API asynchron. Das CLI
fragt automatisch nach Auftragsabschluss und zeigt während des Wartens einen Spinner an. Wenn Sie es lieber handhaben möchten
Wenn Sie die Abfrage manuell durchführen möchten, verwenden Sie die jobs Befehle.
| Befehl | Beschreibung |
|---|---|
| cipi-cli Jobs zeigen <id> | Jobstatus anzeigen |
| cipi-cli Jobs warten <id> | Warten, bis ein Auftrag abgeschlossen ist (Blockierung) |
$ cipi-cli jobs show 42 Job Nr. 42: myapp bereitstellen – abgeschlossen $ cipi-cli jobs wait 43 Warten auf Job Nr. 43... abgeschlossen
CLI Kunde
update
Aktualisieren cipi-cli zur neuesten Version von GitHub. Der Befehl wählt die aus
Höchstes Semver unter den veröffentlichten Veröffentlichungen (nicht die „neueste“ Flagge von GitHub, die das kann
zeigt auf ein älteres Tag), lädt die passende Binärdatei für Ihre Plattform herunter und überprüft deren SHA-256
Prüfsumme und ersetzt die laufende Binärdatei an Ort und Stelle. Aliase: self-update,
upgrade.
| Befehl | Beschreibung |
|---|---|
| cipi-cli Aktualisierung | Update zum höchsten veröffentlichten Semester |
| cipi-cli update --force | Neuinstallation, auch wenn bereits auf dem neuesten Stand (Downgrade möglich) |
$ cipi-cli update cipi-cli v1.2.5 wird heruntergeladen... Prüfsumme überprüft. Aktualisiert auf v1.2.5. # Aliases work the same $ cipi-cli self-update $ cipi-cli upgrade # If installed in a system path, use sudo $ sudo cipi-cli update
CLI Kunde
completion
Installieren Sie die Shell-Autovervollständigung für cipi-cli. Der empfohlene Pfad ist
completion install, das Ihre Shell erkennt, das Abschlussskript schreibt und einhängt
es in Ihre RC-Datei (idempotent).
| Befehl | Beschreibung |
|---|---|
| cipi-cli Abschluss der Installation | Shell automatisch erkennen und Installation abschließen |
| cipi-cli Abschluss der Installation --shell zsh | Für eine bestimmte Shell installieren (zsh, bash, oder
fish) |
| cipi-cli Abschluss zsh | Drucken Sie das ZSH-Abschlussskript auf stdout |
| cipi-cli Abschluss-Bash | Drucken Sie das Bash-Vervollständigungsskript auf stdout |
| cipi-cli Abschlussfisch | Drucken Sie das Fischvervollständigungsskript auf stdout |
$ cipi-cli completion install ZSH-Vervollständigung wird installiert... Abschluss installiert → ~/.cipi/completions/cipi-cli.zsh Eingebunden in ~/.zshrc # Or pin a shell explicitly $ cipi-cli completion install --shell bash
Für zsh und bash wird das Skript unter geschrieben ~/.cipi/completions/ und eine Quellzeile ist
an Ihre Shell-RC-Datei angehängt. Für Fisch geht das Skript zu
~/.config/fish/completions/ (automatisch geladen). Laden Sie anschließend die Shell neu und versuchen Sie es dann
cipi-cli <TAB>.
CLI Kunde
Globale Flaggen
Diese Flags sind für alle Befehle verfügbar.
# JSON output for scripting $ cipi-cli apps list --json [{"name": "meine App", "Domäne": "meine App.com", "php": "8,5"}, ...] # Pipe to jq for filtering $ cipi-cli apps list --json | jq '.[].name' „meine App“ „Blog“ # Help for a specific command $ cipi-cli apps create --help
Veröffentlichungen
Freigaben werden über GitHub-Aktionen automatisiert. Vorgefertigte Binärdateien für Linux (amd64/arm64) und macOS (amd64/arm64) werden mit SHA-256-Prüfsummen auf der veröffentlicht GitHub Releases-Seite.
Quellcode
cipi-cli ist open source, MIT-lizenziert und in Go geschrieben. Beiträge willkommen auf
GitHub.
CLI Kunde
Anforderungen
Der Cipi-Server muss über Folgendes verfügen API Paket installiert und konfiguriert
vor der Verwendung cipi-cli:
$ cipi api <domain> $ cipi api ssl $ cipi api token create
Neue App-Versionen müssen PHP sein 8.3, 8.4, oder 8.5 (Cipi 4.5.4+). Einige CLI-Funktionen hängen von bestimmten Server- und API-Versionen ab:
| Funktion | Mindestens Cipi | Mindestens API |
|---|---|---|
Suspendieren / Suspendieren aufheben (apps suspend) |
4.5.8 | 1.8.1 |
Primäre Domäne umbenennen (apps edit --domain) |
4.6.2 | 1.9.0 |
App-Protokolle (apps logs) |
— | 1.11.9 |
Serverstatus (status) |
— | GET /api/status + status-view (1.11.6+) |
Globale Domänenkarte (domains) |
4.5.5 | — (erbaut aus /api/apps) |