init: GMod 64-bit and Stalwart Mail eggs

This commit is contained in:
2026-06-16 00:12:18 +03:00
commit 0594ae040b
3 changed files with 355 additions and 0 deletions
+27
View File
@@ -0,0 +1,27 @@
# Pelican Eggs
Eggs for Pelican Panel (Pterodactyl fork).
## Available Eggs
### Games
- **Garry's Mod 64-bit** (`games/gmod_64bit.json`) — GMod dedicated server with Steam Workshop & Git addon support
### Applications
- **Stalwart Mail Server** (`apps/stalwart_mail.json`) — All-in-one SMTP, IMAP, JMAP, CalDAV, CardDAV mail server
## Installation
1. Open Pelican Admin Panel
2. Go to **Eggs → Import Egg**
3. Upload the `.json` file
4. Configure the egg variables
5. Create a server using the egg
## Docker Images
Built from [RefoselTeamWork/yolks](https://gitea.refoseltw.ru/RefoselTeamWork/yolks).
## License
MIT
+151
View File
@@ -0,0 +1,151 @@
{
"meta": {
"version": "PTDL_v2",
"description": "Stalwart Mail Server - All-in-one SMTP, IMAP, JMAP, CalDAV, CardDAV"
},
"name": "Stalwart Mail Server",
"author": "admin@refoseltw.ru",
"description": "Stalwart Mail Server - secure, scalable all-in-one mail server with SMTP, IMAP, JMAP, CalDAV, CardDAV and built-in spam filter. Single binary, zero dependencies.",
"features": null,
"images": [
{
"image": "gitea.refoseltw.ru/RefoselTeamWork/yolks:stalwart",
"meta": {
"ghcr_enabled": false,
"ghcr_organization": "",
"ghcr_repo": ""
}
}
],
"file_denylist": [],
"startup": "/home/container/stalwart-mail/bin/stalwart-mail --config /home/container/stalwart-mail/config.toml",
"script": {
"container": "gitea.refoseltw.ru/RefoselTeamWork/installers:debian",
"entrypoint": "bash",
"extends": ""
},
"config": {
"files": "{}",
"stop": "^C",
"logs": "{}",
"startup": {
"done": "listening on"
},
"professionally": false
},
"allocator": 0,
"tags": [
"mail",
"smtp",
"imap",
"jmap",
"caldav",
"carddav",
"email"
],
"credits": "RefoselTeam",
"update_url": "",
"force_outgoing_ip": false,
"remove_old_files": false,
"variables": [
{
"name": "Mail Domain",
"description": "Your mail domain (e.g. mail.example.com). This is the FQDN for the mail server.",
"env_variable": "MAIL_DOMAIN",
"default_value": "mail.example.com",
"user_viewable": true,
"user_editable": true,
"rules": "required|fqdn"
},
{
"name": "Mail Hostname",
"description": "Server hostname (FQDN). Usually same as mail domain.",
"env_variable": "MAIL_HOSTNAME",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|fqdn"
},
{
"name": "Admin Email",
"description": "Email address for the admin account.",
"env_variable": "ADMIN_EMAIL",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|email"
},
{
"name": "Admin Password",
"description": "Password for the admin account. If empty, a random password will be generated.",
"env_variable": "ADMIN_PASSWORD",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|between:8,128"
},
{
"name": "HTTP Port",
"description": "Port for the web admin panel.",
"env_variable": "HTTP_PORT",
"default_value": "8080",
"user_viewable": true,
"user_editable": true,
"rules": "required|integer|between:1024,65535"
},
{
"name": "SMTP Port",
"description": "Port for SMTPS (SSL/TLS).",
"env_variable": "SMTP_PORT",
"default_value": "465",
"user_viewable": true,
"user_editable": false,
"rules": "required|integer|between:1,65535"
},
{
"name": "Submission Port",
"description": "Port for SMTP Submission (STARTTLS).",
"env_variable": "SUBMISSION_PORT",
"default_value": "587",
"user_viewable": true,
"user_editable": false,
"rules": "required|integer|between:1,65535"
},
{
"name": "IMAP Port",
"description": "Port for IMAPS (SSL/TLS).",
"env_variable": "IMAP_PORT",
"default_value": "993",
"user_viewable": true,
"user_editable": false,
"rules": "required|integer|between:1,65535"
},
{
"name": "ManageSieve Port",
"description": "Port for ManageSieve.",
"env_variable": "MANAGESIEVE_PORT",
"default_value": "4190",
"user_viewable": true,
"user_editable": false,
"rules": "required|integer|between:1,65535"
},
{
"name": "Git Repositories",
"description": "Comma-separated list of Git repo URLs to clone into plugins/ (for custom configs, filters, etc).",
"env_variable": "GIT_REPOS",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|between:0,1024"
},
{
"name": "Timezone",
"description": "Server timezone.",
"env_variable": "TZ",
"default_value": "UTC",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|between:1,64"
}
]
}
+177
View File
@@ -0,0 +1,177 @@
{
"meta": {
"version": "PTDL_v2",
"description": "Garry's Mod Dedicated Server (64-bit) with Steam Workshop & Git support"
},
"name": "Garry's Mod 64-bit",
"author": "admin@refoseltw.ru",
"description": "Garry's Mod Dedicated Server running in 64-bit mode with Steam Workshop and Git addon loading support.",
"features": null,
"images": [
{
"image": "gitea.refoseltw.ru/RefoselTeamWork/yolks:latest",
"meta": {
"ghcr_enabled": false,
"ghcr_organization": "",
"ghcr_repo": ""
}
}
],
"file_denylist": [
"server.cfg"
],
"startup": "/home/container/server/srcds_run -game garrysmod +map {{SRCDS_MAP}} +maxplayers {{SRCDS_MAX_PLAYERS}} -port {{SERVER_PORT}} -tickrate {{SRCDS_TICKRATE}} +ip 0.0.0.0 -autoupdate +gamemode {{SRCDS_GAMEMODE}}",
"script": {
"container": "gitea.refoseltw.ru/RefoselTeamWork/installers:debian",
"entrypoint": "bash",
"extends": ""
},
"config": {
"files": "{}",
"stop": "quit",
"logs": "{}",
"startup": {
"done": "VAC secure mode is activated."
},
"professionally": false
},
"allocator": 0,
"tags": [
"gmod",
"garrys-mod",
"source-engine",
"64bit"
],
"credits": "RefoselTeam",
"update_url": "",
"force_outgoing_ip": false,
"remove_old_files": false,
"variables": [
{
"name": "Hostname",
"description": "The hostname of the server.",
"env_variable": "SRCDS_HOSTNAME",
"default_value": "Garry's Mod Server",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|between:1,64"
},
{
"name": "Server Password",
"description": "Password to join the server. Leave empty for no password.",
"env_variable": "SRCDS_PASSWORD",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|between:0,32"
},
{
"name": "RCON Password",
"description": "Remote console password. Change this!",
"env_variable": "SRCDS_RCON_PASSWORD",
"default_value": "changeme",
"user_viewable": false,
"user_editable": true,
"rules": "required|string|between:1,32"
},
{
"name": "Gamemode",
"description": "The gamemode to use (sandbox, darkrp, etc).",
"env_variable": "SRCDS_GAMEMODE",
"default_value": "sandbox",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|between:1,32"
},
{
"name": "Map",
"description": "The starting map for the server.",
"env_variable": "SRCDS_MAP",
"default_value": "gm_flatgrass",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|between:1,32"
},
{
"name": "Max Players",
"description": "Maximum number of players allowed.",
"env_variable": "SRCDS_MAX_PLAYERS",
"default_value": "16",
"user_viewable": true,
"user_editable": true,
"rules": "required|integer|between:1,128"
},
{
"name": "Tickrate",
"description": "Server tickrate (66 or 128 recommended).",
"env_variable": "SRCDS_TICKRATE",
"default_value": "66",
"user_viewable": true,
"user_editable": true,
"rules": "required|integer|between:33,128"
},
{
"name": "Region",
"description": "Server region (255 = global, 0 = US East, 1 = US West, 2 = South America, 3 = Europe, 4 = Asia, 5 = Australia, 6 = Middle East, 7 = Africa).",
"env_variable": "SRCDS_REGION",
"default_value": "255",
"user_viewable": true,
"user_editable": false,
"rules": "required|integer|between:0,255"
},
{
"name": "Workshop Collection ID",
"description": "Steam Workshop collection ID to auto-load on startup.",
"env_variable": "SRCDS_WORKSHOP_COLLECTION",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|between:0,64"
},
{
"name": "Git Repositories",
"description": "Comma-separated list of Git repo URLs to clone into addons/ (e.g. https://github.com/user/repo.git,https://gitlab.com/user/repo2.git).",
"env_variable": "GIT_REPOS",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|between:0,1024"
},
{
"name": "Steam Beta Branch",
"description": "Steam beta branch to use. Leave empty for default.",
"env_variable": "SRCDS_BETAID",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|between:0,64"
},
{
"name": "Beta Password",
"description": "Password for the beta branch.",
"env_variable": "SRCDS_BETAPASS",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|between:0,64"
},
{
"name": "Auto Update",
"description": "Automatically update the server on restart (1 = yes, 0 = no).",
"env_variable": "AUTO_UPDATE",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean"
},
{
"name": "Validate Files",
"description": "Validate server files on update (1 = yes, 0 = no).",
"env_variable": "VALIDATE",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|boolean"
}
]
}