GHGatehousePublic alpha
Documentation/Connector installation · Docker

Connector installation · Docker

Install the outbound connector on your application server

The downloadable bundle includes the .NET source, Dockerfile, Compose definition, environment template, and runbook. It opens no inbound listener.

01

Host placement

Run one connector on a Linux or Windows server whose Docker network can reach the private applications you intend to register. Gatehouse does not require the connector to run on the same host, only on a permitted network path.

  • No public IP required
  • No inbound port mapping
  • Outbound TCP 443 required
  • Keep Docker and the host patched
02

Download and inspect

Download the archive from this page. Review Dockerfile, docker-compose.yml, .env.example, and the connector source before operating it in a sensitive environment.

Configuration
curl -fLO https://gatehousebox.com/downloads/gatehouse-connector.zip
sha256sum gatehouse-connector.zip
unzip gatehouse-connector.zip -d gatehouse-connector
03

Create the one-time enrollment

Sign in, open Connectors, name the connector for its location or trust boundary, and select Generate token. The token expires after 30 minutes and becomes invalid immediately after successful exchange.

Do not put the enrollment token in shell history, source control, tickets, chat, or a reusable machine image.

04

Configure the three enrollment values

Copy .env.example to .env and paste the values displayed by the console. The public relay and enrollment endpoints are fixed for Gatehousebox.

Configuration
RELAY_URL=wss://relay.gatehousebox.com/tunnel/connectors
ENROLL_URL=https://relay.gatehousebox.com/api/enroll
CONNECTOR_ENROLLMENT_TOKEN=gh_enroll_…
05

Start and observe

Compose builds the .NET worker locally and starts it with a private credential volume. Follow structured logs until enrollment and the persistent tunnel both succeed.

Configuration
docker compose up -d --build
docker compose ps
docker compose logs -f --tail=100 connector
06

Credential lifecycle

After enrollment, the connector writes connector-credential.json to /data in the connector-data volume and no longer needs the one-time token. Revoking the connector invalidates the server-side credential hash.

  • Do not copy the credential to another host
  • Back up configuration, not connector identity
  • Enroll a replacement when moving hosts
  • Revoke identities that are no longer used
07

Reach applications correctly

For an application on the Docker host, use host.docker.internal. For another Compose project, attach the connector to a shared external network and register the application container name.

Configuration
docker network create gatehouse-private
# Attach both the application and connector to gatehouse-private
# Register target host: grafana, target port: 3000
08

Upgrade and remove

Download the current bundle, review the source diff, rebuild the image, and restart. To retire a connector, revoke it in Gatehouse before removing the container and local credential volume.

Configuration
docker compose pull --ignore-buildable
docker compose up -d --build
# Retire only after revocation:
docker compose down -v