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:
2025-09-04 09:07:20 -05:00
parent 030ba67335
commit 110d22de87
2 changed files with 48 additions and 0 deletions

View 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"
}
}
}

View 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