Was Zelie macht
Apps, die Datenbanken, die sie nutzen, und Gameserver auf einem Linux-Server, und was sie am Laufen hält. Jeder Teil kurz; die Doku hat jedes Detail.


Apps
Eine App kommt von GitHub, aus einem Container-Image oder aus deinen eigenen Dateien für Node.js, Python, Bun, Deno oder Java.
- Beim Verbinden mit GitHub entsteht eine GitHub App in deinem eigenen Konto, mit Zugriff nur auf die Repositories, die du auswählst
- Variablen, normal oder geheim; Builds bekommen sie, ohne dass sie ins Image eingebacken werden
- Volumes, die Deployments überdauern, jedes mit einem Größenlimit, das sich erhöhen lässt
- Limits für Speicher und CPU, Live-Logs und Metriken, die einen Tag aufbewahrt werden


Builds und Deploys
Ein Repository mit Dockerfile wird damit gebaut; ohne eines findet Railpack den Build heraus. Die Tests eines Node-Projekts laufen bei jedem neuen Build, ohne Netzwerk, und ein fehlschlagender Test behält die alte Version.
- Mit einer Domain startet die neue Version neben der alten und übernimmt den Traffic nach ihrem Health-Check
- Ohne Domain oder mit Volumes stoppt zuerst die alte, damit nie zwei Kopien gleichzeitig laufen
- Die letzten fünf Versionen behalten ihr Image, deshalb dauert ein Rollback ein, zwei Sekunden
- Nach fünf Abstürzen in zehn Minuten bleibt eine App unten, und das Panel sagt, warum


Gameserver
Gameserver laufen aus Pterodactyl- und Pelican-Eggs: Minecraft, Rust, Valheim, Palworld, Counter-Strike 2 und weitere aus der Liste, oder jedes andere Egg über seinen Link.
- Eine Live-Konsole mit Farben, den letzten 500 Zeilen, einer Befehlszeile mit Verlauf, Filtern und Schnellbefehlen
- Dateien im Browser mit Editor, und dieselben Dateien per SFTP
- Ports aus einem Pool, den du einmal einrichtest; Spieler verbinden sich direkt mit dem Server
- Kein öffentlicher Port für einen Server hinter einem Proxy; Server in einer Netzwerkgruppe erreichen sich über ihren Namen
- Zeitpläne, Backups, Klone und Steam-Updates, wenn niemand spielt
- Stürzt ein Server ab, liest Zelie seine letzten Zeilen und sagt, warum


Spieler
Für Rust und Minecraft, und als einfache Liste für einige andere Steam-Spiele.
- Wer online ist, mit Ping und Onlinezeit
- Beitritte und Abgänge 30 Tage aufbewahrt, Chat 7 Tage, durchsuchbar
- Kick und Ban mit Grund; ein Ban kann von selbst enden
- Notizen zu Spielern und ein Protokoll dessen, was Admins getan haben
- Whitelist und Operatoren für Minecraft, Owner und Moderatoren für Rust, und Bans nach Name, SteamID oder IP, ob der Server läuft oder gestoppt ist
- Für Rust: Oxide- und Carbon-Gruppen, Rechte und Plugins, dazu RCON-Werkzeuge wie Nachrichten, Stummschalten und Teleportieren
- Slots für Rust, die sich nach Spielern online und in der Warteschlange richten, wenn du es einschaltest


Private Netzwerke
Jede App und jeder Gameserver hat ein eigenes Netzwerk. Ein Administrator kann einige davon in eine Netzwerkgruppe legen: Die Mitglieder erreichen sich über ihren Namen auf jedem Port, TCP und UDP, und alles andere bleibt zu.
- Beitreten oder Verlassen gilt sofort; nichts startet neu
- Ein Gameserver lässt sich ohne öffentlichen Port anlegen, dann erreicht ihn nur seine Gruppe
- Der Zugang zu einer Datenbank auf dem Host bleibt pro App; eine Gruppe öffnet ihn nicht für die anderen
- Ein Velocity-Proxy richtet die Paper- und Purpur-Server dahinter bei jedem Start ein: Modern Forwarding, die Serverliste und ein gemeinsames Secret
So richtest du sie ein: Network groups und Minecraft network.
Datenbanken
PostgreSQL 18 und 17, MariaDB 11.8 und 10.11 sowie Redis 8, jede in einem eigenen Container mit eigenem Volume. Keine bekommt einen öffentlichen Port.
- Verknüpfe eine mit einer App oder einem Gameserver, und sie bekommt
DATABASE_URLoderREDIS_URL - Vor Patch-Releases wird gesichert, dann gewechselt; eine Hauptversion zieht auf ein neues Volume, und das alte bleibt, wenn etwas scheitert
- Ein schreibgeschützter Tab „Data“ mit Tabellen, Filtern, Suche und CSV-Export
- Desktop-Werkzeuge wie TablePlus verbinden sich über einen SSH-Tunnel


