Mayros on DigitalOcean

Goal

Run a persistent Mayros Gateway on DigitalOcean for $6/month (or $4/mo with reserved pricing).

If you want a $0/month option and don’t mind ARM + provider-specific setup, see the Oracle Cloud guide.

Cost Comparison (2026)

ProviderPlanSpecsPrice/moNotes
Oracle CloudAlways Free ARMup to 4 OCPU, 24GB RAM$0ARM, limited capacity / signup quirks
HetznerCX222 vCPU, 4GB RAM€3.79 (~$4)Cheapest paid option
DigitalOceanBasic1 vCPU, 1GB RAM$6Easy UI, good docs
VultrCloud Compute1 vCPU, 1GB RAM$6Many locations
LinodeNanode1 vCPU, 1GB RAM$5Now part of Akamai

Picking a provider:

  • DigitalOcean: simplest UX + predictable setup (this guide)
  • Hetzner: good price/perf (see Hetzner guide)
  • Oracle Cloud: can be $0/month, but is more finicky and ARM-only (see Oracle guide)

Prerequisites

1) Create a Droplet

Use a clean base image (Ubuntu 24.04 LTS). Avoid third-party Marketplace 1-click images unless you have reviewed their startup scripts and firewall defaults.

  1. Log into DigitalOcean
  2. Click Create → Droplets
  3. Choose:
    • Region: Closest to you (or your users)
    • Image: Ubuntu 24.04 LTS
    • Size: Basic → Regular → $6/mo (1 vCPU, 1GB RAM, 25GB SSD)
    • Authentication: SSH key (recommended) or password
  4. Click Create Droplet
  5. Note the IP address

2) Connect via SSH

bash
ssh root@YOUR_DROPLET_IP

3) Install Mayros

bash
# Update system
apt update && apt upgrade -y

# Install Node.js 22
curl -fsSL https://deb.nodesource.com/setup_22.x | bash -
apt install -y nodejs

# Install Mayros
curl -fsSL https://maryos.apilium.com/install.sh | bash

# Verify
mayros --version

4) Run Onboarding

bash
mayros onboard --install-daemon

The wizard will walk you through:

  • Model auth (API keys or OAuth)
  • Channel setup (Telegram, WhatsApp, Discord, etc.)
  • Gateway token (auto-generated)
  • Daemon installation (systemd)

5) Verify the Gateway

bash
# Check status
mayros status

# Check service
systemctl --user status mayros-gateway.service

# View logs
journalctl --user -u mayros-gateway.service -f

6) Access the Dashboard

The gateway binds to loopback by default. To access the Control UI:

Option A: SSH Tunnel (recommended)

bash
# From your local machine
ssh -L 18789:localhost:18789 root@YOUR_DROPLET_IP

# Then open: http://localhost:18789

Option B: Tailscale Serve (HTTPS, loopback-only)

bash
# On the droplet
curl -fsSL https://tailscale.com/install.sh | sh
tailscale up

# Configure Gateway to use Tailscale Serve
mayros config set gateway.tailscale.mode serve
mayros gateway restart

Open: https://<magicdns>/

Notes:

  • Serve keeps the Gateway loopback-only and authenticates Control UI/WebSocket traffic via Tailscale identity headers (tokenless auth assumes trusted gateway host; HTTP APIs still require token/password).
  • To require token/password instead, set gateway.auth.allowTailscale: false or use gateway.auth.mode: "password".

Option C: Tailnet bind (no Serve)

bash
mayros config set gateway.bind tailnet
mayros gateway restart

Open: http://<tailscale-ip>:18789 (token required).

7) Connect Your Channels

Telegram

bash
mayros pairing list telegram
mayros pairing approve telegram <CODE>

WhatsApp

bash
mayros channels login whatsapp
# Scan QR code

See Channels for other providers.


Optimizations for 1GB RAM

The $6 droplet only has 1GB RAM. To keep things running smoothly:

bash
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile none swap sw 0 0' >> /etc/fstab

Use a lighter model

If you're hitting OOMs, consider:

  • Using API-based models (Claude, GPT) instead of local models
  • Setting agents.defaults.model.primary to a smaller model

Monitor memory

bash
free -h
htop

Persistence

All state lives in:

  • ~/.mayros/ — config, credentials, session data
  • ~/.mayros/workspace/ — workspace (MAYROS.md, memory, etc.)

These survive reboots. Back them up periodically:

bash
tar -czvf mayros-backup.tar.gz ~/.mayros ~/.mayros/workspace

Oracle Cloud Free Alternative

Oracle Cloud offers Always Free ARM instances that are significantly more powerful than any paid option here — for $0/month.

What you getSpecs
4 OCPUsARM Ampere A1
24GB RAMMore than enough
200GB storageBlock volume
Forever freeNo credit card charges

Caveats:

  • Signup can be finicky (retry if it fails)
  • ARM architecture — most things work, but some binaries need ARM builds

For the full setup guide, see Oracle Cloud. For signup tips and troubleshooting the enrollment process, see this community guide.


Troubleshooting

Gateway won't start

bash
mayros gateway status
mayros doctor --non-interactive
journalctl -u mayros --no-pager -n 50

Port already in use

bash
lsof -i :18789
kill <PID>

Out of memory

bash
# Check memory
free -h

# Add more swap
# Or upgrade to $12/mo droplet (2GB RAM)

See Also