Das optionale Web-Kontrollfeld

Cipi ist und wird immer sein CLI-zuerst. Alles, was ein Server braucht – Apps, Datenbanken, SSL, Deploys, Backups, Firewall – ist ein Single cipi Befehl über SSH weg. Aber von v4.7.0 Cipi liefert auch eine optional Web-Kontrollfeld: a self-hosted Laravel Dashboard, das einen oder mehrere Cipi Server über den Browser verwaltet RUHE API Verwendung des CLI-Clients und des WHMCS-Moduls.

100 % optional. Das Panel ist ein separates Paket, das Sie nur installieren, wenn Sie möchten es. Überspringen Sie es und Cipi läuft genau wie zuvor – ein schlankes CLI ohne Daemon, ohne Weboberfläche und nichts extra zuhören. Installieren Sie es und Ihr Team oder Ihre Kunden erhalten eine benutzerfreundliche Benutzeroberfläche, ohne aufgeben zu müssen das Terminal. Ihr Server, Ihre Wahl.

Das Panel ist eine dünne visuelle Schicht über dem API – es ersetzt nicht das CLI und fügt auch kein proprietäres hinzu Kontrollebene. Alles, was Sie im Browser tun, können Sie weiterhin vom Terminal aus tun und umgekehrt. Ein einziges Panel kann viele Server steuern und dient somit gleichzeitig als leichtes Multi-Server-Cockpit.

Was Sie über das Panel tun können

  • Verwalten Apps – Laravel und erstellen, bearbeiten, bereitstellen, anhalten/aufheben und löschen benutzerdefinierte Apps; Verwalten Sie Aliase, WWW/Apex-Weiterleitungen, SSL (installieren + HTTPS erzwingen) und HTTP Basic Autor.
  • Erstellen Sie optional Laravel Apps Laravel Octane (FrankenPHP) (API 1.13+ / Cipi 5.0+); Listen- und Detailansichten zeigen FPM vs Octane.
  • App bearbeiten .env, verwalten Composer auth.json, lauf Artisan, und ausführen auf die Whitelist gesetzt App-Befehle (cipi app run) – erfordert API 1.14+ / Cipi 5.0.3+ (Terminalausgabe unterstützt Markdown kopieren).
  • Wählen Sie eine Datenbank Motor bei App erstellen (mariadb oder pgsql) und Multi-Engine-Datenbanken verwalten (API 1.12+ / Cipi 4.8+).
  • Durchsuchen Sie Anwendung und Server Protokolle mit Typfilter, Paginierung und automatische Aktualisierung.
  • Beobachten Sie Asynchrone Jobs in einem interaktiven Overlay (Spinner + Terminalausgabe während Umfrage GET /api/jobs/{id}).
  • Lebe Armaturenbrett – CPU-, Speicher-, Festplatten-, Dienste- und App-Anzahl über GET /api/status.
  • Server-Cockpit (API 1.15+ / Cipi 5.0.6+) — Verwalten Sie PHP-Versionen und Systemstandards, SSH-Schlüssel, Dienste, SMTP-Benachrichtigungen, HTTP Gesundheitschecks und Panel API IP-Whitelist aus dem Browser.
  • Registrieren und wechseln mehrere Server von einem Login.

Anforderungen

Das Panel kommuniziert mit Ihren Servern ausschließlich über den Cipi REST API. Stellen Sie vor der Installation sicher, dass dies der Fall ist Auf jedem Server, den Sie verwalten möchten, ist API mit einem Token aktiviert, der den gesamten Funktionsumfang abdeckt.

Jeder verwaltete Server benötigt cipi api installiert und a Trägertoken mit allen Fähigkeiten. Siehe die API Einrichtungsanleitung zu einen erzeugen.
  • Ein laufender Cipi-Server (Ubuntu 24.04 / 26.04) zum Hosten des Panels – dies kann einer der Server sein Sie verwalten oder eine kleine dedizierte Box.
  • Eine Domäne (oder Subdomäne), die auf diesen Server verweist, z. B. panel.example.com.
  • cipi api aktiviert auf jedem Server, den Sie steuern möchten, jeweils mit voller Funktionalität Token (einschließlich www-manage, status-viewund für App-Tools apps-env, apps-auth, apps-artisan, apps-run, apps-deploy-config). Für Server-Cockpit (PHP, SSH, Dienste, SMTP, Gesundheit, IP-Whitelist), verwaltete Server benötigen API1.15+ und Cipi 5.0.6+. Für .env / auth.json / Artisan / App commands, managed servers need API 1.14+ und Cipi 5.0.3+. Für Octane erstellen und FPM/Octane-Indikatoren, API 1.13+ und Cipi 5.0+. Für Multi-Engine MariaDB/PostgreSQL und WWW-Weiterleitungen, API 1.12+ und Cipi 4.8+.

