Quick Start
This guide gets you from zero to a connected server in three commands.
Prerequisites
Section titled “Prerequisites”- Node.js 20 or later
- npm 10 or later
- An SSH-accessible Linux server (any modern distro)
1. Clone & install
Section titled “1. Clone & install”git clone https://github.com/abhee235/headlessos.gitcd headlessosnpm installThe repo is an npm workspace monorepo (server, client, shared). One install covers everything.
2. Configure environment
Section titled “2. Configure environment”Copy the example env file:
cp .env.example .envIf you want LLM-powered parsing for unknown commands, add your API key:
OPENAI_API_KEY=sk-...Note: The LLM is only used as a fallback. Most common commands have deterministic parsers and never hit the API.
3. Start the app
Section titled “3. Start the app”npm run devThis boots both the backend (:3001) and the frontend (:3000).
Open http://localhost:3000 in your browser.
4. Add a server
Section titled “4. Add a server”- Click Add Server in the sidebar.
- Enter your connection details:
- Host —
your-vps.example.comor an IP - Port —
22by default - Username — typically
rootor your user - Auth method — SSH key (recommended) or password
- Host —
- Click Connect.
That’s it. You’ll see your server appear in the sidebar with a live dashboard.
Local dev SSH server
Section titled “Local dev SSH server”Don’t have a spare VPS handy? The repo ships a dev SSH server:
./dev/vm.sh start # Lima VM (recommended — real Ubuntu + Docker)# orcd dev && docker compose up -d # Lightweight Docker containerThen connect to 127.0.0.1:2222 with testuser / testpass.
Next steps
Section titled “Next steps”- Architecture — how the parsing pipeline works
- Security — what we do (and don’t) execute
- Apps — what each built-in app can do