OpenRPort server (rportd): API, chisel control plane, reverse-tunnel pool
1.1K
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.
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| Port | Purpose |
|---|---|
38100 | HTTP API (/api/v1/*) |
38101 | Chisel WebSocket (agent connect, HTTP Upgrade) |
38200-38400 | Reverse-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.
| Variable | Notes |
|---|---|
RPORTD_API_USER / RPORTD_API_PASSWORD | Basic auth admin credentials |
RPORTD_KEY_SEED | Server identity seed (openssl rand -hex 18) |
RPORTD_JWT_SECRET | API JWT signing key (openssl rand -base64 50) |
RPORTD_CLIENT_AUTH | clientID:secret pair used by agents |
OPENRPORT_PAIRING_PUBLIC_URL | External URL of the Pairing service |
OPENRPORT_SERVER_PUBLIC_URL | External 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.
| Path | Purpose |
|---|---|
/etc/rport | Optional bind-mount; if rportd.conf exists it overrides env-rendered config |
/var/lib/rport | Server data dir (clients DB, ACME state) |
/var/log/rport | Log files |
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
gsoperator/openrport-pairing — installer/update endpoint + agent binary mirrorgsoperator/openrport-ui — Nuxt management UIBuilt from Grace-Solutions/OpenRPort
(Container/Server/Dockerfile). Upstream:
openrport/openrport.
MPL-2.0 (inherits from upstream rportd).
Content type
Image
Digest
sha256:f90529690…
Size
49.1 MB
Last updated
5 months ago
docker pull gsoperator/openrport-server