3.4 KiB
3.4 KiB
Deploying the Agent to Railway
This guide covers deploying the LangGraph agent to Railway.
Prerequisites
- Railway account (free tier available)
- Railway CLI (optional but recommended):
npm install -g @railway/cli - Google AI API key from Google AI Studio
Method 1: Deploy via Railway CLI (Recommended)
-
Install Railway CLI (if not already installed):
npm install -g @railway/cli -
Login to Railway:
railway login -
Initialize Railway project (from the agent directory):
cd agent railway init -
Set environment variables:
railway variables set GOOGLE_API_KEY=your-google-ai-api-key-here -
Deploy:
railway up -
Get the deployment URL:
railway domain
Method 2: Deploy via Railway Dashboard
-
Go to Railway Dashboard
-
Create New Project:
- Click "New Project"
- Select "Deploy from GitHub repo"
- Connect your GitHub account if not already connected
- Select this repository
-
Configure the service:
- Railway will auto-detect the Dockerfile
- Root directory:
/agent - Port: 8000 (automatically detected)
-
Set Environment Variables:
- Go to the "Variables" tab
- Add:
GOOGLE_API_KEY= your Google AI API key - (Optional) Add LangSmith variables for tracing
-
Deploy:
- Railway will automatically build and deploy
- Wait for the build to complete (usually 2-3 minutes)
-
Get the URL:
- Go to "Settings" > "Networking"
- Click "Generate Domain"
- Your agent will be available at:
https://your-project.up.railway.app
Method 3: Deploy via Railway Button
Add this to your repository README:
[](https://railway.app/template/your-template-id)
Updating the Frontend
After deploying the agent, update your Next.js frontend to use the Railway URL:
-
Open
src/app/api/copilotkit/route.ts -
Update the agent URL:
const agent = new LangGraphAgent({ agentUrl: process.env.AGENT_URL || "https://your-project.up.railway.app", }); -
Add to your
.env.local:AGENT_URL=https://your-project.up.railway.app
Health Check
Once deployed, verify the agent is running:
curl https://your-project.up.railway.app/health
Monitoring
- View logs:
railway logs - View metrics: Railway Dashboard > Metrics tab
- Add LangSmith for tracing: Set
LANGCHAIN_TRACING_V2=trueandLANGCHAIN_API_KEY
Troubleshooting
Build fails with "No space left on device"
- Railway free tier has limited build space
- Try removing unused dependencies from requirements.txt
Agent timeout errors
- Railway free tier has request timeouts
- For production, upgrade to Railway Pro
Environment variables not working
- Ensure variables are set in Railway dashboard or via CLI
- Restart the deployment after adding variables
Cost Optimization
Railway pricing:
- Free tier: $5 credit/month
- Pro: $20/month + usage-based pricing
- Image generation with Gemini uses Google AI quota, not Railway resources
For production deployment, consider:
- Monitoring image generation usage
- Implementing rate limiting
- Caching generated images