ChabadLabs AI FOR SHLICHUS
EN

Agent Hosting

Where to run an always-on AI agent: server size, Hetzner, Azure, AWS, Google Cloud and nonprofit credits as of October 2026, locking the server down with Tailscale and UFW, Slack Socket Mode, and how to avoid the API bill that surprised one shliach.

On this page

A self-hosted agent such as GabAI, NanoClaw or Hermes Agent has to run somewhere that stays on. For most shluchim that means a small rented Linux server in the cloud, called a VM or VPS. This page collects what the GabAI group learned about choosing one, paying for it, and keeping it safe. Prices were checked on 2026-10-21 and change often.

How big a server

  • Recommended: 2 vCPU, 8 GB of RAM, 80 GB or more of disk, Ubuntu 22.04 or 24.04. That is what the group's admins run and recommend.
  • Minimum: NanoClaw's installer wants 4 GB of RAM and warns below about 3,700 MB (installation docs). Google's always-free e2-micro is too small.
  • Symptom of too small: the terminal freezes and agents stop answering. Check with free -h. Most providers let you resize in place and keep the same address.

Where to run it

OptionWhat it costsNotes
Microsoft Azure with the nonprofit grant$0 up to $2,000 of Azure credit a year for eligible nonprofits (Microsoft)The most common choice among heavy users in 2026. Members ran a Standard_B2ms (2 vCPU, 8 GB), which they put at about $60 a month plus about $20 for a 150 GB premium disk, so the grant covers it. Some shluchim were approved, some denied. Credits took a day or two to appear.
AWS with nonprofit creditsUp to $5,000 of promotional credit, requested through TechSoup in the US, at least a year (AWS)TechSoup charges an admin fee and the credit has a renewal date to track. The credit does not cover AWS Marketplace charges, which matters for Claude (below).
Google Cloud$300 free-trial credit for 90 days for new customers (Google Cloud)Good for trying it out, not a long-term plan. A Google Workspace nonprofit account did not unlock Cloud credits for one member.
DigitalOceanIts nonprofit program has offered a one-time $2,500 credit (2023 announcement); confirm current terms before applyingThe builders called it the easiest to set up.
HetznerCost-optimized CX33 (4 vCPU, 8 GB, 80 GB) listed at €8.99 a month before VAT (Hetzner)Cheapest per gigabyte, but on 2026-10-21 every cost-optimized plan was marked unavailable, and the regular-performance 4 vCPU / 8 GB plan was €35.99. Check before you plan around it.
Hostinger2 vCPU / 8 GB at $8.79 a month on a prepaid promotion, renewing at $14.99 (Hostinger)Has a one-click Hermes template.
A spare computer at homeFree apart from powerThe admin called an old PC with Ubuntu Server a "great alternative" (about an hour to set up). It stops when the power or internet does.
Your own laptop (WSL on Windows)FreeFine for testing. The agent only runs while the laptop is awake.

If credits already cover your server, the group's advice is not to spend hours moving to a cheaper host to save $10 or $15 a month. Revisit when the credits end.

Set a budget alert on whichever cloud you choose. A stopped (deallocated) VM on Azure still bills for its disk.

Locking the server down

The group's standard setup in 2026, most of which the GabAI installer now does for you:

  • Tailscale. A private network between your server, laptop and phone, so you can close the server to the public internet and still reach it. The free Personal plan covers up to 6 users with unlimited devices for non-commercial use; nonprofits can ask for a discount on paid plans (Tailscale pricing).
  • Close public SSH. Once Tailscale works, remove the open port 22 rule in the cloud firewall (Azure network security group, AWS security group). One member's server had logged about 7,400 failed login attempts on the open port before he closed it.
  • UFW and fail2ban. UFW is Ubuntu's simple firewall (Ubuntu docs); fail2ban blocks addresses that keep failing to log in.
  • Automatic security updates and an SSH key instead of a password.
  • A service that restarts itself. Run the agent as a systemd service so it comes back after a crash or reboot. For a user-level service, run loginctl enable-linger $USER, or the agent dies when you close your SSH window. That was the cause of one member's "agent keeps dying" in March 2026. After a reinstall, check that an old service is not still running alongside the new one.
  • tmux for long Claude Code sessions. Start Claude Code inside tmux so it keeps going when your laptop closes; reattach later with tmux attach.
  • Remote Control. Claude Code's /remote-control lets you drive the session on your server from the Claude phone app or a browser. It needs a Pro, Max, Team or Enterprise plan, does not work with API keys, and on Team plans an owner must switch it on in admin settings first (docs).

