# fluksio-worker Runs [Fluksio](https://fluksio.com) nodes on a machine the engine cannot reach — a GPU box, a cluster node, anything behind a NAT. It dials *out* to the engine over one authenticated websocket, so nothing has to be exposed here. ```sh pip install fluksio-worker fluksio-worker \ --url wss://api.example.com/api/v1/workers/attach \ --labels gpu,cuda12 \ --python /path/to/node-venv/bin/python ``` Replace the address and interpreter path with your own. Create a token on the engine with `POST /api/v1/workers/tokens` and set `FLUKSIO_WORKER_TOKEN` before starting the worker. See the [worker guide](https://docs.fluksio.com/code/workers/) for the commands. `--python` selects the environment holding your node dependencies. Omit it to use the worker's own interpreter. The token fixes the worker's name and labels; `--labels` may repeat those labels but cannot change them. Engine and worker must use compatible protocols. Upgrade the engine first, then its workers. A plain `ws://` address is refused unless the engine is on this machine, since the token and node secrets would cross the network in clear; `--insecure` allows it on a network you trust. Requires Python 3.12 or newer on Linux or macOS. ## License Copyright (C) 2026 Melvin Strobl — [GNU Affero General Public License v3.0 or later](https://www.gnu.org/licenses/agpl-3.0.en.html). Running a modified version over a network obliges you to offer its users the corresponding source (AGPL §13).