Sign inSign up

gsoperator/openrport-server

By gsoperator

•Updated 5 months ago

OpenRPort server (rportd): API, chisel control plane, reverse-tunnel pool

Image
0

1.1K

gsoperator/openrport-server repository overview

⁠openrport-server

rportd (the OpenRPort server) packaged for the Grace-Solutions/OpenRPort⁠ stack. Renders rportd.conf from environment variables at startup, so the image is fully self-contained — no repo checkout required to deploy.

⁠Tags

  • latest  — rolling, retagged on every push to main of the source repo
  • <short-sha>  — immutable, one tag per main-branch commit (use this in production)
  • vX.Y.Z, vX.Y  — published when the source repo cuts a release tag

⁠Ports (host networking)

PortPurpose
38100HTTP API (/api/v1/*)
38101Chisel WebSocket (agent connect, HTTP Upgrade)
38200-38400Reverse-tunnel pool (raw TCP listeners owned by rportd)

The container is designed to run with network_mode: host so the entire tunnel pool is reachable without enumerating port mappings.

⁠Required environment

VariableNotes
RPORTD_API_USER / RPORTD_API_PASSWORDBasic auth admin credentials
RPORTD_KEY_SEEDServer identity seed (openssl rand -hex 18)
RPORTD_JWT_SECRETAPI JWT signing key (openssl rand -base64 50)
RPORTD_CLIENT_AUTHclientID:secret pair used by agents
OPENRPORT_PAIRING_PUBLIC_URLExternal URL of the Pairing service
OPENRPORT_SERVER_PUBLIC_URLExternal URL agents use to connect

Optional: OPENRPORT_TUNNEL_USED_PORTS, OPENRPORT_TUNNEL_HOST, RPORT_OIDC_* for SSO. The full list is documented in .env.example⁠.

⁠Volumes

PathPurpose
/etc/rportOptional bind-mount; if rportd.conf exists it overrides env-rendered config
/var/lib/rportServer data dir (clients DB, ACME state)
/var/log/rportLog files

⁠Quick start

The intended deployment is the full three-service stack via Compose:

git clone https://github.com/Grace-Solutions/OpenRPort
cd OpenRPort
cp .env.example .env   # then edit secrets
make prepare && make up

Or pull and run this image alone (renders config from env):

docker run -d --name openrport-server --network host \
  -e RPORTD_API_PASSWORD=... \
  -e RPORTD_KEY_SEED=... \
  -e RPORTD_JWT_SECRET=... \
  -e RPORTD_CLIENT_AUTH=clientauth1:secret \
  -v openrport-data:/var/lib/rport \
  gsoperator/openrport-server:latest

⁠Companion images

⁠Source

Built from Grace-Solutions/OpenRPort⁠ (Container/Server/Dockerfile). Upstream: openrport/openrport⁠.

⁠License

MPL-2.0 (inherits from upstream rportd).

Tag summary

Content type

Image

Digest

sha256:f90529690…

Size

49.1 MB

Last updated

5 months ago

docker pull gsoperator/openrport-server