212 lines
9.0 KiB
JSON
212 lines
9.0 KiB
JSON
{
|
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
|
"meta": {
|
|
"version": "PTDL_v2",
|
|
"update_url": "null"
|
|
},
|
|
"exported_at": "2025-07-05T13:49:22+02:00",
|
|
"name": "Teamspeak6 Server ARM64",
|
|
"author": "ptero@redbananaofficial.com",
|
|
"description": "TeamSpeak offers the ideal voice communication for gaming, education and training, internal business communication, and staying in touch with friends and family.",
|
|
"features": null,
|
|
"docker_images": {
|
|
"ghcr.io\/ptero-eggs\/yolks:box64": "ghcr.io\/ptero-eggs\/yolks:box64"
|
|
},
|
|
"file_denylist": [],
|
|
"startup": "box64 .\/tsserver --default-voice-port={{SERVER_PORT}}",
|
|
"config": {
|
|
"files": "{}",
|
|
"startup": "{\r\n \"done\": \"listening on 0.0.0.0:\"\r\n}",
|
|
"logs": "{}",
|
|
"stop": "^C"
|
|
},
|
|
"scripts": {
|
|
"installation": {
|
|
"script": "cd \/mnt\/server\r\n\r\napt-get update\r\napt-get install -y jq bzip2\r\n\r\nver=\"$TS_VERSION\"\r\nif [ -z \"$ver\" ] || [ \"$ver\" = \"latest\" ]; then\r\n json=$(curl -sSL https:\/\/api.github.com\/repos\/teamspeak\/teamspeak6-server\/releases\/latest)\r\nelse\r\n json=$(curl -sSL https:\/\/api.github.com\/repos\/teamspeak\/teamspeak6-server\/releases\/tags\/$ver 2>\/dev\/null)\r\n if echo \"$json\" | grep -q \"Not Found\"; then\r\n altver=$(echo \"$ver\" | sed 's\/-\/\\\/\/')\r\n json=$(curl -sSL https:\/\/api.github.com\/repos\/teamspeak\/teamspeak6-server\/releases\/tags\/$altver 2>\/dev\/null)\r\n fi\r\nfi\r\n\r\nif echo \"$json\" | grep -q \"Not Found\"; then\r\n echo \"Not found: $ver\"\r\n exit 1\r\nfi\r\n\r\nurl=$(echo \"$json\" | jq -r '.assets | map(select((.name | contains(\"linux_amd64\")) and (.name | endswith(\".tar.bz2\"))))[0].browser_download_url')\r\n\r\nif [ -z \"$url\" ] || [ \"$url\" = \"null\" ]; then\r\n echo \"Not found: $ver\"\r\n exit 1\r\nfi\r\n\r\ncurl -sSL \"$url\" | tar xj --strip-components=1\r\necho \"Installed\"",
|
|
"container": "ghcr.io\/ptero-eggs\/installers:debian",
|
|
"entrypoint": "bash"
|
|
}
|
|
},
|
|
"variables": [
|
|
{
|
|
"name": "Server Query Admin Password",
|
|
"description": "The password for the server query admin user.",
|
|
"env_variable": "TSSERVER_QUERY_ADMIN_PASSWORD",
|
|
"default_value": "ChangeMe",
|
|
"user_viewable": true,
|
|
"user_editable": true,
|
|
"rules": "nullable|string|max:32",
|
|
"field_type": "text"
|
|
},
|
|
{
|
|
"name": "Server Version",
|
|
"description": "The version of Teamspeak 3 to use when running the server.",
|
|
"env_variable": "TS_VERSION",
|
|
"default_value": "latest",
|
|
"user_viewable": true,
|
|
"user_editable": true,
|
|
"rules": "required|string|max:20",
|
|
"field_type": "text"
|
|
},
|
|
{
|
|
"name": "Accept TServer License (required)",
|
|
"description": "This is for accepting the license",
|
|
"env_variable": "TSSERVER_LICENSE_ACCEPTED",
|
|
"default_value": "accept",
|
|
"user_viewable": true,
|
|
"user_editable": false,
|
|
"rules": "nullable|string|max:20",
|
|
"field_type": "text"
|
|
},
|
|
{
|
|
"name": "File Transfer Port",
|
|
"description": "The Teamspeak file transfer port (can be changed).",
|
|
"env_variable": "TSSERVER_FILE_TRANSFER_PORT",
|
|
"default_value": "30033",
|
|
"user_viewable": true,
|
|
"user_editable": true,
|
|
"rules": "required|string|max:10",
|
|
"field_type": "text"
|
|
},
|
|
{
|
|
"name": "Enable SSH Query",
|
|
"description": "Enable the SSH query interface (set to 1 to enable).",
|
|
"env_variable": "TSSERVER_QUERY_SSH_ENABLED",
|
|
"default_value": "0",
|
|
"user_viewable": true,
|
|
"user_editable": true,
|
|
"rules": "required|integer|between:0,1",
|
|
"field_type": "text"
|
|
},
|
|
{
|
|
"name": "SSH Query Port",
|
|
"description": "The port for the SSH query interface (can be changed).",
|
|
"env_variable": "TSSERVER_QUERY_SSH_PORT",
|
|
"default_value": "10022",
|
|
"user_viewable": true,
|
|
"user_editable": true,
|
|
"rules": "required|integer|between:1,65535",
|
|
"field_type": "text"
|
|
},
|
|
{
|
|
"name": "Enable HTTP Query",
|
|
"description": "Enable the HTTP query interface (set to 1 to enable).",
|
|
"env_variable": "TSSERVER_QUERY_HTTP_ENABLED",
|
|
"default_value": "0",
|
|
"user_viewable": true,
|
|
"user_editable": true,
|
|
"rules": "required|integer|between:0,1",
|
|
"field_type": "text"
|
|
},
|
|
{
|
|
"name": "HTTP Query Port",
|
|
"description": "The port for the HTTP query interface (can be changed).",
|
|
"env_variable": "TSSERVER_QUERY_HTTP_PORT",
|
|
"default_value": "10080",
|
|
"user_viewable": true,
|
|
"user_editable": true,
|
|
"rules": "required|integer|between:1,65535",
|
|
"field_type": "text"
|
|
},
|
|
{
|
|
"name": "Enable HTTPS Query",
|
|
"description": "Enable the HTTPS query interface (set to 1 to enable).",
|
|
"env_variable": "TSSERVER_QUERY_HTTPS_ENABLED",
|
|
"default_value": "0",
|
|
"user_viewable": true,
|
|
"user_editable": true,
|
|
"rules": "required|integer|between:0,1",
|
|
"field_type": "text"
|
|
},
|
|
{
|
|
"name": "HTTPS Query Port",
|
|
"description": "The port for the HTTPS query interface (can be changed).",
|
|
"env_variable": "TSSERVER_QUERY_HTTPS_PORT",
|
|
"default_value": "10443",
|
|
"user_viewable": true,
|
|
"user_editable": true,
|
|
"rules": "required|integer|between:1,65535",
|
|
"field_type": "text"
|
|
},
|
|
{
|
|
"name": "Enable S3 File Transfer",
|
|
"description": "Enable S3 file transfer (set to 1 to enable).",
|
|
"env_variable": "TSSERVER_S3FT_ENABLED",
|
|
"default_value": "0",
|
|
"user_viewable": true,
|
|
"user_editable": true,
|
|
"rules": "required|integer|between:0,1",
|
|
"field_type": "text"
|
|
},
|
|
{
|
|
"name": "S3 Access Key",
|
|
"description": "S3 Access Key for file transfers.",
|
|
"env_variable": "TSSERVER_S3FT_ACCESS_KEY",
|
|
"default_value": "",
|
|
"user_viewable": true,
|
|
"user_editable": true,
|
|
"rules": "nullable|string|max:100",
|
|
"field_type": "text"
|
|
},
|
|
{
|
|
"name": "S3 Secret Key",
|
|
"description": "S3 Secret Key for file transfers.",
|
|
"env_variable": "TSSERVER_S3FT_SECRET_KEY",
|
|
"default_value": "",
|
|
"user_viewable": true,
|
|
"user_editable": true,
|
|
"rules": "nullable|string|max:100",
|
|
"field_type": "text"
|
|
},
|
|
{
|
|
"name": "S3 Bucket",
|
|
"description": "S3 Bucket name for file transfers.",
|
|
"env_variable": "TSSERVER_S3FT_BUCKET",
|
|
"default_value": "",
|
|
"user_viewable": true,
|
|
"user_editable": true,
|
|
"rules": "nullable|string|max:100",
|
|
"field_type": "text"
|
|
},
|
|
{
|
|
"name": "S3 Domain",
|
|
"description": "S3 Domain\/endpoint for file transfers.",
|
|
"env_variable": "TSSERVER_S3FT_DOMAIN",
|
|
"default_value": "",
|
|
"user_viewable": true,
|
|
"user_editable": true,
|
|
"rules": "nullable|string|max:100",
|
|
"field_type": "text"
|
|
},
|
|
{
|
|
"name": "S3 Region",
|
|
"description": "S3 region for file transfers.",
|
|
"env_variable": "TSSERVER_S3FT_REGION",
|
|
"default_value": "",
|
|
"user_viewable": true,
|
|
"user_editable": true,
|
|
"rules": "nullable|string|max:100",
|
|
"field_type": "text"
|
|
},
|
|
{
|
|
"name": "HTTPS Certificate Filename",
|
|
"description": "Place the certificate file in \/home\/container and enter the filename here, e.g; ts6_https_cert.pem",
|
|
"env_variable": "TSSERVER_QUERY_HTTPS_CERT",
|
|
"default_value": "",
|
|
"user_viewable": true,
|
|
"user_editable": true,
|
|
"rules": "nullable|string|max:255",
|
|
"field_type": "text"
|
|
},
|
|
{
|
|
"name": "HTTPS Private Key Filename",
|
|
"description": "Place the private key file in \/home\/container and enter the filename here, e.g: ts6_https_key.pem",
|
|
"env_variable": "TSSERVER_QUERY_HTTPS_PRIVATE_KEY",
|
|
"default_value": "",
|
|
"user_viewable": true,
|
|
"user_editable": true,
|
|
"rules": "nullable|string|max:255",
|
|
"field_type": "text"
|
|
}
|
|
]
|
|
} |