This allocator uses mesh_overlay connectivity, so a
client reaches it over a Tailscale tailnet rather than the LAN. Open a
terminal inside each client (e.g. a Run:AI-hosted workload) and run the
command below — hostname, machine identity and GPU are auto-detected.
Choose any <name> as that client's Tailscale
hostname, and mint <key> in your Tailscale admin
console.
This allocator uses reverse_tunnel connectivity: the
client dials out to this allocator instead of accepting inbound
connections. Open a terminal inside each client box and run the command
below — hostname, machine identity and GPU are auto-detected, and
--tunnel takes no arguments because the allocator mints
every value the tunnel needs.
Run this command on a Linux GPU box on this allocator's LAN to register it as a manual client. The command is pre-populated with this deployment's URL and current bootstrap token.
{% endif %}lablink client register \
--allocator-url {{ allocator_url }} \
--register-token {{ register_token }}{% if connectivity == "mesh_overlay" %} \
--overlay-hostname <name> \
--tailscale-authkey <key>{% elif connectivity == "reverse_tunnel" %} \
--tunnel{% endif %}{% if show_insecure %} \
--insecure{% endif %}
lablink client register fails with
an auth error, refresh this page to copy the current token.
Registering ahead of time, from somewhere other than the client itself?
Add --no-run-locally to print the secrets for your own
workload submission instead of starting a container here. That also
requires --hostname and --machine-identity,
since auto-detection would report this machine's facts, not the future
client's.
Prerequisites on the BYO box: Docker + nvidia-container-toolkit (for
GPU), and the lablink-cli Python package installed.