Your .env file shows:
LOCAL_NEXUS_AUTO_START_ALL_ON_BOOT=true
This means all services with a start_command will automatically start when the controller starts.
When you start the controller (via npm run dev or start.bat):
- Controller starts up
- Scans database for all services
- For each service that has a
start_commandand isn't already running:- Executes the start command
- Logs output to
data/logs/ - Tracks the process PID
- Updates service status
start.batOr double-click start.bat.
Look at the Services page - you should see:
- Services with green "Running" status = Started successfully
- Services with red "Error" status = Failed to start
- Services with gray "Stopped" status = No start command or not auto-started
For any service with errors:
- Click on the service name
- Scroll down to "Logs" section
- Read the error message
Common errors:
- Missing dependencies - Need to install packages first
- Port already in use - Another program using the port
- Wrong working directory - Path doesn't exist
- Command not found - Missing Python, Node, etc.
Cause: Start command failed
Solution:
- Click the service name in dashboard
- Check the "Last Error" field
- Check logs (scroll down to Logs section)
- Fix the issue (see specific errors below)
Cause: Another program is using the port
Solution: The controller auto-heals this! It will:
- Detect the port conflict
- Assign a new available port
- Update the service URLs
- Try starting again
If it still fails, manually change the port:
- Go to Services page
- Click service name
- Change "Port" field
- Click "Update Service"
- Click "Start" button
Cause: Missing Python, Node, or other runtime
Solution:
For Python services:
python --versionIf error: Install Python from https://python.org
For Node services:
node --version
npm --versionIf error: Install Node.js from https://nodejs.org
Cause: Service dependencies not installed
Solution:
For Python services:
cd C:\path\to\service
pip install -r requirements.txtFor Node services:
cd C:\path\to\service
npm installThen restart the service from dashboard.
Cause: Service working_directory path is wrong
Solution:
- Find the actual service folder location
- Go to Services page → Click service name
- Update "Working Directory" field with correct path
- Click "Update Service"
- Click "Start" button
Example paths:
C:\Users\nedpe\Desktop\Repositories\my-serviceC:\Users\nedpe\Projects\my-api
Cause: Service crashes right after starting
Solution:
- Click service name
- Scroll to Logs section
- Read the crash error
- Fix the root cause (usually missing config or dependencies)
- Go to http://localhost:5010
- Click "Services" in navigation
- Click the service name
- Scroll down to "Logs" section
Logs are saved in:
data/logs/
Each service has its own log file:
data/logs/ServiceName-abc123.log
Open in any text editor to see detailed output.
- Close the controller (Ctrl+C in terminal or close window)
- Start again:
start.bat - Check dashboard - services should auto-start
Create a simple test service to verify auto-start works:
- Go to http://localhost:5010
- Click "Services" → "New Service"
- Fill in:
- Name: Test Service
- Start Command:
python -m http.server 8888 - Working Directory:
C:\Users\nedpe - Port: 8888
- Click "Create Service"
- Restart controller
- Check if Test Service auto-started
Windows Task Manager should show processes for running services:
- Press Ctrl+Shift+Esc
- Look for
python.exe,node.exe, etc. - Should match your running services
When it runs:
- Every time you start the controller
What it starts:
- All services with
start_commanddefined - Only services currently stopped
- Skips services already running
Configuration:
LOCAL_NEXUS_AUTO_START_ALL_ON_BOOT=trueWhen it runs:
- Only when you click "Start" button
What it starts:
- Only the specific service you clicked
Use this for:
- Testing a service
- Restarting after making changes
- Starting services you don't want auto-started
If you want some services to NOT auto-start:
- Go to service detail page
- Clear the "Start Command" field
- Save
- Service won't auto-start anymore
Edit .env:
LOCAL_NEXUS_AUTO_START_ALL_ON_BOOT=falseThen manually start only the services you want via dashboard.
Always set the working directory for each service:
C:\path\to\service\folder
Don't leave it blank unless the command uses absolute paths.
Python services:
python app.py
python -m uvicorn main:app --port {PORT}
python manage.py runserver 0.0.0.0:{PORT}
Node services:
npm start
node server.js
npm run dev
Java services:
java -jar application.jar --server.port={PORT}
- Create the service
- Manually start it via dashboard
- Check if it works
- Check logs for errors
- Fix any issues
- THEN enable auto-start
If your service needs a port, use the {PORT} placeholder:
python app.py --port {PORT}
npm start -- --port {PORT}
The controller will replace {PORT} with the actual port number.
Look at service logs to catch issues early:
data/logs/
Or use the dashboard Logs section.
Services can use these environment variables automatically:
PORT- Set to the service's assigned portHOST- Always set to127.0.0.1
Example Python code:
import os
port = int(os.getenv("PORT", 3000))
host = os.getenv("HOST", "127.0.0.1")Example Node code:
const port = process.env.PORT || 3000;
const host = process.env.HOST || '127.0.0.1';If your service needs custom env vars:
- Go to service detail page
- Find "Environment Overrides" section
- Add key-value pairs:
{ "DATABASE_URL": "sqlite:///data/mydb.db", "API_KEY_ENV": "MY_API_KEY", "DEBUG": "true" } - Save
- Service will use these env vars when starting
When auto-start isn't working:
- Auto-start enabled in
.env? (LOCAL_NEXUS_AUTO_START_ALL_ON_BOOT=true) - Service has
start_commanddefined? - Working directory path is correct?
- Dependencies installed? (requirements.txt, package.json)
- Port is available? (not used by another program)
- Runtime installed? (Python, Node, Java, etc.)
- Checked service logs for errors?
- Tried manual start first?
If you're still having issues:
-
Check the logs:
data/logs/ -
Check service status: Dashboard → Services → Click service name
-
Check last error: Service detail page shows "Last Error" field
-
Test command manually:
cd C:\path\to\service python app.pyIf it works manually, it should work via controller.
-
Verify paths: Make sure all paths in service config are correct and exist.
| Task | How To Do It |
|---|---|
| Enable auto-start | Set LOCAL_NEXUS_AUTO_START_ALL_ON_BOOT=true in .env |
| Disable auto-start | Set LOCAL_NEXUS_AUTO_START_ALL_ON_BOOT=false in .env |
| Check service status | Dashboard → Services |
| View service logs | Dashboard → Services → Click service → Logs section |
| Manual start | Dashboard → Services → Click service → Start button |
| Stop service | Dashboard → Services → Click service → Stop button |
| Restart service | Dashboard → Services → Click service → Restart button |
| Check log files | Open data/logs/*.log files |
Auto-start is already enabled in your setup. When the controller starts:
- ✅ Scans all services
- ✅ Starts services with
start_command - ✅ Logs output to
data/logs/ - ✅ Shows status in dashboard
If services aren't starting:
- Check service logs for errors
- Verify start commands are correct
- Ensure dependencies are installed
- Make sure working directories exist
Test it now:
- Restart the controller
- Open dashboard
- Check Services page
- Look for green "Running" statuses
- Check logs if any errors