init: GMod 64-bit and Stalwart Mail eggs
This commit is contained in:
@@ -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
|
||||||
@@ -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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
@@ -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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user