nethera

Core concepts

Endpoints

Public HTTPS URLs that route to service ports on your machines.

An endpoint is a public HTTPS URL managed by Nethera. It maps to a service port on a machine through Nethera's edge and the machine tunnel.

Endpoint config lives under services.<service>.nethera.public.

nethera.yml
services:
web:
image: ghcr.io/acme/app:latest
nethera:
public: 3000
auth: login

Fields

  • public selects the container port to expose. Use public: 3000 or public: [3000].
  • auth controls whether the endpoint requires Nethera login.

The public port does not need to be listed under Compose ports. Nethera binds the tunnel-facing port during deployment.

Endpoint environment variables

When a deployment has a public endpoint, Nethera injects the endpoint URL and hostname through the same env-file mechanism used for app secrets.

For one public endpoint, services receive:

text
NETHERA_PUBLIC_HOST=example-web-a7fa.sg.nethera.io
NETHERA_PUBLIC_URL=https://example-web-a7fa.sg.nethera.io
NETHERA_WEB_HOST=example-web-a7fa.sg.nethera.io
NETHERA_WEB_URL=https://example-web-a7fa.sg.nethera.io

For multiple public services, each endpoint is available as NETHERA_<SERVICE>_URL and NETHERA_<SERVICE>_HOST, for example NETHERA_API_URL and NETHERA_API_HOST.

The traffic path is:

text
Browser -> Nethera edge -> WireGuard tunnel -> user machine -> Docker service

Endpoints remain tied to the machine deployment that created them. If a machine is removed from Nethera, its endpoints are disabled rather than hard-deleted.