Venelx Docs

Build Workers

A build worker is the machine that actually runs your builds. By default your builds run on Venelx shared workers, with nothing to set up. You can also add your own Mac, Windows or Linux machine and have builds run there, while the dashboard stays on app.venelx.com.

Your machine only needs outbound HTTPS. No static IP, no open inbound ports.

Platform support

OSiOS buildsAndroid builds
macOSYes (Xcode required)Yes
LinuxNoYes (Debian / Ubuntu, x86_64 only)
WindowsNoYes, via WSL2: run the Linux command inside your WSL2 Ubuntu

Worker slots

Every account can run a number of your own machines (slots). The Account → Self-hosted workers page (app.venelx.com/account/workers) shows how many you have used and whether they are included free. If all slots are in use, remove a machine to add another.

Setup

  1. Install the worker on the machine that will build. Either use the command line:

    bash
    curl -fsSL https://get.venelx.com | sh
    
    powershell
    irm https://get.venelx.com/win | iex
    

    or download the installer (macOS .pkg, Windows .exe, Linux .deb) from Account → Self-hosted workers.

  2. Open Venelx Worker and click Connect. The app shows a pairing code (and may open the dashboard with the code filled in).

  3. Approve it in the dashboard. On Account → Self-hosted workers click Guided setup, enter the code, click Look up, then Approve machine. If the app opened the dashboard for you (app.venelx.com/account/workers/connect), just approve it there.

  4. The machine appears under Machines and turns online within a few seconds.

Linux: only Debian and Ubuntu on x86_64 are supported today; the installer stops on ARM.

Changed IP address or rebooted? No re-pairing is needed. The worker reconnects on its own.

Advanced: headless setup with a pairing token

For a machine with no screen, click Create a worker manually on the workers page, choose a name and what it builds, and copy the pairing token (shown once). Put it in the worker config file: ~/.venelx/worker.env on macOS and Linux, %USERPROFILE%\.venelx\worker.env on Windows:

env
WORKER_NAME=mac-studio-1
WORKER_PAIRING_TOKEN=<paste from dashboard>
API_URL=https://api.venelx.com
WORKER_PLATFORMS=ios,android-preview,android-production

Lost the token? Use Options → New pairing token on the machine.

Build routing

Open Project → Settings → General to control where a project's builds run:

SettingWhat it does
Worker routing: Hybrid (default)Your online workers run the build first. If none is online, Venelx shared workers run it instead.
Worker routing: StrictBuilds run only on your workers. If none is online, the build waits.
Worker poolRun this project only on one team's workers (see Team worker pools). Default uses your own workers and any team pools that include the project. With Hybrid routing, Venelx shared workers still back it up.
Required worker labelsAsks for workers carrying all the labels you list (press Enter or comma to add a label; up to 20).

Without your own workers, projects use Venelx shared workers. Platform matching is automatic: iOS jobs go to macOS workers, Android jobs to Android-capable workers.

Labels

Labels are tags on a machine (for example gpu or mac-m2) shown next to it in the Machines list. Required worker labels on a project asks for machines that carry all the listed labels. Only add labels you can see on a machine; a label no machine has leaves the project with nothing to match.

Team worker pools

Share a machine with a team: open Options on the machine and choose a Team. Builds for that team's projects can then run on it. On a project, set Worker pool to a team to run its builds only on that team's workers. Change or clear the assignment any time. From an AI assistant, use assign_worker_team in the MCP server.

Metrics and usage

On Account → Self-hosted workers:

  • Options on a machine shows CPU, Memory and Disk free history for the last 1 hour, 24 hours or 7 days, and any health checks that need attention on that computer.
  • Usage shows build minutes and build counts per machine, month by month.

Both are also available as the MCP tools worker_metrics and worker_usage.

Managing a machine

Click Options next to a machine to:

  • Pause or resume builds on it
  • Restart the worker
  • Create a New pairing token
  • Remove the machine (you can add it again later)

Installing without security warnings

The installers are not code-signed yet, so macOS Gatekeeper and Windows SmartScreen may warn when you open a file downloaded in a browser. The warning is expected; you can continue past it. To avoid it, install from the command line (see Setup). The script verifies the installer's SHA-256 against the digest published for the release.

Pin a version with curl -fsSL https://get.venelx.com | sh -s -- --version 0.1.101.

Installed from a browser instead?

  • macOS: right-click the .pkg, choose Open, then Open, or System Settings → Privacy & Security → Open Anyway.
  • Windows: on the SmartScreen prompt click More info → Run anyway.

Updates are downloaded by the worker itself, and their SHA-256 is checked.

Uninstalling

  • Windows: Control Panel → Programs → Uninstall "Venelx Worker". Your config in %USERPROFILE%\.venelx is kept.
  • macOS: run /Applications/Venelx Worker.app/Contents/Resources/uninstall.sh (add --purge to also delete ~/.venelx). There is no Finder-based uninstaller for .pkg installs.
  • Linux: sudo apt-get remove venelx-worker (use purge instead of remove to also delete the config).

After uninstalling, remove the machine in the dashboard with Options → Remove machine.

Troubleshooting

SymptomFix
Invalid or expired pairing codeClick Connect in Venelx Worker again to get a fresh code
All slots in use / no slotsRemove an unused machine on the workers page
Machine online but no buildsCheck the project's Worker routing, Worker pool and Required worker labels in Project → Settings → General
Machine shows offline after quittingThe worker reports offline when you quit it; allow a moment
Worker stuck at "starting service"Install the latest version of the worker
Heartbeat failed (headless setup)Check API_URL and WORKER_PAIRING_TOKEN in worker.env
Options shows "Needs attention"Follow the hint under each failing health check