| name | extra-apps |
| description | Instructions for finding and managing extra/external applications like CAD and Public Transportation. |
Extra Applications
The AutomateLinux ecosystem integrates several external applications stored directly in the extraApps/ directory.
Registered Apps
| App ID | Display Name | Has Server | Dev Path | Prod Path |
|---|
cad | CAD Application | No | /opt/automateLinux/extraApps/cad | /opt/prod/cad |
pt | Public Transportation | No | /opt/automateLinux/extraApps/publicTransportation | /opt/prod/publicTransportation |
App Lifecycle Commands
List and Status
d listApps
d appStatus
d appStatus --app cad
Start/Stop/Restart
d startApp --app <name> --mode <prod|dev>
d stopApp --app <name> --mode <prod|dev|all>
d restartApp --app <name> --mode <prod|dev>
Enable/Disable for Boot
d enableApp --app <name> --mode <prod|dev>
d disableApp --app <name> --mode <prod|dev|all>
Build and Dependencies
d buildApp --app cad --mode prod
d installAppDeps --app cad --mode dev
d installAppDeps --app cad --mode dev --component client
Port Management
App ports are managed centrally by the daemon.
Current Standard Mappings
| App | Mode | Port | Description |
|---|
| CAD | Prod | 3000 | CAD frontend production |
| CAD | Dev | 3001 | CAD frontend development |
| PT | Prod | 3002 | Public Transportation production |
| PT | Dev | 3003 | Public Transportation development |
Updating Ports
d setPort --key pt-dev --value 3005
d getPort --key cad-dev
d listPorts
Production Versions
Production deployments are git worktrees located at /opt/prod/<appName>/:
ls /opt/prod/
To update a production deployment:
cd /opt/prod/cad
git fetch origin
git checkout <commit-or-tag>
d buildApp --app cad --mode prod
d installAppDeps --app cad --mode prod
d restartApp --app cad --mode prod
Starting Applications
CAD Dev Server
/opt/automateLinux/extraApps/cad/open_app.sh
This starts the dev server on the daemon-registered port and opens Chrome in app mode.
Public Transportation
d publicTransportationOpenApp
App Assignment (Multi-Peer)
When multiple machines are connected via WireGuard VPN, the daemon tracks which peer is actively working on each extraApp to prevent git conflicts.
Claiming an App
Use gita instead of git add when working in an extraApp directory:
cd /opt/automateLinux/extraApps/cad
gita .
The gita function automatically:
- Detects which extraApp you're in
- Calls
d claimApp --app <name> to register ownership
- Warns if another peer already owns the app
- Triggers VPS nginx to forward the dev port to your machine
Manual Commands
d claimApp --app cad
d releaseApp --app cad
d getAppOwner --app cad
Source Files
- daemon/src/cmdApp.cpp: App lifecycle management (start/stop/restart/build/install)
- daemon/include/cmdApp.h: AppConfig struct and function declarations
- services/system/: Systemd service files for each app