Getting Started
Deploy Fred — your AI business development agent — on your own infrastructure. One Docker Compose command. Your data never leaves your server.
Prerequisites
| Requirement | Notes |
|---|---|
| Docker + Compose | Docker Engine 24+ and Docker Compose v2 |
| VPS or server | Min 2 vCPU, 4GB RAM. Hetzner CX21 or equivalent. |
| Domain name | A domain you control with DNS access |
| License key | Issued after checkout at aifredo.chat/fred-setup |
| Google OAuth credentials | Optional — for Gmail / Calendar integration |
Quickstart
Get Fred running in under 5 minutes.
Clone the SDK repo
git clone https://github.com/aifredoai/sdk.git aifredo-sdk
cd aifredo-sdk
Configure your environment
cp .env.example .env
nano .env
At minimum you need:
AIFREDO_LICENSE_KEY=your-license-key-here
ANTHROPIC_API_KEY=sk-ant-...
DOMAIN=fred.yourdomain.com
Point your DNS
fred.yourdomain.com → A → YOUR_SERVER_IP
Start the stack
docker compose up -d
Verify Fred is running
curl https://fred.yourdomain.com/health
You should see {"status":"ok"}. Charged is live.
Environment Variables
| Variable | Required | Description |
|---|---|---|
| AIFREDO_LICENSE_KEY | Yes | Your SDK license key from the setup wizard |
| ANTHROPIC_API_KEY | Yes | Your Anthropic API key — powers Fred |
| DOMAIN | Yes | Your domain (e.g. fred.yourdomain.com) |
| GOOGLE_CLIENT_ID | Optional | For Gmail & Calendar integration |
| GOOGLE_CLIENT_SECRET | Optional | For Gmail & Calendar integration |
License Key
Issued after the setup wizard at aifredo.chat/fred-setup. Links your deployment to the AiFredo control plane for heartbeat monitoring, config sync, and billing.
.env to version control.Fred Config
SOUL.md
Defines Fred's personality and rules. Edit to match your brand voice.
# config/fred/SOUL.md
You are Fred, working for [Your Company].
Your goal is to [your sales objective].
Target market: [your ideal customer]
Tone: professional / casual / direct
config.yaml
name: fred
model: claude-sonnet
tool_groups:
- web
- files
- bash
Docker Services
| Service | Port | Description |
|---|---|---|
| caddy | 80, 443 | Reverse proxy + automatic SSL |
| langgraph | 2024 | Fred's AI engine (DeerFlow + Claude) |
| gateway | 8001 | API gateway for tool routing |
| workspace-mcp | 8000 | Google Workspace MCP server |
# View services
docker compose ps
# Stream Fred logs
docker compose logs langgraph -f
# Restart Fred
docker compose restart langgraph
Caddy & SSL
Caddy handles SSL automatically via Let's Encrypt. Set DOMAIN in your .env and ensure DNS is pointing to your server before starting the stack.
Google Workspace Integration
Fred can send emails, read your calendar, and access Google Docs via the included MCP server.
Create a Google Cloud project
Go to console.cloud.google.com → New Project
Enable APIs
Enable: Gmail API, Google Calendar API, Google Drive API
Create OAuth credentials
APIs & Services → Credentials → OAuth 2.0 Client ID. Redirect URI: https://fred.yourdomain.com/oauth/callback
Add to .env
GOOGLE_CLIENT_ID=your-client-id.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=your-client-secret
Control Plane API
Your SDK communicates with aifredo.chat automatically. No manual integration needed.
| Endpoint | Method | Description |
|---|---|---|
| /api/sdk/config/:key | GET | Fetch latest Fred configuration |
| /api/sdk/heartbeat | POST | Report uptime every 6 hours |
| /api/sdk/onboard | POST | Register new deployment |
| /api/sdk/onboard/status | GET | Check onboarding status |
Heartbeat
The SDK pings aifredo.chat every 6 hours to confirm your deployment is healthy. Powers the status indicator in your dashboard.
# Check heartbeat logs
docker compose logs gateway | grep heartbeat