# Cloud Hosting and VPS Setup Guide

**Source:** r/hermesagent community guides (May 2026)

---

## Hosting Options Comparison

| Option | Cost | Difficulty | Best For | Privacy |
|--------|------|-----------|----------|---------|
| Local machine | Free (electricity) | Easy | Full control, sensitive data | Highest |
| Hugging Face Spaces | Free | Medium | 24/7 uptime, no hardware | Medium |
| Hetzner VPS | \\$5/mo | Medium-Hard | Production use, full control | High |
| Railway | Pay-as-you-go | Easy | Quick deployment | High |
| Synology NAS + Docker | One-time hardware | Hard | Home lab enthusiasts | Highest |
| Ollama Cloud | \\$20/mo Pro | Easy | Access to many models | Medium-High |

---

## Hugging Face Spaces (Free 24/7)

**Guide by:** u/somratpro | **GitHub:** https://github.com/somratpro/HuggingMes

### Setup Steps

1. Create Hugging Face account
2. Fork the HuggingMes repository
3. Create Space from forked repo
4. Set API keys as Secrets in Space settings (Settings > Variables and Secrets)
5. Configure environment variables:
   \`\`\`
   API_SERVER_ENABLED=true
   API_SERVER_KEY=change-me-local-dev
   \`\`\`
6. Deploy - runs forever with anti-sleep fix included

### Key Features
- Zero cost, 24/7 uptime
- Anti-sleep mechanism prevents free tier from going dormant
- API keys stored securely as Secrets (not visible after setup)
- YouTube walkthrough available by Somrat Sorkar

### Privacy Considerations
u/antunes145 raised concerns: "Jesus, people are so naive. They will have access to all your data. Hermes is not leak proof."

**Recommendation:** Do NOT use HF Spaces for sensitive personal data (calendars, emails, financial info). Use for non-sensitive automation only.

---

## Hetzner VPS Setup

**Guide by:** u/ShilpaMitra | **Cost:** ~\\$5/mo

### Recommended Specs
- CX21 or CX31 plan (\\$5-10/mo)
- Ubuntu 22.04/24.04 LTS
- Minimum 2GB RAM, 1 CPU core for basic operation

### Setup Overview
1. Provision VPS at hetzner.cloud
2. SSH into server
3. Install Python, pip, and Hermes Agent
4. Configure systemd service for auto-restart
5. Set up firewall (UFW) allowing only necessary ports
6. Configure messaging gateways (Telegram bot, etc.)

### Security Checklist
- [ ] Disable root SSH login
- [ ] Use SSH keys instead of passwords
- [ ] Configure UFW firewall
- [ ] Set up fail2ban
- [ ] Regular system updates
- [ ] Dedicated user account for Hermes

---

## Docker Deployment

### Basic Docker Compose Setup

\`\`\`yaml
version: '3.8'
services:
  hermes:
    image: nousresearch/hermes-agent:latest
    container_name: hermes
    ports:
      - "3000:3000"
    volumes:
      - ~/.hermes:/root/.hermes
    environment:
      - OPENROUTER_API_KEY=your-key-here
    restart: unless-stopped
\`\`\`

### Synology NAS Docker Setup

**Reported issue by:** u/Ok_Version_3193 (can't access web interface)

**Troubleshooting steps:**
1. Verify container is running: \`docker ps\`
2. Check port mappings in Container Manager
3. Ensure no firewall blocking port 3000
4. Access via http://NAS_IP:3000
5. Check logs: \`docker logs hermes\`

---

## Transferring Between Hosting Environments

**Question by:** u/Smooth-Plan4764 (VPS to local Docker)

### Migration Steps
1. Export ~/.hermes directory from source environment
2. Compress and transfer via SCP/SFTP
3. Mount as volume in new Docker container or extract to target machine
4. Update any hardcoded URLs or IPs in config.yaml
5. Test all integrations after migration

---

## File Sharing on VPS

**Question by:** u/Smooth-Plan4769 (best secure method)

### Recommended Approaches

**Option 1: Syncthing**
- Install Syncthing on both VPS and local machine
- Create dedicated shared folder
- Automatic bidirectional sync
- Encrypted, no third-party server

**Option 2: SFTP with Restricted User**
- Create limited user account on VPS
- Restrict to specific directory via chroot jail
- Use FileZilla or similar for file transfers

**Option 3: Git Repository**
- Private repo for shared project files
- Hermes commits changes, you pull locally
- Version control as bonus

---

## Tailscale for Remote Access

**Suggested by:** u/Strict_Advance4667 and u/Lyceum_Tech

### Setup Pattern
- Ollama running on main computer
- Hermes on spare laptop via Tailscale tailnet
- Laptop accesses Ollama privately without exposing to local network
- Safer than opening ports

**User quote:** "Tailnet/Tailscale is actually a really clean way to do it. The laptop can reach Ollama on your main PC privately without exposing it to the whole local network." - u/Lyceum_Tech

---

## Cost Comparison for Cloud Hosting

| Provider | Monthly Cost | Notes |
|----------|-------------|-------|
| Hugging Face Spaces | \\$0 | Free tier, privacy concerns |
| Hetzner CX21 | ~\\$5/mo | Best value VPS |
| Railway | Pay-as-you-go | Easy setup, can get expensive |
| Ollama Cloud Pro | \\$20/mo | Many models, no image gen yet |
| DeepSeek direct API | \\$1-1.5/day | Model costs only, no hosting |
| OpenRouter \\$10 plan | \\$10/mo | Good for experimentation |

---

## Keeping Hermes Running 24/7

### Systemd Service (Linux VPS)

\`\`\`ini
[Unit]
Description=Hermes Agent
After=network.target

[Service]
Type=simple
User=hermes
WorkingDirectory=/home/hermes/.hermes
ExecStart=/home/hermes/.venv/bin/hermes start
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target
\`\`\`

### Preventing Sleep Issues

**Problem:** Display sleep kills session (u/Sadboyfornow)
- **Mac:** System Settings > Energy Saver > Prevent computer from sleeping automatically
- **Linux:** \`systemctl mask sleep.target suspend.target hibernate.target\`
- **Windows:** Power settings > Put computer to sleep > Never

### Cron Job Persistence

Cron jobs run independently of active sessions and survive gateway restarts. Use cron for any task that must run on schedule regardless of session state.