Worker Installation
Windows worker installation
Use these steps to install an external LyftData worker on Windows so it can connect to an existing server. Run all commands in an elevated PowerShell prompt.
Before you begin
Complete the installation prerequisites, install the Windows distribution (MSI recommended), and create a worker ID plus API key on the server. Confirm availability with lyftdata-worker --version (or lyftdata --version) from an elevated PowerShell prompt.
MSI automation (optional)
The MSI supports a small set of public properties for unattended installs:
# Default (recommended): LocalServicemsiexec /i .\lyftdata-worker-x86_64-pc-windows-msvc.msi /qn
# Optional: LocalSystem (highly privileged; prefer a dedicated account in production)msiexec /i .\lyftdata-worker-x86_64-pc-windows-msvc.msi /qn LYFTDATA_MSI_SERVICE_ACCOUNT=LocalSystem
# Optional: enable delayed-auto-start and attempt to start the service during MSI install (best-effort).# Warning: this can leave the service configured to start automatically even if `service.env` is not ready yet.msiexec /i .\lyftdata-worker-x86_64-pc-windows-msvc.msi /qn LYFTDATA_MSI_SERVICE_START=1Prepare the worker account
Configure the service environment file
Native services load environment variables from a scoped file (instead of machine-wide registry environment variables) so secrets like worker API keys are not exposed to non-admin users.
Create C:\ProgramData\LyftData\worker\service.env with the required settings:
New-Item -ItemType Directory -Path "C:\ProgramData\LyftData\worker" -Force | Out-Null
@'# LyftData worker service environmentLYFTDATA_WORKER_ID=worker-01LYFTDATA_WORKER_API_KEY=<your-api-key>LYFTDATA_URL=https://server-host:3000LYFTDATA_JOBS_DIR=C:\ProgramData\LyftData\workerLYFTDATA_LICENSE_EULA_ACCEPT=yes# Evaluation only: allow connecting to a self-signed TLS server certificateLYFTDATA_TLS_INSECURE=true'@ | Set-Content -Path "C:\ProgramData\LyftData\worker\service.env" -Encoding UTF8Optional settings
Before starting the service, add any other worker flags here—for example, change LYFTDATA_URL when targeting a staging control plane. Restarting the service after edits picks up the new environment immediately.
Install the native service
Install the worker service using built-in Windows Service Control Manager (SCM) integration. You can manage the worker service using either binary:
# Recommended: manage the worker service via lyftdata-worker.# Use --replace for MSI installs and upgrades.lyftdata-worker service install --replace
# Backward compatible: manage the worker service via lyftdata# lyftdata service install --component worker
# Optional: run as a dedicated local user account (recommended for production)# lyftdata-worker service install --replace --user ".\lyftdata-worker" --password-stdin
Start-Service LyftDataWorkerVerify the worker is online
# Confirm the Windows service is runningGet-Service LyftDataWorker
# Inspect the worker log (optional)Get-ChildItem "C:\ProgramData\LyftData\worker\logs\lyftdata*.log" | Sort-Object LastWriteTime | Select-Object -Last 1 | Get-Content -Tail 50Check the server UI to confirm the worker shows online. If the worker does not appear in the dashboard, verify the worker ID, API key, and server URL in C:\ProgramData\LyftData\worker\service.env, then restart the service.
Next steps
- Deploy jobs to the new worker from the server UI
- Repeat the process on additional hosts to scale out
- Follow the post-install checklist to enable metrics and exercise the job editor
Legacy: Install with NSSM
If you are running an older LyftData build that does not include lyftdata-worker service ..., you can still install the worker service with NSSM.
Configure machine environment variables (legacy)
[Environment]::SetEnvironmentVariable("LYFTDATA_WORKER_ID", "worker-01", "Machine")[Environment]::SetEnvironmentVariable("LYFTDATA_WORKER_API_KEY", "<your-api-key>", "Machine")[Environment]::SetEnvironmentVariable("LYFTDATA_URL", "https://server-host:3000", "Machine")[Environment]::SetEnvironmentVariable("LYFTDATA_TLS_INSECURE", "true", "Machine")[Environment]::SetEnvironmentVariable("LYFTDATA_JOBS_DIR", "C:\\ProgramData\\LyftData\\worker", "Machine")[Environment]::SetEnvironmentVariable("LYFTDATA_LICENSE_EULA_ACCEPT", "yes", "Machine")Install the worker service with NSSM (legacy)
nssm install LyftDataWorker "C:\Program Files\LyftData\lyftdata.exe" run workernssm set LyftDataWorker AppDirectory "C:\Program Files\LyftData"nssm set LyftDataWorker AppStdout "C:\ProgramData\LyftData\worker\worker.log"nssm set LyftDataWorker AppStderr "C:\ProgramData\LyftData\worker\worker-error.log"nssm set LyftDataWorker ObjectName ".\lyftdata-worker" "<ServiceAccountPassword>"nssm set LyftDataWorker Start SERVICE_AUTO_START
Start-Service LyftDataWorkerReplace <ServiceAccountPassword> with the password for the lyftdata-worker service account before running the command.