packages/docs/guides/deploy-a-project.mdx
Your agent works locally. Now what? Getting it live shouldn't require a DevOps degree.
<Tip> **Video Tutorial**: [**Deploying Your Agent to a TEE**](https://www.youtube.com/watch?v=paoryBje404&list=PLrjBjP4nU8ehOgKAa0-XddHzE0KK0nNvS&index=7) </Tip>Two commands. That's it.
elizaos login
elizaos deploy --project-name my-agent
No Dockerfile to write. No cloud console. No load balancer config. No CI/CD pipeline.
You get a production URL in ~5 minutes, with automatic HTTPS, health monitoring, and zero-downtime updates built in.
Beyond deployment: on-chain agent discovery (ERC-8004), crypto payments (X402), and a marketplace to publish and monetize your agents.
<Card title="Get Started with Eliza Cloud" icon="rocket" href="/guides/deploy-to-cloud"
Full guide: auth, custom resources, logs, troubleshooting </Card>
Need more control? Here's how Eliza Cloud compares:
| Eliza Cloud | Railway/Render | Self-Hosted | |
|---|---|---|---|
| Setup time | 5 min | 15-30 min | 1-2 hours |
| Commands to deploy | 2 | 10+ steps | 20+ steps |
| Docker knowledge | Not needed | Basic | Required |
| Server management | None | None | All on you |
| Scaling | Automatic | Automatic | Manual |
| elizaOS optimized | ✅ | ❌ | ❌ |
The easiest deployment method, best for rapid prototyping. These platforms handle all of the complicated stuff automatically. This is a good option if you:
| ✅ Pros | ❌ Cons |
|---|---|
| Zero server management - No Linux, Docker, or infrastructure knowledge needed | Variable costs - Pricing based on usage (CPU, RAM, bandwidth, requests) |
| Deploy in minutes - Push to GitHub, connect your repo, and you're live | Can get expensive - Heavy traffic or processing can push bills really high |
| Automatic everything - SSL certificates, scaling, updates, backups | Less control - Limited customization of infrastructure |
| Great developer experience - Built-in logs, metrics, rollbacks | Vendor lock-in - Harder to migrate to other platforms |
| Free tiers - Most platforms offer generous free plans to start | Resource limits - May not handle very high-performance requirements |
Here are our top managed service recommendations:
Railway website | Railway docs
Railway is a solid, preferred option. They offer a free Trial plan with $5 of credits which is more than enough to test out. It also re-deploys everytime you push a change to Github, which is convenient. Here's the steps from project creation => deployment:
<Steps> <Step title="Create your project"> ```bash Terminal elizaos create my-agent --type project cd my-agent ``` </Step> <Step title="Push to GitHub repo"> Create a GitHub repository and push your code. Choose one approach: **Option A: Public Repository (Recommended)** - Create a PUBLIC GitHub repository - Keep `.env` in your `.gitignore` (stays secure) - You'll add environment variables in Railway dashboard (Step 5) **Option B: Private Repository** - Create a PRIVATE GitHub repository - Remove `.env` from your `.gitignore` - Commit your `.env` file (secure since repo is private) - ✅ **Skip Step 5** - Railway will use your committed .env file <Note> Both approaches work well. Public repos are more common for open-source projects, while private repos let you skip the environment variables step. </Note> </Step> <Step title="Sign up for Railway"> 1. Go to [railway.com](https://railway.com) 2. Click **"Sign in"** and sign up with your GitHub account </Step> <Step title="Deploy new project"> 1. Click **"Deploy New Project"** 2. Select **"GitHub Repo"** 3. Select your project's GitHub repository from the list <Warning> If you used Option A (Public Repository) and Railway starts auto-deploying immediately, **stop the deployment** - we need to add environment variables first! If you used Option B (Private Repository), you can let it deploy. </Warning> </Step> <Step title="Add environment variables"> **Skip this step if you used Option B (Private Repository) - your .env file is already committed!**For Option A (Public Repository), add your environment variables in Railway:
1. Click on your service → **Variables** tab
2. Add the variables your project needs:
```bash env
# If your project has a frontend/web UI
ELIZA_UI_ENABLE=true
# If using Postgres (recommended for production)
POSTGRES_URL=your_postgres_connection_string
# Everything else in your .env
OPENAI_API_KEY=your_openai_key
DISCORD_APPLICATION_ID=your_app_id
DISCORD_API_TOKEN=your_bot_token
... etc
```
<Note>
**What to add?** Check your `.env` file to see which variables your specific project needs. The exact variables depend on your project's configuration and integrations.
</Note>
Render is comparable to Railway, but its Free/Hobby plan is less generous and slower (Render turns your instance off when its not in use). Still it's a good option.
<Steps> <Step title="Create your project"> ```bash Terminal elizaos create my-agent --type project cd my-agent ``` </Step> <Step title="Push to GitHub repo"> Create a GitHub repository and push your code. Choose one approach: **Option A: Public Repository (Recommended)** - Create a PUBLIC GitHub repository - Keep `.env` in your `.gitignore` (stays secure) - You'll add environment variables in Render dashboard (Step 5) **Option B: Private Repository** - Create a PRIVATE GitHub repository - Remove `.env` from your `.gitignore` - Commit your `.env` file (secure since repo is private) - ⚠️ **Still need Step 5** - Render requires env vars on their side even with private repos <Note> Unlike Railway, Render always requires you to add environment variables on their platform, even if you have a private repo with committed .env file. </Note> </Step> <Step title="Sign up for Render"> 1. Go to [render.com](https://render.com) 2. Create a Render account with your GitHub profile </Step> <Step title="Select Web Service and connect GitHub"> 1. Click **"Web Services"** when asked to select a service typeSelect Git Provider → GitHub to give Render access to your repos
Select the repository you want to deploy
</Step>Add your variables: bash env # If your project has a frontend/web UI ELIZA_UI_ENABLE=true # If using Postgres (can add PostgreSQL service in Render) POSTGRES_URL=your_postgres_connection_string # Everything else in your .env OPENAI_API_KEY=your_openai_key DISCORD_APPLICATION_ID=your_app_id DISCORD_API_TOKEN=your_bot_token ... etc
<Note>
What to add? Check your .env file to see which variables your specific
project needs. The exact variables depend on your project's configuration
and integrations.
</Note>
</Step>
<Tip>
**Free tier note:** Free (Hobby) services spin down after 15 minutes of inactivity and are slower. Upgrade to paid plans for always-on hosting and better performance.
</Tip>
Deploy on your own Virtual Private Server (VPS) for more control and predictable costs. Different platforms handle the build process differently. Some build from GitHub (like Coolify), others use Docker (like Phala).
| ✅ Pros | ❌ Cons |
|---|---|
| Lower costs - Fixed monthly VPS cost regardless of traffic | Requires server knowledge - Need basic Linux/Docker skills |
| Complete control - Full access to your infrastructure | More setup time - Initial configuration takes longer |
| Better security - Your data never leaves your servers | You handle maintenance - Updates, backups, monitoring are your responsibility |
| Predictable pricing - No surprise bills from traffic spikes | Downtime risk - If your server goes down, you fix it |
| Performance control - Choose exact CPU/RAM specifications | Learning curve - Need to understand Docker, networking basics |
Phala website | Phala docs | Video Tutorial
Phala offers secure deployment with excellent elizaOS integration and a good CLI. Perfect for production agents requiring a good mix of cost-effective and good security.
<Steps> <Step title="Create your project"> ```bash Terminal elizaos create my-agent --type project cd my-agent ```<Note>
Both regular projects and TEE projects include Docker files. Use regular projects unless you specifically need TEE security features.
</Note>
**To access your agent:**
1. **Visit the App URL** provided after deployment (your cloud dashboard)
2. In the dashboard, click **Network** → **"Endpoint #1"**
3. This gives you your agent's public URL
4. Test both the web interface and any connected platforms (Discord, X, etc.)
Different approaches for self-hosting:
Platform-Assisted (Like Managed Cloud, but bring-your-own VPS):
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | bash on any VPSManual Docker Deployment:
docker run on VPSDirect Node.js Deployment (No Docker):