Skip to content

Worker Installation

macOS worker installation

This guide connects a macOS host to an existing Lyft Data server as a worker. All commands require administrator privileges.

Before you begin

Complete the installation prerequisites, ensure the binary is available at /usr/local/bin/lyftdata, and generate a worker ID plus API key on the server. Verify access with lyftdata --version.

Prepare the worker account

Install the launch daemon

Create /Library/LaunchDaemons/com.lyftdata.worker.plist:

Terminal window
sudo tee /Library/LaunchDaemons/com.lyftdata.worker.plist >/dev/null <<'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.lyftdata.worker</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/bin/lyftdata</string>
<string>run</string>
<string>worker</string>
</array>
<key>EnvironmentVariables</key>
<dict>
<key>LYFTDATA_WORKER_ID</key>
<string>worker-01</string>
<key>LYFTDATA_WORKER_API_KEY</key>
<string>&lt;your-api-key&gt;</string>
<key>LYFTDATA_URL</key>
<string>http://server-host:3000</string>
<key>LYFTDATA_JOBS_DIR</key>
<string>/var/lib/lyftdata-worker</string>
<key>LYFTDATA_LICENSE_EULA_ACCEPT</key>
<string>yes</string>
</dict>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>StandardOutPath</key>
<string>/var/lib/lyftdata-worker/worker.log</string>
<key>StandardErrorPath</key>
<string>/var/lib/lyftdata-worker/worker-error.log</string>
<key>UserName</key>
<string>lyftdata-worker</string>
<key>WorkingDirectory</key>
<string>/var/lib/lyftdata-worker</string>
</dict>
</plist>
EOF
sudo chmod 644 /Library/LaunchDaemons/com.lyftdata.worker.plist

Load the worker:

Terminal window
sudo launchctl load -w /Library/LaunchDaemons/com.lyftdata.worker.plist

Optional settings

Add or adjust plist environment variables to tune behaviour—for example, set LYFTDATA_WORKER_METRICS_INTERVAL or update LYFTDATA_URL when migrating environments. Each key/string pair in the <dict> maps directly to a lyftdata run worker flag.

Verify the worker

Terminal window
# Check launchctl status
sudo launchctl list | grep com.lyftdata.worker
# Tail the worker log
sudo tail -n 50 /var/lib/lyftdata-worker/worker.log

Confirm in the server UI that the worker appears online. If it does not, double-check the worker ID, API key, and server URL in the plist and re-run launchctl load -w.

Next steps

  • Deploy jobs to the worker from the server UI
  • Repeat on additional hosts to scale out
  • Follow the post-install checklist for metrics and job editor tips