You don’t need to understand the technical details to use this feature. The configuration examples below are copy-paste ready.
What you need
Before you start, have these ready:| Item | Where to get it |
|---|---|
| A VPS running Ubuntu 22.04+ with at least 1 GB RAM | Your hosting provider’s dashboard |
| Root SSH access to the server | Your provider sends credentials after purchase |
| An AI provider API key (Anthropic, OpenAI, or Google) | Anthropic Console, OpenAI Platform, or Google AI Studio |
| A chat channel bot token (optional) | See the Channels section for setup guides |
Step 1: Connect to your server
Open a terminal on your computer and SSH into your VPS. Replace the IP address with your server’s address.Step 2: Install Comis
Run the one-line installer. It handles everything: Node.js, system packages, a dedicatedcomis user, systemd service, and the Comis package itself.
Want the browser tool too?
If your agent needs to drive a browser (scraping, dashboards, authenticated workflows, anti-bot-protected sites), add a stealth flag to the install line. Same command, more provisioning:Step 3: Switch to the comis user
The daemon runs under its own system user. Switch to it for all Comis commands:Step 4: Run the setup wizard
The interactive wizard configures your AI provider, generates a gateway token, and (optionally) connects a chat channel.- AI Provider — choose Anthropic, OpenAI, or Google and paste your API key
- Agent name — give your agent a personality
- Channels — connect Telegram, Discord, or others (you can skip and add later)
- Gateway security — auto-generates an authentication token
- Start daemon — restarts the daemon with your new configuration
Codex OAuth on headless hosts
If you pickopenai-codex as your provider on a VPS, the wizard’s auto-default for the login method is Device code (phone) — the recommended path on headless hosts. This is because VPS images typically lack a default browser, and SSH sessions usually have no clipboard or scrollback that the browser-paste flow relies on.
The wizard detects headless hosts via standard environment variables:
SSH_CLIENTorSSH_TTYset, orDISPLAYunset
Device code (phone). You confirm by pressing Enter; the wizard prints a short code and a verification URL like https://chat.openai.com/oauth/device. Open that URL on your phone or laptop browser, sign into ChatGPT, and type the code. The wizard polls every 5 seconds and continues once the code is accepted.
For the wizard’s full 4-option picker walkthrough — including the local-desktop and browser-manual-paste options — see the Quickstart. For the OAuth threat model and storage backends, see OAuth concepts.
Step 5: Verify everything works
Managing the daemon
The comis user has full control over the daemon:Common tasks
Change the AI model
Add a Telegram bot
- Create a bot with @BotFather on Telegram
- Copy the bot token
- Run the setup wizard for channels:
Check memory and sessions
Run a security audit
Provider-specific notes
Hostinger
Hostinger
Hostinger VPS plans come with Ubuntu and root SSH access by default.
- In the Hostinger dashboard, go to VPS and find your server’s IP and password
- SSH in:
ssh root@your-ip - Run the installer as shown above
DigitalOcean
DigitalOcean
Create a Droplet with Ubuntu 24.04, minimum 1 GB / 1 vCPU.
- In the DigitalOcean dashboard, create a new Droplet
- Choose Ubuntu 24.04 LTS
- Select the $6/month plan (1 GB RAM) or higher
- Add your SSH key or choose password authentication
- SSH in and run the installer
Hetzner
Hetzner
Create a server with Ubuntu 24.04, minimum CX22 (2 GB RAM).
- In the Hetzner Cloud console, create a new server
- Choose Ubuntu 24.04
- Select CX22 or higher
- Add your SSH key
- SSH in and run the installer
Vultr / Linode / AWS Lightsail
Vultr / Linode / AWS Lightsail
Any provider that offers Ubuntu 22.04+ with root access works identically:
- Create an Ubuntu instance with at least 1 GB RAM
- SSH in as root
- Run the one-line installer
Troubleshooting
Installer fails with 'npm install' errors
Installer fails with 'npm install' errors
Clear the npm cache and retry:
Daemon won't start after comis init
Daemon won't start after comis init
The daemon may need a restart to pick up the new configuration:If the logs show startup errors, check your API key is valid:
'comis status' shows offline but daemon is running
'comis status' shows offline but daemon is running
This usually means the gateway token is not loaded. Restart the daemon:If that doesn’t help, re-run the setup wizard:
Cannot stop/start daemon as comis user
Cannot stop/start daemon as comis user
If you see a permissions error, the sudoers rule may be missing. As root:Then switch back to the comis user and try again.
Server runs out of memory
Server runs out of memory
Comis uses around 300-500 MB of RAM. If your server has only 1 GB, consider:
- Adding swap space:
fallocate -l 1G /swapfile && chmod 600 /swapfile && mkswap /swapfile && swapon /swapfile - Upgrading to a 2 GB plan
- Using a smaller model (e.g.,
claude-haiku-4-5instead ofclaude-opus-4-6)
Uninstalling
To completely remove Comis from the server:Next steps
Connect Channels
Add Telegram, Discord, Slack, or other messaging platforms.
Configure Your Agent
Customize your agent’s personality, tools, and behavior.
Set Up Security
Enable encrypted secrets, TLS, and approval gates.
Monitor Operations
Logs, metrics, and the web dashboard.
