zelie

module
v0.2.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 28, 2026 License: AGPL-3.0

README

Zelie Panel

Zelie is a server panel for your own machine. Give it a Node.js, Python or Go app from GitHub, a Docker image, or soon a game server, and it builds it, runs it and puts it online with HTTPS. You skip the setup: no reverse proxy to configure, no certificates to renew, no Dockerfile unless you want one.

It is meant to replace the older panels, such as Pterodactyl, Pelican and cPanel, with something lighter and safer. Zelie is a single binary, with no web server, PHP or database server of its own to look after. Every app runs in its own locked-down container, and a setup wizard asks a few questions and gets you to your first app. When one server is not enough, the same panel will run several.

[!WARNING] Pre-alpha. Zelie is in early development and changes quickly. It is not ready for production or for any server you care about.

What it does

  • Deploys apps from a GitHub repository or a container image, with a domain and HTTPS.
  • Builds with your Dockerfile, or works out the build itself with Railpack.
  • Runs your tests before a new version goes live, and keeps the old one if anything fails.
  • Runs PostgreSQL, MariaDB and Redis, reachable only by the apps you link them to.
  • Backs up databases and app volumes on a schedule, on the server and in S3.
  • Shows a database's tables and keys in the browser, read-only.
  • Seals secrets as they are saved, so the web interface cannot read them back.
  • Asks for a passkey or an authenticator app at every login.

A PostgreSQL database's tables, browsed read-only in Zelie

Coming next: game servers from Pterodactyl and Pelican eggs, and several servers from one panel.

docs/features.md describes each feature, and docs/architecture.md explains how Zelie is built and why.

Install

On a Debian or Ubuntu server, amd64 or arm64, as root:

curl -fsSL https://github.com/Caria-Core/zelie/releases/latest/download/install.sh | sh

The script checks that the release is signed with Zelie's key before it installs anything, then asks how the panel is reached: a domain with a certificate from Let's Encrypt, a Cloudflare Tunnel, or the server's IP address. It ends with a link to create the administrator. Updates are one click on the panel's Server page.

docs/install.md has the details. To build Zelie yourself, see CONTRIBUTING.md.

License

The core is free software under the GNU AGPL v3. Everything on a single server is free, with no limit on apps, databases or game servers. Running across several servers will be part of a paid edition.

Security issues: SECURITY.md. Made by Cariacore.

Directories

Path Synopsis
cmd
zelie command
Command zelie is the Zelie server panel.
Command zelie is the Zelie server panel.
internal
auth
Package auth holds the pieces of logging in that do not depend on the web: password hashing, one-time codes and recovery codes.
Package auth holds the pieces of logging in that do not depend on the web: password hashing, one-time codes and recovery codes.
backup
Package backup keeps backups as files on this server.
Package backup keeps backups as files on this server.
build
Package build turns an app's source code into an image.
Package build turns an app's source code into an image.
core
Package core is the privileged half of Zelie.
Package core is the privileged half of Zelie.
dataview
Package dataview reads what a database holds, for the panel's data viewer.
Package dataview reads what a database holds, for the panel's data viewer.
engine
Package engine installs and talks to Zelie's own containerd.
Package engine installs and talks to Zelie's own containerd.
github
Package github talks to GitHub as the panel's own GitHub App.
Package github talks to GitHub as the panel's own GitHub App.
install
Package install sets Zelie up on a fresh server: its users, its services and how the panel is reached.
Package install sets Zelie up on a fresh server: its users, its services and how the panel is reached.
msg
Package msg holds the text Zelie shows people, in a form the web interface can translate.
Package msg holds the text Zelie shows people, in a form the web interface can translate.
panel
Package panel is the unprivileged half of Zelie: the web interface, its API and user accounts.
Package panel is the unprivileged half of Zelie: the web interface, its API and user accounts.
peer
Package peer checks who is on the other end of a local Unix socket.
Package peer checks who is on the other end of a local Unix socket.
proxy
Package proxy is Zelie's web front door.
Package proxy is Zelie's web front door.
s3
Package s3 is a small client for S3 and the services that speak its protocol, such as Cloudflare R2, Backblaze B2, Wasabi and MinIO.
Package s3 is a small client for S3 and the services that speak its protocol, such as Cloudflare R2, Backblaze B2, Wasabi and MinIO.
s3/s3test
Package s3test has a fake S3 bucket for tests.
Package s3test has a fake S3 bucket for tests.
secret
Package secret seals the values of secret environment variables.
Package secret seals the values of secret environment variables.
store
Package store keeps the panel's state in a single SQLite file.
Package store keeps the panel's state in a single SQLite file.
update
Package update replaces the running Zelie with a signed release.
Package update replaces the running Zelie with a signed release.
version
Package version reports which build of Zelie is running.
Package version reports which build of Zelie is running.
webui
Package webui serves the panel's web interface, which is built from web/ and embedded into the binary.
Package webui serves the panel's web interface, which is built from web/ and embedded into the binary.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL