Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/calagopus/panel/llms.txt

Use this file to discover all available pages before exploring further.

Eggs are server templates that define everything needed to run a specific type of game server: the Docker image, the startup command, the install script, and the environment variables. Nests are categories that group related eggs together — for example, a “Minecraft” nest might contain eggs for Vanilla, Fabric, and Paper.

Nests

A nest is simply a label used to organise eggs. Every egg belongs to one nest.
1

Open Nests

In the admin panel, navigate to Nests and click Create.
2

Name the nest

Enter a descriptive name such as Minecraft or Source Engine.
3

Save

Click Save. You can now create eggs inside this nest.
You can move an egg from one nest to another at any time using the Move button on the egg’s settings page.

Eggs

An egg describes exactly how a server runs. When you create a server, you pick an egg and Calagopus configures the Wings container based on the egg’s settings.

How an egg works

Docker image

Defines which container image Wings uses. Multiple images can be listed and the operator picks one during server creation.

Startup command

The command Wings runs inside the container when you press Start. Multiple named commands can be defined and one is selected per server.

Variables

Environment variables injected into the container. They can be user-editable or admin-only.

Install script

A Bash script that runs once inside a temporary container when a server is first created.

Creating an egg

1

Open the nest

Navigate to Nests, open the nest you want to add the egg to, and click Create Egg.
2

Fill in basic details

Enter an author email, a name, and an optional description.
3

Configure startup

Under Startup Configuration, add one or more console strings that indicate the server has finished starting (for example, Done (). Wings watches for these strings to set the server state to Running.
4

Configure stop

Choose how Wings stops the server: send a command (such as stop), send a Unix signal (such as SIGTERM), or use Docker’s stop mechanism.
5

Add Docker images

Under Docker Images, add one or more key-value pairs where the key is a display label and the value is the full image reference (for example, ghcr.io/calagopus/java:21).
6

Add startup commands

Under Startup Commands, add one or more named command strings. The Default key is used automatically during server creation.
7

Save

Click Save. The egg is ready to use when creating servers.

Egg variables

Variables let operators and users configure server behaviour without editing files manually. Each variable maps to an environment variable that Wings injects into the container. Navigate to the egg’s Variables tab to manage them.
FieldDescription
NameHuman-readable label shown in the UI
Environment variableThe variable name injected into the container (for example, SERVER_PORT)
Default valuePre-filled value for new servers
User viewableWhether the variable is visible to non-admin users
User editableWhether the user can change the value from the server’s Startup tab
SecretMasks the value in the UI like a password field
RulesValidation rules applied before saving (for example, `requiredintegermin:1024`)
You can reorder variables by dragging them. The order determines how they appear on the server’s Startup tab.

Install scripts

The install script runs once when a server is first created. It runs inside a temporary container (by default debian:latest) and has access to the internet to download server files. Navigate to the egg’s Install Script tab to edit the script. The container image and entrypoint used for the install step can also be changed here.
The install script does not run on server restart — only on initial server creation. To re-run the install script for an existing server, a reinstall must be triggered by an admin from the server’s management page.

Exporting and importing eggs

You can export an egg as a JSON or YAML file and share it with others or back it up. To export, open the egg and click Export, then choose the format. To import an egg definition into an existing egg, click Update → from File and upload the JSON or YAML file. This overwrites the egg’s configuration with the imported values.
The Pterodactyl community maintains a large public egg library. Eggs from that library can be imported directly using the JSON export format.

Egg repositories

Egg repositories let you connect Calagopus to a remote source of egg definitions and keep them up to date with a single click.
1

Create a repository

Navigate to Egg Repositories in the admin panel and click Create. Enter the repository URL and a display name.
2

Link an egg to a repository egg

When creating or editing an egg, use the Egg Repository and Egg Repository Egg dropdowns to select the upstream source.
3

Sync from repository

On the egg’s settings page, click Update → from Repository to pull the latest definition from the linked repository egg.
Syncing from a repository overwrites the egg’s configuration. Any local edits to the egg definition are replaced by the repository version.

Build docs developers (and LLMs) love