Slack without opening a port

Use Socket Mode. The agent opens an outbound connection to Slack, so you do not need a public web address or an open port. It uses an app-level token that starts with xapp- (Slack docs). Socket Mode apps cannot be listed in the public Slack Marketplace, which does not matter for your own bot. NanoClaw's Slack setup uses Socket Mode by default (NanoClaw Slack docs).

WhatsApp through the linked-device adapter also connects outbound and needs no open port.

Paying for the model

Subscription token or API billing

  • Subscription token. claude setup-token creates a one-year sign-in token for a headless server (Claude Code docs). The agent then draws on your Claude Pro, Max or Team plan limits. As of 2026-10-07 Anthropic says the Agent SDK and third-party apps can still use subscription limits (help center). This is how most of the group runs.
  • API key. Pay per token. Predictable only if you set a spend limit. One shliach spent about $40 in his first week; members' agents estimated their own monthly use at $250 to $600 at API rates.
  • Included API credits. Since 2026-10-07, Max and Team plans include monthly credits on the Claude Platform: $100 for Max 5x, $200 for Max 20x, and for Team $20 per standard seat and $100 per premium seat, pooled and capped at $500. Nonprofit Team plans get the same. The credits cover the API and the Agent SDK, not Claude Code; they expire each month; and they apply only to the Claude Console, not to Bedrock, Google Cloud or Microsoft Foundry (Claude Platform docs).
  • ChatGPT subscription. NanoClaw's Codex provider can run on a ChatGPT sign-in instead of an OpenAI API key (Codex sign-in docs). Several shluchim moved agents to it in mid-2026.

For nonprofit plan prices see Nonprofit Discounts and Paid vs Free.

The Bedrock trap

In July 2026 a shliach found that his agent had been set up to call Claude through Amazon Bedrock. His TechSoup AWS credits covered the server, but Claude on Bedrock is billed as an AWS Marketplace purchase, which those credits do not cover, so the Claude part ran at full price: several hundred dollars a month, most of it on Claude Sonnet. AWS's credit terms list Marketplace as excluded (AWS), and another AWS customer ran up a $30,000 Bedrock bill the same way in May 2026 (The Register).

What fixed it: remove the Bedrock settings from the agent's .env file (CLAUDE_CODE_USE_BEDROCK and the AWS key lines), run claude setup-token in a plain SSH window, restart the agent's service, and then update the token stored in the credential vault too, because the vault kept the old one and the agent went silent until it was replaced.

The lesson: free credits follow the product, not the model. Check which line of the bill a credit applies to, and watch its expiry date.

Routing between providers

The GabAI admin sketched a fallback plan in June 2026 using LiteLLM, a proxy that can cap spend per provider and send requests only to providers still under budget (LiteLLM docs): use the Claude subscription first, then Codex, then Bedrock or Azure on nonprofit credit. It was a design, not a working setup, as of October 2026. If you install LiteLLM, pin the version: two LiteLLM releases on PyPI were backdoored on 2026-03-24 and stole cloud and API keys from machines that installed them (Cloud Security Alliance).

A simpler hedge members used: NanoClaw lets each agent group use a different provider, so a group can move to Codex when Claude limits run out.

Moving to a new server

Members did this with Claude Code on both machines: copy the data and .env with rsync, reconnect the sign-ins, update any webhook addresses, and keep the old server stopped (not deleted) for a day or two. The credential vault's OAuth connections do not migrate cleanly. See the guide How do I move a self-hosted AI agent's credential vault to a new server?.

Last updated October 2026 · Maintained by ChabadLabs AI Agent