This guide shows you how to configure Local Nexus Controller to automatically start when Windows boots.
- Open the
toolsfolder in your project - Double-click
ENABLE_AUTO_START.bat - Click "Yes" when prompted for administrator access
- Follow the prompts
- Done! The controller will now start automatically on boot
- Open the
toolsfolder in your project - Double-click
DISABLE_AUTO_START.bat - Click "Yes" when prompted for administrator access
- Confirm removal when asked
- Done! Auto-start is disabled
When you enable auto-start, the setup script:
- ✅ Creates a Windows Task Scheduler task
- ✅ Configures it to run at user logon
- ✅ Sets the correct working directory (your project folder)
- ✅ Runs
npm run devautomatically - ✅ Handles dependencies installation on first run
- ✅ Opens your browser to http://localhost:5010
-
Task Scheduler Entry
- Task Name: "Local Nexus Controller"
- Trigger: At user logon
- Action: Run
npm run devfrom project directory - User: Your Windows account
- Privilege Level: Highest (to access ports)
-
Startup Script
- Location:
tools/start_nexus_on_boot.bat - Changes to correct directory
- Runs
npm run dev - Keeps window minimized
- Location:
-
Application Startup
- Auto-installs dependencies if needed
- Starts FastAPI server on port 5010
- Opens dashboard in browser
- Runs in background
Method 1: Task Scheduler GUI
- Press
Win + R - Type
taskschd.mscand press Enter - Look for "Local Nexus Controller" in the task list
- Status should show "Ready"
Method 2: PowerShell
Get-ScheduledTask -TaskName "Local Nexus Controller"Option A: Run the task now
Start-ScheduledTask -TaskName "Local Nexus Controller"Option B: Log out and log back in
- Save all your work
- Log out of Windows
- Log back in
- The controller should start automatically
Cause: Script needs administrator privileges
Solution:
- Right-click the .bat file
- Select "Run as administrator"
Check 1: Verify task is enabled
Get-ScheduledTask -TaskName "Local Nexus Controller" | Select-Object StateShould show: Ready
Check 2: Check task history
- Open Task Scheduler (
taskschd.msc) - Find "Local Nexus Controller"
- Click the "History" tab
- Look for errors
Check 3: Test the batch file manually
cd tools
start_nexus_on_boot.batSymptom: "Scripts are disabled on this system"
Solution: Run this in PowerShell as Administrator:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUserThen try again.
Cause: Node.js not in system PATH for scheduled tasks
Solution A: Add Node to System PATH
- Search for "Environment Variables" in Windows
- Edit "Path" under System variables
- Add Node.js installation path (e.g.,
C:\Program Files\nodejs) - Restart computer
Solution B: Modify startup script to use full path
Edit tools/start_nexus_on_boot.bat:
@echo off
cd /d "C:\full\path\to\project"
"C:\Program Files\nodejs\npm.cmd" run devCause: Python not in system PATH
Solution: Same as Node issue above - add Python to system PATH
Symptom: Port 5010 already in use
Check what's running:
Get-Process | Where-Object {$_.ProcessName -like "*python*"}Kill existing processes:
Stop-Process -Name python -ForceOr use the dashboard: Visit http://localhost:5010 and stop services from there
Edit the task in Task Scheduler:
- Open Task Scheduler
- Find "Local Nexus Controller"
- Right-click → Properties
- Triggers tab → Edit
- Check "Delay task for:" and set delay (e.g., 30 seconds)
Edit the task:
- Conditions tab
- Check "Start only if the following network connection is available"
- Select your network
Edit .env file in project root:
LOCAL_NEXUS_PORT=5010
LOCAL_NEXUS_HOST=0.0.0.0
LOCAL_NEXUS_OPEN_BROWSER=truetools/
├── ENABLE_AUTO_START.bat # Double-click to enable
├── DISABLE_AUTO_START.bat # Double-click to disable
├── setup_auto_start.ps1 # PowerShell setup script
├── disable_auto_start.ps1 # PowerShell removal script
├── start_nexus_on_boot.bat # Auto-generated startup script
└── start_on_boot.vbs # Alternative VBS launcher
If Task Scheduler doesn't work, you can use the Startup folder:
- Press
Win + R - Type
shell:startupand press Enter - Create a shortcut to
tools/start_nexus_on_boot.bat - Restart to test
Note: This method is less reliable than Task Scheduler.
- Port Binding: Opening port 5010 requires elevated privileges
- Task Scheduler: Creating system tasks requires admin rights
- Process Management: Starting/stopping services needs permissions
- ✅ Task Scheduler (to create startup task)
- ✅ Project directory (to run the application)
- ✅ Network port 5010 (for web interface)
- ❌ No system files are modified
- ❌ No registry changes outside Task Scheduler
- ❌ No data collection or external connections
To completely remove auto-start:
- Run
DISABLE_AUTO_START.bat - Delete
tools/start_nexus_on_boot.bat(optional) - Verify in Task Scheduler that task is gone
A: Minimal impact. The task starts after you log in, not during Windows boot. The actual application takes 2-3 seconds to start.
A: Yes, edit the .env file:
LOCAL_NEXUS_PORT=8080A: No. The task is configured to run at user logon, so you must be logged into Windows.
A: Yes, edit .env:
LOCAL_NEXUS_OPEN_BROWSER=falseA: The console window runs minimized. To see output:
- Open Task Manager
- Find "cmd.exe" or "python.exe"
- Right-click → Bring to front
Or check logs at: http://localhost:5010
A: Not on the same port. Change the port in .env for additional instances.
A: Yes, but modify start_nexus_on_boot.bat to activate the venv first:
@echo off
cd /d "C:\path\to\project"
call venv\Scripts\activate
npm run devTo enable auto-start:
1. Double-click: tools/ENABLE_AUTO_START.bat
2. Click "Yes" for admin access
3. Done!
To disable auto-start:
1. Double-click: tools/DISABLE_AUTO_START.bat
2. Click "Yes" for admin access
3. Confirm removal
4. Done!
To verify it's working:
1. Log out of Windows
2. Log back in
3. Browser should open to http://localhost:5010
That's it! Your Local Nexus Controller will now start automatically every time you log into Windows.