PHP, der FPM-Pool, der Nginx vhost und der Scheduler werden alle vom Installationsprogramm für Sie bereitgestellt – Sie richten eine Laravel-Umgebung nicht manuell ein.

Installation — cipi gui <domain>

Ein Befehl stellt das gesamte Panel auf einem Cipi-Server bereit: einen dedizierten PHP-FPM-Pool, einen Nginx vhost für Ihre Domain und einen Scheduler-Job cron. Die Laravel-App ist im Paket enthalten unter /opt/cipi/gui, das gleiche Modell, das von der verwendet wird cipi-api Paket.

bash
cipi gui panel.example.com

Das Installationsprogramm fragt interaktiv nach dem ersten Administratorkonto – einer E-Mail-Adresse und einem Passwort. Das Passwort muss den Richtlinien des Panels entsprechen:

  • Mindestens 12 Zeichen.
  • Mindestens ein Großbuchstabe, ein Kleinbuchstabe, eine Ziffer und ein Sonderzeichen.
  • Nicht mehr als 4 identische aufeinanderfolgende Charaktere.

In die Konfiguration wird geschrieben /etc/cipi/gui.json. Sobald der Befehl abgeschlossen ist, öffnen Sie Ihr Öffnen Sie die Domäne in einem Browser und melden Sie sich mit dem soeben erstellten Administratorkonto an.

Das Panel wird über den einfachen HTTP bereitgestellt, bis Sie ein Zertifikat ausstellen. Lauf cipi gui ssl direkt nach der Installation, um es zu sichern.

SSL — cipi gui ssl

Stellen Sie ein kostenloses Let's Encrypt-Zertifikat für die Domäne des Panels aus und ändern Sie es auf HTTPS. Das Panel ist HTTPS-bewusst und legt die korrekten weitergeleiteten Header hinter dem Cipi Nginx vhost fest.

bash
cipi gui ssl

Das Zertifikat erneuert sich automatisch durch dieselbe ACME-Erneuerung, die Cipi für App-Domänen verwendet.

Zwei-Faktor-Authentifizierung (TOTP)

Das Panel verwendet die klassische Sitzungsanmeldung und unterstützt optionaler TOTP-Zweifaktor Authentifizierung. Jeder Administrator kann eine Authentifizierungs-App (Google Authenticator, 1Password, Aegis, …) aus ihrem Profil. Bei 2FA handelt es sich um eine Opt-in-Option pro Benutzer, nicht erzwungen.

Wenn ein Administrator den Zugriff auf seinen zweiten Faktor verliert, kann ihn ein Operator mit Shell-Zugriff löschen vom Server mit cipi gui reset-user, was umschreibt das Konto und entfernt die 2FA-Registrierung.

Aktualisierung – gui update vs gui upgrade

Das Panel wird als geliefert cipi/gui Composer Paket, daher sind Updates normal Composer Updates plus Migrationen. Zwei Befehle decken die häufigsten Fälle ab:

cipi gui update — Soft-Update

Läuft composer update cipi/gui, wendet Datenbankmigrationen an und aktualisiert die kompilierte Datei Thema. Dies ist der tägliche Aktualisierungspfad.

bash
cipi gui update

cipi gui upgrade — Kompletter Umbau

Baut das Panel von Grund auf neu auf. Verwenden Sie es nach einer Hauptversion oder wenn eine Umgebung verändert wurde und a Eine saubere Neuinstallation des App-Codes ist der schnellste Weg zurück zu einem bekanntermaßen guten Zustand.

bash
cipi gui upgrade

cipi gui refresh-theme – nur Thema

Kompiliert das Panel-Design neu und lädt es neu, ohne den Code oder die Datenbank zu berühren – praktisch nach einem Design optimieren.

bash
cipi gui refresh-theme

Operationen

cipi gui status

Melden Sie den aktuellen Status des Panels – ob es installiert ist, seine Domäne und seinen Zustand Dienstleistungen.

bash
cipi gui status

cipi gui fix-permissions

