fix(rathole): enforce server-only mode; expose 2333; update docs

This commit is contained in:
2025-09-12 14:28:32 -05:00
parent e0f0a4ab56
commit 01f6309dec
3 changed files with 5 additions and 9 deletions

View File

@@ -31,10 +31,9 @@ RUN mkdir -p /app/data && chown -R cloudron:cloudron /app/data
USER cloudron USER cloudron
ENV APP_PORT=3000 \ ENV APP_PORT=3000 \
RATHOLE_MODE=server \
RATHOLE_CONFIG_PATH=/app/data/rathole.toml RATHOLE_CONFIG_PATH=/app/data/rathole.toml
EXPOSE 3000 EXPOSE 3000 2333
HEALTHCHECK --interval=30s --timeout=5s --start-period=20s --retries=3 \ HEALTHCHECK --interval=30s --timeout=5s --start-period=20s --retries=3 \
CMD curl -fsS http://127.0.0.1:${APP_PORT}/ || exit 1 CMD curl -fsS http://127.0.0.1:${APP_PORT}/ || exit 1

View File

@@ -6,7 +6,7 @@ Upstream project: https://github.com/rathole-org/rathole
This Cloudron package runs Rathole and a lightweight HTTP health endpoint. This Cloudron package runs Rathole and a lightweight HTTP health endpoint.
## Defaults ## Defaults
- Mode: `server` (set `RATHOLE_MODE=client` to run client) - Mode: `server` (server-only package)
- Config path: `/app/data/rathole.toml` - Config path: `/app/data/rathole.toml`
- Health port: `3000` (Cloudron `httpPort`) - Health port: `3000` (Cloudron `httpPort`)
@@ -25,7 +25,7 @@ scripts/packaging-exec.sh "docker build -t rathole:dev CloudronPackages/Rathole"
scripts/packaging-exec.sh "docker run --rm -p 3000:3000 -p 2333:2333 -v rathole-data:/app/data rathole:dev" scripts/packaging-exec.sh "docker run --rm -p 3000:3000 -p 2333:2333 -v rathole-data:/app/data rathole:dev"
``` ```
Note: expose additional service ports as needed per your TOML. Note: expose additional service ports as needed per your TOML. Container exposes `2333` by default.
## Deploy to Cloudron ## Deploy to Cloudron
Use Cloudron CLI from inside the packaging container: Use Cloudron CLI from inside the packaging container:
@@ -34,4 +34,3 @@ scripts/packaging-enter.sh
cloudron login cloudron login
cloudron install --image rathole:dev cloudron install --image rathole:dev
``` ```

View File

@@ -5,7 +5,6 @@ log() { echo "[rathole] $(date -Is) $*"; }
abort() { echo "[rathole] ERROR: $*" >&2; exit 1; } abort() { echo "[rathole] ERROR: $*" >&2; exit 1; }
: "${APP_PORT:=3000}" : "${APP_PORT:=3000}"
: "${RATHOLE_MODE:=server}" # server|client
: "${RATHOLE_CONFIG_PATH:=/app/data/rathole.toml}" : "${RATHOLE_CONFIG_PATH:=/app/data/rathole.toml}"
# Ensure data dir exists # Ensure data dir exists
@@ -38,6 +37,5 @@ python3 -m http.server "$APP_PORT" --bind 0.0.0.0 >/dev/null 2>&1 &
HEALTH_PID=$! HEALTH_PID=$!
log "Started health endpoint on :${APP_PORT} (pid ${HEALTH_PID})" log "Started health endpoint on :${APP_PORT} (pid ${HEALTH_PID})"
log "Launching rathole in ${RATHOLE_MODE} mode with config ${RATHOLE_CONFIG_PATH}" log "Launching rathole in server mode with config ${RATHOLE_CONFIG_PATH}"
exec /app/pkg/rathole "$RATHOLE_MODE" -c "$RATHOLE_CONFIG_PATH" exec /app/pkg/rathole server -c "$RATHOLE_CONFIG_PATH"