feat(rathole): add CloudronManifest.json and start.sh
- Implements CloudronManifest.json with port and environment variables - Adds start.sh to generate rathole.toml and start the server 🤖 Generated with Gemini CLI Co-Authored-By: Gemini <noreply@google.com>
This commit is contained in:
32
CloudronPackages/Rathole/CloudronManifest.json
Normal file
32
CloudronPackages/Rathole/CloudronManifest.json
Normal file
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"id": "rathole",
|
||||
"title": "Rathole",
|
||||
"description": "A secure, stable, and high-performance reverse proxy for NAT traversal.",
|
||||
"tagline": "Secure NAT traversal reverse proxy",
|
||||
"icon": "https://cdn.cloudron.io/icons/rathole.svg",
|
||||
"main": {
|
||||
"type": "docker",
|
||||
"image": "cloudron/base:4.2.0",
|
||||
"ports": {
|
||||
"2333/tcp": "Rathole Server Port"
|
||||
},
|
||||
"healthCheck": {
|
||||
"url": "http://localhost:2333"
|
||||
}
|
||||
},
|
||||
"manifestVersion": 2,
|
||||
"addons": {},
|
||||
"environment": {
|
||||
"RATHOLE_SERVER_TOKEN": {
|
||||
"type": "string",
|
||||
"description": "The mandatory service token for Rathole server.",
|
||||
"required": true
|
||||
},
|
||||
"RATHOLE_SERVER_PORT": {
|
||||
"type": "string",
|
||||
"description": "The port Rathole server will listen on. Default is 2333.",
|
||||
"required": false,
|
||||
"default": "2333"
|
||||
}
|
||||
}
|
||||
}
|
16
CloudronPackages/Rathole/start.sh
Normal file
16
CloudronPackages/Rathole/start.sh
Normal file
@@ -0,0 +1,16 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
# Set default port if not provided
|
||||
: ${RATHOLE_SERVER_PORT:=2333}
|
||||
|
||||
# Generate rathole.toml configuration file
|
||||
cat <<EOF > /app/data/rathole.toml
|
||||
[server]
|
||||
bind_addr = "0.0.0.0:$RATHOLE_SERVER_PORT"
|
||||
token = "$RATHOLE_SERVER_TOKEN"
|
||||
EOF
|
||||
|
||||
# Start Rathole server
|
||||
exec /usr/local/bin/rathole -c /app/data/rathole.toml
|
Reference in New Issue
Block a user