Page cover

Deployment

Deployment Options

Local Development

Setup Process:

# 1. Create project directory
mkdir my-grace-agent
cd my-grace-agent

# 2. Download agent files
# (From Grace platform)

# 3. Create virtual environment
python -m venv venv

# Windows
venv\Scripts\activate

# Linux/Mac
source venv/bin/activate

# 4. Install dependencies
pip install -r requirements.txt

# 5. Configure environment
cp .env.example .env
# Edit .env with your API keys

# 6. Test agent
python agent_[ID].py --test

# 7. Run agent
python agent_[ID].py

Directory Structure:

my-grace-agent/
├── agent_[ID].py           # Your agent
├── agent_builder_framework.py
├── requirements.txt
├── .env                    # Your config
├── .env.example           # Template
├── README.md
├── logs/                  # Runtime logs
│   ├── agent.log
│   └── errors.log
└── data/                  # Optional storage
    └── agent_state.json

Cloud Deployment

Option 1: Heroku

Advantages:

  • Easy deployment

  • Free tier available

  • Automatic scaling

  • Built-in logging

Setup:

# Install Heroku CLI
# Create Heroku app
heroku create my-grace-agent

# Set environment variables
heroku config:set ANTHROPIC_API_KEY=your_key
heroku config:set TWITTER_API_KEY=your_key

# Create Procfile
echo "worker: python agent_[ID].py" > Procfile

# Deploy
git push heroku main

# Scale worker
heroku ps:scale worker=1

Option 2: AWS Lambda

Advantages:

  • Pay per execution

  • Highly scalable

  • Serverless architecture

  • AWS ecosystem integration

Setup:

# Package dependencies
pip install -r requirements.txt -t ./package

# Add agent code
cp agent_[ID].py ./package/
cp agent_builder_framework.py ./package/

# Create deployment package
cd package
zip -r ../agent-lambda.zip .

# Upload to Lambda
aws lambda create-function \
  --function-name grace-agent \
  --runtime python3.11 \
  --handler agent_[ID].handler \
  --zip-file fileb://agent-lambda.zip

Option 3: DigitalOcean Droplet

Advantages:

  • Full control

  • Predictable pricing

  • Simple setup

  • Good performance

Setup:

# SSH into droplet
ssh root@your_droplet_ip

# Install Python
apt update && apt install python3-pip python3-venv

# Clone/upload your code
git clone your-repo
cd your-repo

# Setup virtual environment
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

# Create systemd service
sudo nano /etc/systemd/system/grace-agent.service

# Service file content:
[Unit]
Description=Grace Agent
After=network.target

[Service]
User=root
WorkingDirectory=/root/agent
Environment="PATH=/root/agent/venv/bin"
ExecStart=/root/agent/venv/bin/python agent_[ID].py

[Install]
WantedBy=multi-user.target

# Enable and start
sudo systemctl enable grace-agent
sudo systemctl start grace-agent

Option 4: Docker Container

Advantages:

  • Consistent environment

  • Easy portability

  • Version control

  • Isolation

Dockerfile:

FROM python:3.11-slim

WORKDIR /app

# Copy requirements
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

# Copy agent code
COPY agent_[ID].py .
COPY agent_builder_framework.py .

# Environment variables loaded at runtime
ENV PYTHONUNBUFFERED=1

# Run agent
CMD ["python", "agent_[ID].py"]

Deployment:

# Build image
docker build -t grace-agent:latest .

# Run locally
docker run -d \
  --name my-agent \
  --env-file .env \
  grace-agent:latest

# Push to registry
docker tag grace-agent:latest username/grace-agent:latest
docker push username/grace-agent:latest

Production Considerations

Monitoring:

  • Set up logging (Datadog, CloudWatch, etc.)

  • Track API usage and costs

  • Monitor response times

  • Alert on errors

Scaling:

  • Horizontal: Multiple agent instances

  • Vertical: Increase resources

  • Load balancing: Distribute requests

  • Queue system: Handle bursts

Backup:

  • Code repository: GitHub, GitLab

  • Configuration: Encrypted backups

  • State data: Regular snapshots

  • API keys: Secure vault

Last updated