Build Lean SaaS cube logoBuild Lean SaaS
Back to Always-On Agents
Course lesson 3decisionguideintermediate

Install Hermes/OpenClaw on the VPS

Move from a prepared Codex VPS to a concrete Hermes/OpenClaw runtime with a service boundary, logs, health checks, and no public agent port.

Austin Witherow
3 min read

The previous lesson prepared the server shape: directories, secrets, state, logs, and service boundaries.

Now the workflow needs a real agent runtime.

This step comes before Discord and before the X bookmark automation because the chat layer should talk to a local agent process, not invent one. The bookmark workflow should also land in a system that already has an operator loop.

Course path

Follow the Always-On Agents course path

Follow the complete public course path, install the skills as you go, and use DevelopJoy when you want the workflow wired into your actual VPS.

Public walkalong guide
Installable skills
DevelopJoy setup path

The boundary we want

The first install should stay private.

Discord, Linear, and X come later. The runtime should already be boring before those integrations start sending work to it.

Install with Codex as the operator

Use Codex from the VPS to inspect the prepared workspace and make the final install steps explicit.

Then ask for the install plan:

For OpenClaw-style setups, the shape is usually:

Treat those commands as the control surface, then let Codex adapt paths, service files, and environment templates to the server you actually have.

Runtime checklist

Before Discord talks to Hermes, confirm:

  • The runtime starts as the non-root agent user.
  • Logs are written to the agreed log directory.
  • State is written to persistent disk.
  • Env files are readable only by the agent user.
  • Restart behavior is documented.
  • There is a health or status command.
  • The firewall still exposes only what is required.
  • No raw Hermes control surface is public.

Service shape

Use systemd for anything that needs to stay running.

The exact ExecStart depends on your chosen Hermes/OpenClaw command, but the service should be shaped like this:

Do not paste this blindly. Use it as the checklist Codex verifies against the actual install.

Health check

The first health check can be simple:

If one command fails, fix that before moving on. The Discord bot should not become a debugging blanket for an unstable runtime.

What comes next

Once Hermes/OpenClaw can run locally, add the control channel:

After Discord is in place, the X bookmark workflow has somewhere useful to report what it finds.

References

Next action

Keep this inside the course path

Continue the lesson sequence, install the skill when one exists, or use DevelopJoy when you want the workflow wired into your real workspace.