OpenHands on AWS: A Coding Agent That Runs Where Your Code Already Lives
Hosted AI coding assistants are convenient right up until you think about what you just did: handed your repository, and often your API keys, to a third party's servers so a chatbot could open a pull request. For a side project that's a fair trade. For anything under an NDA, a compliance obligation, or just a healthy amount of paranoia about where source code ends up, it isn't.
Meetrix packaged OpenHands into an AWS Marketplace CloudFormation stack that deploys to a single EC2 instance inside your own AWS account. Pre-hardened Ubuntu 26.04 base image, Docker already installed, nginx and SSL configured, daily backups to S3 from day one. There's no software license fee either. You pay the standard AWS hourly rate for the instance size you pick, and nothing else. Ready to try it? Launch the Meetrix OpenHands stack on AWS Marketplace.
What Is OpenHands?
OpenHands is an open-source, MIT-licensed project that calls itself a self-hosted developer control center for coding agents. That's an honest description. It's not a chatbot that suggests code. Point it at a task and the default OpenHands agent can plan the work, write the change, run it, test it, and open a pull request end to end.
It isn't locked to its own agent, either. Claude Code, Codex, Gemini, or any agent that speaks the Agent Client Protocol can run through the same interface, so you're not stuck picking one agent brand and living with it. Every conversation gets its own isolated container, which is a very different security posture from one shared sandbox that every task runs in. And automations can trigger on a schedule or a webhook, wired into Slack, GitHub, or Linear, for the kind of routine engineering work nobody wants to remember to kick off manually.
Worth Knowing Before You Deploy
How to Deploy OpenHands on AWS
Setting this up by hand means provisioning an EC2 instance, installing Docker, wiring nginx with a reverse proxy and certbot for SSL, and scripting your own S3 backup job before an agent ever touches a line of code. Through the Marketplace, it's four steps:
- Subscribe and Launch from AWS Marketplace Open the Meetrix OpenHands listing, subscribe, and launch the CloudFormation stack. t3a.medium is the recommended instance size, though a t2.micro on AWS's free tier is fine for kicking the tires.
- SSL, Reverse Proxy, and Backups Are Already Configured The stack sets up nginx in front of the instance with an automatic Let's Encrypt certificate, and schedules daily backups to an S3 bucket in your own account, all before you've opened a terminal.
- Wait for Boot, Then Open the Dashboard Give the instance a few minutes to finish starting, then open the dashboard over HTTPS at the domain or IP from the stack outputs.
- Connect Your LLM Provider and Start a Conversation Add your own Anthropic, OpenAI, or compatible API key. No model comes bundled. You pick one and pay that provider directly (or route every tool through one endpoint with 9Router on AWS).
What Meetrix Brings to This Deployment
- A pre-hardened Ubuntu 26.04 image with Docker installed and the reverse proxy wired up. No checklist to get through before the agent will boot.
- HTTPS from the moment DNS resolves, with Let's Encrypt certificates handled by the bundled nginx.
- One container per conversation. A misbehaving command in one session can't reach another.
- Daily backups to S3 from the first day.
- No software license fee. You pay the AWS hourly rate, from $0.001/hour on a t2.micro to $0.029/hour on a c5.xlarge, and Meetrix adds nothing on top.
- Support from the engineers who build this AMI, at aws@meetrix.io, with a reply inside 12 hours.
Who Is OpenHands on AWS Right For?
This fits teams that want an always-on coding agent without handing a third party their repository. More specifically, it's a strong match if you're:
- A dev team that wants a coding agent running against real infrastructure, not a hosted sandbox with its own idea of what your repo looks like
- An engineering org under NDA or compliance review that needs source code and API keys to stay inside its own AWS account (pair it with vLLM on AWS if the model has to stay in-house too)
- A team already using Claude Code, Codex, or Gemini that wants one control plane instead of juggling separate CLIs and separate billing
- Someone automating routine engineering chores, issue triage, recurring reports, through Slack, GitHub, or Linear webhooks instead of doing it by hand every sprint
- A developer who wants isolated per-conversation sandboxing, so testing an agent on a risky task doesn't put every other session at risk
- Anyone who priced out a hosted AI coding assistant's per-seat plan and wants to know what the same category of tool costs without the markup
OpenHands on AWS by Meetrix vs Alternatives
| Feature | OpenHands on AWS by Meetrix | Devin (Cognition) | GitHub Copilot | Self-Managed Install |
|---|---|---|---|---|
| Hosting | Your own AWS account, fully self-hosted | Cognition's cloud, no self-host option | GitHub/Microsoft's cloud, no self-host option | Your own server, set up by you |
| License | MIT, fully open source | Proprietary | Proprietary | Open source, but you own every step of running it |
| Pricing Model | AWS instance rate from $0.001/hr, no software fee, your own model cost | $20/month Core plan plus $2.25 per ACU (roughly 15 minutes of agent work), Team at $500/month for 250 ACUs | $10-$100/user/month individual tiers, $19-$39/seat for Business/Enterprise, agentic usage metered against a monthly credit allowance | Server cost plus your own model cost |
| Agent Choice | OpenHands, Claude Code, Codex, Gemini, or any ACP agent, one interface | Locked to Devin, Cognition's own agent | Locked to Copilot's own agent and models | Whatever you wire up yourself |
| Sandboxing | Isolated container per conversation, on your own instance | Cognition-hosted sandbox VMs, opaque from the outside | Runs inside your editor or CI, no dedicated per-task sandbox | Yes, if you build and maintain it yourself |
| Deployment Time | Minutes via CloudFormation | Instant signup, but no self-host option | Instant, plugin install | Half a day or more, Docker, nginx, SSL, backups |
| Data Location | Your own AWS account | Cognition's infrastructure | GitHub/Microsoft's infrastructure | Your server |
| Support | Meetrix engineers, response inside 12 hours | Support tiers, gated by plan | Support tiers, gated by plan | Community forums only |
Resources
Under the Hood
What's running once the stack finishes deploying:
Docker, Pre-Installed
The base image ships on a pre-hardened Ubuntu 26.04 with Docker already installed, since every conversation's sandbox is itself a container.
One Container Per Conversation
Each conversation gets its own isolated container rather than sharing a single runtime, so file edits and shell commands from one task don't cross into another.
nginx With Automatic SSL
nginx sits in front of the dashboard as a reverse proxy, with SSL issued automatically through Let's Encrypt once your domain resolves to the instance.
Not Locked to One Agent
The default OpenHands agent runs out of the box, but Claude Code, Codex, Gemini, and any Agent-Client Protocol agent can run through the same control plane.
Daily S3 Backups
Conversation and configuration state backs up daily to the S3 bucket you designate as a stack parameter, inside your own account, not Meetrix's.
Schedule or Webhook Triggered
Automations wired to Slack, GitHub, or Linear can run on a schedule or fire on a webhook, so recurring engineering work doesn't need someone to start it by hand.
One Thing OpenHands Won't Do For You
It won't review its own work for you. Isolated sandboxing keeps a runaway command from touching the host or another conversation, but it doesn't check that the code an agent wrote is correct, secure, or something you'd want in production. The project itself is still tagged Beta, and no amount of container isolation substitutes for a human reading the diff before it merges. Treat its pull requests like ones from a fast, occasionally overconfident new hire: worth having, not worth rubber-stamping.
Deciding which model to run it against? Our roundup of the best self-hosted LLMs covers the open-weight options.
Frequently Asked Questions
What does OpenHands do?
It's a self-hosted control center for coding agents. Point it at a repo and the agent can plan a change, write it, run it, test it and open a pull request. Claude Code, Codex, Gemini or any Agent Client Protocol agent can run through it too.
Do I need to bring my own LLM?
Yes. No model access is bundled and there's no markup. Configure Anthropic, OpenAI or any compatible provider after launch, and that provider bills you directly.
What does OpenHands cost to run on AWS?
There's no software license fee, only the instance: $0.001/hour on a t2.micro up to $0.029/hour on a c5.xlarge or c6a.xlarge. t3a.medium is the recommended start. Your LLM provider bills tokens separately.
Is there a free trial?
The t2.micro tier qualifies for AWS's Legacy Free Tier (750 hours a month), so you can try the stack before sizing up. You can cancel the subscription at any time.
Is it safe to let an AI agent run commands and edit files on my behalf?
Each conversation runs in its own container, so file edits and shell commands stay in that sandbox. The agent still needs real credentials to open a PR or call an API, so scope those like any automation you didn't write.
Can I connect this to Slack, GitHub, or Linear?
Yes. Automations can run on a schedule or fire on a webhook from Slack, GitHub or Linear, so triage or a recurring report runs without anyone starting it.
Is OpenHands finished software?
No. The project carries a Beta tag in its own repository. It's moving fast with a large community, so expect behavior to change between versions.
Where does my code and data live?
On the EC2 instance in your own AWS account, behind nginx with automatic SSL. Meetrix has no access to the instance, your repositories or your provider keys, and backups go daily to an S3 bucket in your account.
Run Your Own Coding Agent on AWS
Stop handing your repository to a third party's servers. Deploy OpenHands on AWS in minutes, set up by a team that runs this stack every day.
Deploy on AWS Marketplace