Reparieren Sie das PHP-FPM des Panels open_basedir Einschränkung und alle Laufzeitdateiberechtigungen. Führen Sie es aus, wenn das Panel nach einem Update Berechtigungs- oder Autoload-Fehler ausgibt – einschließlich HTTP 500 danach cipi gui upgrade / soft update fixed in 5.0.18 (Composer Symlink für cipi/gui draußen open_basedir).

bash
cipi gui fix-permissions

cipi gui reset-user

Schreiben Sie die E-Mail-Adresse, den Namen und das Passwort eines Administrators um und löschen Sie seine 2FA-Registrierung – den Wiederherstellungspfad wenn jemand ausgesperrt ist. reset-password ist ein Alias ​​für denselben Befehl.

bash
cipi gui reset-user

Entfernen der Verkleidung — cipi gui remove

Deinstallieren Sie das Panel und seinen Nginx vhost, PHP-FPM-Pool und Scheduler. Ihre Server und Apps sind unberührt – das Panel ist nur ein Client von API. uninstall ist ein Alias, und --force überspringt die Sicherheitsabfrage.

bash
cipi gui remove
cipi gui remove --force

Das Entfernen des Panels ist der ultimative Ausdruck seiner Optionalität: Deinstallieren Sie es jederzeit und Cipi zurück zu einem reinen CLI, genau wie es vorher war.

Architektur

Das Panel ist ein Standard Laravel 12 Anwendung verteilt als cipi/gui Paket aus seinem eigenen Repository (cipi-sh/gui) und über a installiert Composer VCS-Eintrittsverfolgung dev-main. Es lebt bei /opt/cipi/gui, Spiegelung wie die cipi-api Paket ist gebündelt.

AspektDetailliert
RahmenLaravel 12
Paketcipi/gui (GitHub cipi-sh/gui, Composer VCS dev-main)
Installationspfad/opt/cipi/gui
Konfig/etc/cipi/gui.json
IsolationPHP-FPM open_basedir beschränkt auf /opt/cipi/gui/ und /opt/cipi/cipi-gui/ (seit 5.0.18)
AuthSitzungsanmeldung + optionales TOTP 2FA
JobsKein lokaler Warteschlangenarbeiter – asynchrone Remote-Jobs werden über die einzelnen verwalteten Server abgefragt cipi api

Da es keinen lokalen Warteschlangenarbeiter enthält und keinen eigenen Serverstatus speichert, bleibt das Panel erhalten Zustandslos in Bezug auf Ihre Infrastruktur: Es authentifiziert sich beim API jedes Servers, sendet Jobs, und fragt ihren Status ab. Nehmen Sie die Platte ab und bauen Sie sie an einer anderen Stelle wieder auf, ohne sie zu berühren verwalteter Server.

API Abdeckung

Der GUI verbraucht die gesamte Cipi API OpenAPI-Oberfläche. Behalten Sie das Panel und die einzelnen verwalteten Server cipi/api Paket aktuell (cipi gui update / cipi api update), also erstellen Sie Formulare und Listenfelder, die mit dem Server übereinstimmen.

Bereich Abdeckung
Server GET /api/status
Apps CRUD, Basisauthentifizierung, Protokolle, .env, auth.json, Artisan, App-Befehle (app run); erstellen akzeptiert engine (mariadb/pgsql) und octane (FrankenPHP, API 1.13+); env/auth/run benötigt API 1.14+; Liste/Anzeige zeigen octane / octane_port
Konfiguration bereitstellen Strukturierte Deployer-Knöpfe über /api/apps/{name}/deploy-config (API 1.14+)
Aliase Auflisten, hinzufügen, entfernen
WWW Status, Gegenstück hinzufügen, Force-to-Root / Force-from-Root, löschen (www-manage; API 1.12+)
Bereitstellen Bereitstellen, Rollback, Entsperren
SSL Installieren Sie Let's Encrypt, erzwingen Sie die Umleitung von HTTPS
Datenbanken Motoren + Liste (synchronisiert); Erstellen/Löschen/Sichern/Wiederherstellen/Passwort mit optionalemengine (asynchron; API 1.12+)
Jobs Abfragestatus und CLI-Ausgabe
Bevorzugen Sie das Terminal? Siehe die CLI-Client für das gleiche API-gesteuert Verwaltung über Ihre Shell oder die cipi api und WHMCS-Modul für die Automatisierung. Paketquelle: cipi-sh/gui.