Backups
Datenbanken werden jede Nacht um 3:00 gesichert und sieben Tage aufbewahrt, außer du änderst es. Apps und Gameserver lassen sich ebenfalls nach Zeitplan sichern.
- Auf dem Server komprimiert und verschlüsselt, mit einer Wiederherstellungsdatei, mit der ein anderer Server sie öffnen kann
- Kopien in jedem S3-kompatiblen Speicher, standardmäßig 30 Tage aufbewahrt
- Eine Wiederherstellung sichert zuerst, was da ist, und spielt es zurück, wenn sie scheitert


Domains und HTTPS
Gib einer App eine Domain, und der Proxy leitet sie weiter. Bei einer Installation mit Domain kommen die Zertifikate von Let’s Encrypt; hinter einem Cloudflare Tunnel übernimmt Cloudflare HTTPS. Der Tunnel lief schon auf einem echten Server; Let’s Encrypt bisher nur gegen einen Ersatz.
Updates
Zelie aktualisiert sich selbst mit einem Klick, und Apps, Datenbanken und Gameserver laufen dabei weiter. Wenn du willst, erledigt eine Runde jede Nacht um 04:30 den Rest und wartet, solange ein Backup, Build oder Deploy läuft.
- Das eigene Patch-Release von Zelie
- Node-Sicherheitsreleases, sofort übernommen und aus demselben Commit neu gebaut
- Neue Builds von Image- und Datenbank-Tags mit Versionsnummer, vorher gesichert
- Fixes für verwundbare Pakete in npm-, pnpm- und Yarn-1-Projekten, auf einem Branch getestet und gemergt oder als Pull Request geöffnet
- Hauptversionen warten auf Freigabe; ein automatisches Update muss 60 Sekunden lang laufen, sonst kommt das alte zurück


Standardmäßig geschlossen
- Proxy, Panel und SFTP-Server laufen als eigene Benutzer ohne Rechte
- Der Core läuft als root, hat aber keinen Netzwerkport: Er antwortet nur über einen Unix-Socket
- Container nutzen User-Namespaces, deshalb ist root in einem Container auf dem Host ein Benutzer ohne Rechte
- Datenbanken bekommen nie einen öffentlichen Port
- Secrets werden beim Speichern versiegelt, und das Panel kann sie nicht zurücklesen
Was ein Server an Caria Core sendet und was er nie sendet: Lizenz und Datenschutz.
Unterbenutzer
Lade jemanden mit einem Link ein und wähle, was er bei jedem Dienst darf. Er meldet sich mit eigenem Passwort und einem zweiten Schritt an, den jedes Konto braucht.
- Rechte einzeln, etwa Konsole, Start und Stopp, Dateien, Backups und Deploys, oder aus den Vorlagen Viewer, Moderator und Administrator
- Niemand kann mehr vergeben, als er selbst hat, und ein Dienst, den jemand nicht bekommen hat, taucht für ihn gar nicht auf
- Lizenz, Updates, Ports und Schlüssel bleiben bei den Besitzern
- Jede Änderung an einem Dienst steht mit ihrem Urheber im Aktivitätsprotokoll
- Ein abgeschaltetes Konto wird überall abgemeldet, seine Konsolen- und SFTP-Schlüssel eingeschlossen
Oberfläche
Fünf Themes, eine Akzentfarbe, Dichte und Textgröße, im Konto gespeichert, damit jedes Gerät gleich aussieht. Es funktioniert auf dem Handy. Englisch ist bisher die einzige Sprache. Angeheftete Dienste bleiben oben auf der Startseite und im Seitenmenü, und Strg+K (Cmd+K auf dem Mac) springt zu jedem Dienst, Tab oder jeder Einstellung.
Noch nicht
- Mehrere Server aus einem Panel verwalten
Zelie installieren
Zelie ist in früher Entwicklung, und Free steht allen offen: Erstelle ein Konto und installiere es auf einem eigenen Server. Pro und Business folgen: Pro ebenfalls für den eigenen Server, Business für alle, die Hosting verkaufen.