One-Click VPS Deployment¶
Deploy MoaV on your favorite VPS provider in minutes. Each provider offers a slightly different process, but they all support cloud-init for automatic setup.
How It Works¶
- Click the button for your preferred provider below
- Create a VPS with the recommended specs (1 vCPU, 1GB RAM minimum)
- Paste the cloud-init script in the "User Data" or "Cloud-Init" field
- SSH into your server after it boots (usually 2-3 minutes)
- Run
moavto complete the interactive setup
Cloud-Init Script¶
Copy this script and paste it into your VPS provider's "User Data" or "Cloud-Init" field when creating the server:
Or use the full URL directly:
Hetzner¶
Hetzner offers excellent value with servers starting at €3.79/month in European data centers.
Steps¶
- Go to Hetzner Cloud Console
- Click "Add Server"
- Choose:
- Location: Choose closest to your users
- Image: Ubuntu 22.04
- Type: CX22 (2 vCPU, 4GB RAM) recommended, or CX11 (1 vCPU, 2GB) minimum
- Networking: Enable IPv4 and IPv6
- Expand "Cloud config" section
- Paste the cloud-init script:
- Add your SSH key
- Click "Create & Buy now"
- Wait 2-3 minutes, then SSH in:
ssh root@YOUR_IP - You'll be greeted with the MoaV setup wizard
Recommended Specs¶
- Minimum: CX11 (1 vCPU, 2GB RAM) - €3.79/month
- Recommended: CX22 (2 vCPU, 4GB RAM) - €5.39/month
Linode¶
Linode (now Akamai) offers reliable servers with good global coverage.
Steps¶
- Go to Linode Cloud Manager
- Click "Create Linode"
- Choose:
- Image: Ubuntu 22.04 LTS
- Region: Choose closest to your users
- Linode Plan: Shared CPU - Nanode 1GB ($5/mo) or Linode 2GB ($12/mo)
- Scroll to "Add User Data" (under "Add-ons")
- Check the box and paste:
- Set your root password and add SSH key
- Click "Create Linode"
- Wait 2-3 minutes, then SSH in:
ssh root@YOUR_IP - You'll be greeted with the MoaV setup wizard
Recommended Specs¶
- Minimum: Nanode 1GB (1 vCPU, 1GB RAM) - $5/month
- Recommended: Linode 2GB (1 vCPU, 2GB RAM) - $12/month
Vultr¶
Vultr offers competitive pricing with many global locations.
Steps¶
- Go to Vultr Dashboard
- Click "Deploy +" → "Deploy New Server"
- Choose:
- Choose Server: Cloud Compute - Shared CPU
- Server Location: Choose closest to your users
- Server Image: Ubuntu 22.04 LTS x64
- Server Size: 25 GB SSD ($5/mo) minimum
- Expand "Add User Data" (under Additional Features)
- Paste the cloud-init script:
- Add your SSH key
- Click "Deploy Now"
- Wait 2-3 minutes, then SSH in:
ssh root@YOUR_IP - You'll be greeted with the MoaV setup wizard
Recommended Specs¶
- Minimum: 25 GB SSD (1 vCPU, 1GB RAM) - $5/month
- Recommended: 55 GB SSD (1 vCPU, 2GB RAM) - $10/month
DigitalOcean¶
DigitalOcean is popular and beginner-friendly with excellent documentation.
Steps¶
- Go to DigitalOcean Dashboard
- Click "Create" → "Droplets"
- Choose:
- Region: Choose closest to your users
- Image: Ubuntu 22.04 (LTS) x64
- Size: Basic → Regular → $6/mo (1GB RAM) or $12/mo (2GB RAM)
- Authentication: SSH Key (recommended)
- Expand "Advanced Options"
- Check "Add User Data" and paste:
- Click "Create Droplet"
- Wait 2-3 minutes, then SSH in:
ssh root@YOUR_IP - You'll be greeted with the MoaV setup wizard
Recommended Specs¶
- Minimum: Basic (1 vCPU, 1GB RAM) - $6/month
- Recommended: Basic (1 vCPU, 2GB RAM) - $12/month
After Deployment¶
Once you SSH into your server, you'll see the MoaV welcome screen:
███╗ ███╗ ██████╗ █████╗ ██╗ ██╗
████╗ ████║██╔═══██╗██╔══██╗██║ ██║
██╔████╔██║██║ ██║███████║██║ ██║
██║╚██╔╝██║██║ ██║██╔══██║╚██╗ ██╔╝
██║ ╚═╝ ██║╚██████╔╝██║ ██║ ╚████╔╝
╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝ ╚═══╝
Welcome to your MoaV Server!
The setup wizard will guide you through: 1. Entering your domain name 2. Providing email for TLS certificates 3. Setting admin dashboard password 4. Selecting which protocols to enable 5. Creating initial users
Prerequisites Before Setup¶
Before running the setup, make sure:
- Domain configured: Your domain's DNS A record points to your server's IP
- Ports open: Most VPS providers have all ports open by default, but verify:
- 443/tcp (Reality)
- 443/udp (Hysteria2)
- 8443/tcp (Trojan)
- 4443/tcp+udp (TrustTunnel)
- 2082/tcp (CDN WebSocket, if using Cloudflare)
- 51820/udp (WireGuard)
- 80/tcp (Let's Encrypt verification)
Troubleshooting¶
Cloud-init didn't run¶
Check the log:
If MoaV wasn't installed, run manually:
Docker not running¶
DNS not propagated yet¶
Wait a few minutes and verify:
Should return your server's IP address.
Alternative: Manual Installation¶
If you prefer not to use cloud-init, you can always SSH into any fresh Ubuntu server and run:
See SETUP.md for detailed manual installation instructions.