โ† Back to Home
ORBITARIA
๐Ÿ“‹ Master Setup Guide ยท Production Grade

ORBITARIA โ€” AI Operating System

13 specialist agents on OpenClaw + N8N + Portainer. Full orchestration, governance, and automation โ€” Hostinger or AWS.

PlatformOpenClaw v2026.3.24+
HostingHostinger VPS / AWS
Agents13 + OrbitAria
AuthorShuv Chowdhury
01
System Architecture
4-layer orchestration model โ€” 13 agents, 1 routing spine
Layer 1 โ€” Core Brain
01_MASTER_ORCHESTRATOR
โ†“
Layer 2 โ€” Communication
03_SOCIAL ยท 04_EMAIL ยท 05_CALENDAR ยท 07_CALLING ยท 08_MESSAGING ยท 13_MEETING
โ†“
Layer 3 โ€” Growth
06_MARKETING ยท 11_WEBSITE
โ†“
Layer 4 โ€” Governance (horizontal)
09_SECURITY ยท 10_EVALS ยท 12_COST
Configuration Order

Phase 0 Platform Readiness

OpenClaw, Portainer, NPM, SSH all verified running

Phase 1 MASTER_ORCHESTRATOR

Routing spine, intent classification, workflow triggers

Phase 2 Governance Layer

09_SECURITY โ†’ 12_COST โ†’ 10_EVALS โ€” must be live before scaling

Phase 3 Communication Backbone

04_EMAIL โ†’ 05_CALENDAR โ†’ 08_MESSAGING

Phase 4 Interaction Capture

13_MEETING โ†’ 07_CALLING

Phase 5 Growth Execution

06_MARKETING โ†’ 11_WEBSITE โ†’ 03_SOCIAL

Phase 6โ€“8 Harden โ†’ Test โ†’ Optimize

End-to-end tests, eval coverage, cost visibility

Default Routing Graph
FromRoutes ToTrigger
MASTER_ORCHESTRATORAll 12 specialistsIntent classification
EMAIL_AGENTCALENDAR_AGENTBooking request detected
CALENDAR_AGENTMEETING_AGENTEvent confirmed
MEETING_AGENTEMAIL + MESSAGINGSummary ready
CALLING_AGENTMESSAGING + MEETINGCall ended
MARKETING_AGENTSOCIAL + EMAILCampaign brief approved
WEBSITE_AGENTEMAIL + MARKETINGLead captured
02
API Keys & Credentials
Where to get each key and where to store it safely
๐Ÿšซ
Hard Rule: Keys NEVER go in SOUL.md files or ControlUI plain-text fields. Store ALL keys in Portainer โ†’ Stack โ†’ Environment Variables only.
โš ๏ธ
Critical: OAuth consent screen MUST be "In production" โ€” Testing mode causes unauthorized_client errors even with valid tokens.
1

Go to Google Cloud Console

Open console.cloud.google.com โ†’ create or select your OrbitumAI project.

2

Enable APIs

APIs & Services โ†’ Library โ†’ enable: Gmail API, Google Calendar API, Vertex AI API, Generative Language API, OAuth2 API.

3

Create OAuth Client ID

Credentials โ†’ Create Credentials โ†’ OAuth Client ID โ†’ Web Application. Add redirect URIs:

Redirect URIs
https://openclawagents.orbitumai.com/auth/google/callback https://build.orbitumai.com/rest/oauth2-credential/callback
4

Set Consent Screen to "In production"

App: OrbitumAI ยท Domain: orbitumai.com ยท Scopes: gmail.modify, gmail.send, calendar ยท Status: In production

5

Store in Portainer (both stacks)

Environment variables
GOOGLE_CLIENT_ID=your_id.apps.googleusercontent.com GOOGLE_CLIENT_SECRET=your_secret GMAIL_REFRESH_TOKEN=your_refresh_token
1

Go to Anthropic Console

Open console.anthropic.com โ†’ API Keys โ†’ Create Key โ†’ copy immediately (shown once).

2

Add Billing

Settings โ†’ Billing โ†’ add payment method and set a monthly spend limit.

3

Configure in OpenClaw

Run openclaw configure in Portainer console โ€” stores the key in auth-profiles.json automatically.

โ„น๏ธ
OrbitAria: anthropic/claude-opus-4-6 ยท 12 specialist agents: openai/gpt-4.1-mini with global fallback chain.
1

Go to OpenAI Platform

Open platform.openai.com โ†’ API Keys โ†’ Create new secret key โ†’ copy immediately.

2

Set Usage Limits

Settings โ†’ Limits โ†’ set a monthly hard limit (recommend $50 to start).

3

Store in Portainer (openclaw stack)

openclaw stack
OPENAI_API_KEY=sk-your_key_here
โš ๏ธ
Note: Per-agent fallbacks NOT supported in v2026.x โ€” global fallbacks only via agents.defaults.model.fallbacks.
๐Ÿšซ
Critical: CAL_API_KEY must be added to BOTH openclaw AND n8n stacks in Portainer separately โ€” each stack reads only its own env vars.
1

Generate API Key

cal.com โ†’ Settings โ†’ Developer โ†’ API Keys โ†’ Add โ†’ label "ORBITARIA".

2

Add to openclaw stack

Portainer โ†’ Stacks โ†’ openclaw โ†’ Env vars โ†’ add CAL_API_KEY

3

Add to n8n stack (separately)

Portainer โ†’ Stacks โ†’ n8n โ†’ Env vars โ†’ add CAL_API_KEY same value.

4

n8n Credential

n8n โ†’ Credentials โ†’ New โ†’ Generic โ†’ Header Auth. Name: cal-api-key (lowercase, hyphenated).

โ„น๏ธ
Always use v2: https://api.cal.com/v2/bookings. v1 is decommissioned. Response data at $input.first().json.data
1

Create Resend Account

resend.com โ†’ API Keys โ†’ Create API Key.

2

Verify Domain

Domains โ†’ Add Domain โ†’ orbitumai.com โ†’ add DNS records in Hostinger panel.

3

Store in Portainer

openclaw stack
RESEND_API_KEY=re_your_key_here RESEND_FROM_EMAIL=info@orbitumai.com
1

RetellAI

app.retellai.com โ†’ API Keys โ†’ copy.

2

Telnyx

portal.telnyx.com โ†’ API Keys โ†’ create.

3

Store in Portainer

openclaw stack
RETELL_API_KEY=your_retell_key TELNYX_API_KEY=your_telnyx_key
๐Ÿšซ
Rule: CALLING_AGENT must NEVER be autonomously scheduled. Human-initiated or MASTER_ORCHESTRATOR routed only.
1

Create AWS Account

aws.amazon.com โ†’ Create account โ†’ add billing.

2

Create IAM User

IAM โ†’ Users โ†’ Create User โ†’ Programmatic access. Start with AdministratorAccess then restrict.

3

Generate Access Keys

IAM โ†’ User โ†’ Security Credentials โ†’ Create Access Key โ†’ copy both values immediately.

4

Configure CLI

Terminal
aws configure # Access Key ID: your_key_id # Secret Access Key: your_secret # Region: us-east-1 # Output: json
โš ๏ธ
Never use AdministratorAccess on keys used by agents. Scope to specific S3 bucket or service only.
Master Credential Map
VariableServiceopenclaw stackn8n stackPhase
ANTHROPIC_API_KEYAnthropicโœ“โ€”Phase 0 โœ…
OPENAI_API_KEYOpenAIโœ“โ€”Phase 0
GMAIL_REFRESH_TOKENGoogleโœ“โ€”Phase 3 โœ…
GOOGLE_CLIENT_ID/SECRETGoogleโœ“โœ“Phase 3
CAL_API_KEYCal.comverifyverifyPhase 3 โœ…
RESEND_API_KEYResendโœ“โ€”Phase 3
RETELL_API_KEYRetellAIstore nowโ€”Phase 4
TELNYX_API_KEYTelnyxstore nowโ€”Phase 4
03
Hostinger VPS Infrastructure
Docker + Portainer + Nginx Proxy Manager on Ubuntu 24.04 LTS
๐Ÿณ

Portainer CE

portainer.orbitumai.com โ€” Container management, stack deploys, env vars, console access

๐Ÿ”€

Nginx Proxy Manager

proxy.orbitumai.com โ€” SSL termination, subdomain routing, Basic Auth

๐Ÿ“Š

Umami Analytics

analytics.orbitumai.com โ€” Privacy-first website analytics for WEBSITE_AGENT

โš ๏ธ
Critical: Always use container name (e.g. "openclaw") as NPM forward hostname โ€” never an IP. IPs change on restart and cause 502 errors.
Proxy Host Rules
DomainForward ToPortWebsocketsSSL
openclawagents.orbitumai.comopenclaw18789ONLet's Encrypt
build.orbitumai.comn8n5678ONLet's Encrypt
portainer.orbitumai.comportainer9000OFFLet's Encrypt
analytics.orbitumai.comumami3000ONLet's Encrypt
VPS Directory Structure
SSH
/opt/openclaw/config/ โ† EDIT HERE (host, not container) openclaw.json โ† Main config + gateway token agents/main/agent/auth-profiles.json /opt/openclaw/workspace/ โ† All SOUL.md files /opt/n8n/data/ /opt/umami/data/
04
OpenClaw Configuration
Docker Compose, master config, agent creation, SOUL file assignment
๐Ÿšซ
Hard Rules: Edit only at /opt/openclaw/config/openclaw.json on VPS host. maxSpawnDepth crashes container. Use "ask":"off" not "never". Use "bind":"lan" not "0.0.0.0". No per-agent fallbacks.
Docker Compose
Portainer โ†’ Stacks โ†’ openclaw
version: '3.8' services: openclaw: image: ghcr.io/openclaw/openclaw:latest container_name: openclaw restart: unless-stopped ports: - "18789:18789" volumes: - /opt/openclaw/config:/home/node/.openclaw - /opt/openclaw/workspace:/home/node/.openclaw/workspace environment: - OPENCLAW_GATEWAY_BIND=0.0.0.0 - OPENAI_API_KEY=${OPENAI_API_KEY} - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} - GMAIL_REFRESH_TOKEN=${GMAIL_REFRESH_TOKEN} - CAL_API_KEY=${CAL_API_KEY} - RESEND_API_KEY=${RESEND_API_KEY} - RETELL_API_KEY=${RETELL_API_KEY} - TELNYX_API_KEY=${TELNYX_API_KEY} networks: - openclaw-net networks: openclaw-net: name: openclaw_openclaw-net external: true
openclaw.json Master Config
/opt/openclaw/config/openclaw.json
{ "gateway": { "mode": "local", "bind": "lan", "auth": { "token": "REPLACE_WITH_GATEWAY_TOKEN", "rateLimit": { "maxAttempts": 10, "windowMs": 60000, "lockoutMs": 300000 } }, "controlUi": { "allowInsecureAuth": true } }, "session": { "dmScope": "per-channel-peer" }, "tools": { "fs": { "workspaceOnly": true }, "exec": { "strictInlineEval": true, "ask": "off" }, "elevated": { "enabled": false } }, "agents": { "defaults": { "model": { "primary": "openai/gpt-4.1-mini", "fallbacks": ["openai/gpt-4o","anthropic/claude-opus-4-6"] } }, "list": [ { "id": "main", "model": { "primary": "anthropic/claude-opus-4-6" } }, { "id": "master-orchestrator" }, { "id": "social-agent" }, { "id": "email-agent" }, { "id": "calendar-agent" }, { "id": "marketing-agent" }, { "id": "calling-agent" }, { "id": "messaging-agent" }, { "id": "security-agent" }, { "id": "evals-agent" }, { "id": "website-agent" }, { "id": "cost-agent" }, { "id": "meeting-agent" } ] } }
Create All Agents
Portainer โ†’ openclaw โ†’ Console โ†’ bash
openclaw agents add master-orchestrator openclaw agents add social-agent openclaw agents add email-agent openclaw agents add calendar-agent openclaw agents add marketing-agent openclaw agents add calling-agent openclaw agents add messaging-agent openclaw agents add security-agent openclaw agents add evals-agent openclaw agents add website-agent openclaw agents add cost-agent openclaw agents add meeting-agent openclaw agents list --bindings
Assign SOUL Files
Portainer โ†’ openclaw โ†’ Console โ†’ bash
openclaw agents config main --system-prompt-file /home/node/.openclaw/workspace/ARIASKILLS.MD openclaw agents config master-orchestrator --system-prompt-file /home/node/.openclaw/workspace/MASTERSKILLS.MD openclaw agents config social-agent --system-prompt-file /home/node/.openclaw/workspace/SOCIALSKILLS.MD openclaw agents config email-agent --system-prompt-file /home/node/.openclaw/workspace/EMAILSKILLS.MD openclaw agents config calendar-agent --system-prompt-file /home/node/.openclaw/workspace/CALENDARSKILLS.MD openclaw agents config marketing-agent --system-prompt-file /home/node/.openclaw/workspace/MARKETINGSKILLS.MD openclaw agents config calling-agent --system-prompt-file /home/node/.openclaw/workspace/CALLINGSKILLS.MD openclaw agents config messaging-agent --system-prompt-file /home/node/.openclaw/workspace/MESSAGINGSKILLS.MD openclaw agents config security-agent --system-prompt-file /home/node/.openclaw/workspace/SECURITYSKILLS.MD openclaw agents config evals-agent --system-prompt-file /home/node/.openclaw/workspace/EVALSSKILLS.MD openclaw agents config website-agent --system-prompt-file /home/node/.openclaw/workspace/WEBSITESKILLS.MD openclaw agents config cost-agent --system-prompt-file /home/node/.openclaw/workspace/COSTSKILLS.MD openclaw agents config meeting-agent --system-prompt-file /home/node/.openclaw/workspace/MEETINGSKILLS.MD openclaw secrets reload
05
N8N Configuration
Self-hosted automation engine โ€” Docker stack, Cal.com relay, daily triggers
Docker Compose
Portainer โ†’ Stacks โ†’ n8n
version: '3.8' services: n8n: image: n8nio/n8n:latest container_name: n8n restart: unless-stopped ports: - "5678:5678" environment: - N8N_HOST=build.orbitumai.com - N8N_PORT=5678 - N8N_PROTOCOL=https - WEBHOOK_URL=https://build.orbitumai.com/ - N8N_EDITOR_BASE_URL=https://build.orbitumai.com/ - N8N_BLOCK_ENV_ACCESS_IN_NODE=false - EXECUTIONS_PROCESS=main - CAL_API_KEY=${CAL_API_KEY} - GMAIL_REFRESH_TOKEN=${GMAIL_REFRESH_TOKEN} - GOOGLE_CLIENT_ID=${GOOGLE_CLIENT_ID} - GOOGLE_CLIENT_SECRET=${GOOGLE_CLIENT_SECRET} volumes: - /opt/n8n/data:/home/node/.n8n networks: - n8n-net networks: n8n-net: name: n8n_n8n-net external: true
โš ๏ธ
N8N Rules: N8N_BLOCK_ENV_ACCESS_IN_NODE=false required for env var access in Code nodes. CAL_API_KEY must be in both stacks separately. No trailing spaces in variable names.
Daily Calendar Summary (08:00 CST)
Cron โ†’ Cal.com v2 โ†’ Telegram
# Cron trigger: 0 8 * * * (America/Chicago) # HTTP Request: GET https://api.cal.com/v2/bookings # Auth: Generic Credential โ†’ Header Auth โ†’ cal-api-key # Params: afterStart: {{ $now.startOf('day').toISO() }} beforeEnd: {{ $now.endOf('day').toISO() }} # Parse: const bookings = $input.first().json.data;
Cal.com Webhook Relay
Confirmed working
Endpoint: https://build.orbitumai.com/webhook/calcom-relay // HMAC verify Code node: const crypto = require('crypto'); const sig = crypto.createHmac('sha256', $env.CAL_WEBHOOK_SECRET) .update(JSON.stringify($input.first().json)).digest('hex'); if ('sha256='+sig !== $input.first().headers['x-cal-signature-256']) throw new Error('Invalid signature');
06
Antigravity + N8N
Push workflows into your self-hosted N8N using AI โ€” no coding required
๐Ÿง  Plain English โ€” What Is This?

Antigravity is a browser extension that gives you an AI chat panel on any webpage โ€” including your N8N dashboard. You describe what you want in plain English and it writes the whole workflow for you.

N8N is your visual automation engine โ€” like a flowchart where each box does one job and the boxes connect to run automatically.

When connected via MCP, Antigravity pushes the finished workflow straight into your N8N. No copy-paste. No coding. The workflow just appears.

How It Works
You
Type your request in plain English
"Send me a Telegram message when a new Cal.com booking arrives"
โ†“
Antigravity (in your browser)
AI writes the N8N workflow JSON
Uses Claude to generate all nodes, connections, and settings
โ†“
MCP Bridge โ€” the connector
Pushes the workflow into your N8N
No copy-paste needed โ€” workflow appears in N8N dashboard instantly
โ†“
Your Self-Hosted N8N
Workflow is live
Click Activate in N8N. Automation runs on your server forever.
Part 1 โ€” Enable MCP in N8N
โ„น๏ธ
What is MCP? Think of it as a special door. Antigravity knocks on this door to push workflows in. Without it, the door doesn't exist.
1

Generate N8N API Key

Go to build.orbitumai.com โ†’ avatar bottom-left โ†’ Settings โ†’ n8n API โ†’ Create API key โ†’ label "Antigravity" โ†’ copy immediately.

2

Save in Portainer (n8n stack)

n8n stack env var
N8N_API_KEY=n8n_api_your_key_here
3

Add MCP Variables to N8N Stack

Portainer โ†’ Stacks โ†’ n8n โ†’ Editor tab โ†’ add to environment section:

n8n docker-compose env
- N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true - N8N_MCP_ENABLED=true - N8N_API_KEY=${N8N_API_KEY}
4

Redeploy Stack

Portainer โ†’ n8n stack โ†’ Update the stack โ†’ wait 30 seconds.

5

Verify MCP is Live

Open in browser โ€” should return JSON, not an error:

Test URL
https://build.orbitumai.com/mcp-server/http
Part 2 โ€” Install Antigravity
1

Open Chrome or Edge

Antigravity works in Chromium-based browsers only.

2

Install from Chrome Web Store

Search "Antigravity" โ†’ Add to Chrome.

3

Pin to Toolbar & Add API Key

Click ๐Ÿงฉ โ†’ pin Antigravity โ†’ click icon โ†’ Settings โ†’ paste your sk-ant-... Anthropic key.

Part 3 โ€” Connect Antigravity to N8N
1

Open MCP Servers in Antigravity Settings

Look for MCP Servers, Tools, or Connections section.

2

Add New Server

Server Name
OrbitumAI N8N
Server URL
https://build.orbitumai.com/mcp-server/http
Auth Header
Authorization
Auth Value
Bearer n8n_api_your_key_here
3

Save and Verify

Click Save. You should see a green "Connected" status. If red โ€” check the URL and API key.

Part 4 โ€” ORBITARIA Workflows to Build First
Copy each prompt into Antigravity chat. It will write and push the workflow into your N8N automatically.
WF 01

Daily Calendar Summary โ€” CALENDAR_AGENT

Every day 08:00 CST ยท Cal.com v2 โ†’ Telegram
"Create an n8n workflow triggered every day at 8am Central Time. Call Cal.com v2 API at https://api.cal.com/v2/bookings with header cal-api-key. Use afterStart/beforeEnd for today's range. Parse response from 'data' field. Format and send booking list as Telegram message."
WF 02

Cal.com Webhook Relay โ€” CALENDAR_AGENT

Cal.com booking event โ†’ OpenClaw
"Build a webhook at /calcom-relay. Verify HMAC-SHA256 from x-cal-signature-256 header using env var CAL_WEBHOOK_SECRET. If valid, POST booking data to https://openclawagents.orbitumai.com/api/v1/message with Bearer auth from GATEWAY_TOKEN env var, targeting agent 'calendar-agent'."
WF 03

Gmail Inbound Monitor โ€” EMAIL_AGENT

Poll Gmail every 5 min โ†’ OpenClaw
"Poll Gmail every 5 minutes using Gmail OAuth2 for shuv@orbitumai.com. For each unread email, extract subject, sender, and body preview. POST as JSON to https://openclawagents.orbitumai.com/api/v1/message with Bearer auth targeting 'email-agent'. Mark as read after."
WF 04

Weekly Marketing Report โ€” MARKETING_AGENT

Every Monday 07:30 CST โ†’ OpenClaw
"Trigger every Monday at 7:30am Central Time. POST to https://openclawagents.orbitumai.com/api/v1/message with Bearer auth targeting 'marketing-agent'. Message: Generate weekly marketing report โ€” performance summary, AI trends, competitor intel, 3 campaign ideas. Deliver via Telegram to shuv@orbitumai.com."
Troubleshooting
ProblemCauseFix
Red dot in AntigravityCan't reach MCP endpointVisit build.orbitumai.com/mcp-server/http in browser. If error โ€” verify N8N_MCP_ENABLED=true in Portainer and redeploy.
Workflow appears empty in N8NMalformed JSON pushAsk Antigravity: "The workflow appeared empty โ€” please rebuild and push again."
401 Unauthorized in executionWrong/missing API keyN8N โ†’ click red node โ†’ Edit Credentials โ†’ re-enter correct key.
Workflow runs but nothing happensNot ActivatedN8N โ†’ open workflow โ†’ toggle Active switch ON (turns green).
Cal.com webhook not receivedURL not registeredCal.com โ†’ Settings โ†’ Developer โ†’ Webhooks โ†’ add URL: build.orbitumai.com/webhook/calcom-relay
07
Agent Stack
All 13 agents โ€” models, integrations, scheduling rules
โ„น๏ธ
Rule: COST_AGENT and EVALS_AGENT must be confirmed working BEFORE scheduling any other agent for autonomous unattended runs.
AgentLayerModelKey IntegrationAuto-Schedule
main (OrbitAria)Entryclaude-opus-4-6Telegram botHuman only
01_MASTER_ORCHESTRATORL1gpt-4.1-miniAll agents, routingYes โ€” routing spine
03_SOCIAL_AGENTL2gpt-4.1-miniLinkedIn, Instagram, XApproval only
04_EMAIL_AGENTL2gpt-4.1-miniGmail OAuth, ResendYes
05_CALENDAR_AGENTL2gpt-4.1-miniCal.com v2, n8n relayYes โ€” daily summary
06_MARKETING_AGENTL3gpt-4.1-miniSocial, Email, Calling briefsWeekly report auto
07_CALLING_AGENTL2gpt-4.1-miniRetellAI, TelnyxNEVER auto
08_MESSAGING_AGENTL2gpt-4.1-miniTelegram, WhatsApp, SlackYes
09_SECURITY_AGENTL4gpt-4.1-miniAll agents (horizontal)Yes โ€” governance
10_EVALS_AGENTL4gpt-4.1-miniAll agents (scoring)Yes โ€” governance
11_WEBSITE_AGENTL3gpt-4.1-miniVercel, Umami, leadsYes
12_COST_AGENTL4gpt-4.1-miniAll agents (token tracking)Yes โ€” governance
13_MEETING_AGENTL2gpt-4.1-miniTranscripts, Email, TelegramNEVER auto
08
SOUL Files
System prompts that give each agent its identity and rules
โš ๏ธ
Upload SOUL files from your local machine to VPS using SCP from PowerShell. Never store credentials inside SOUL files โ€” use $env.VARIABLE_NAME references only.
Upload All SOUL Files (PowerShell)
PS C:\Users\subha>
scp 01_MASTER_ORCHESTRATOR.md root@31.220.18.167:/opt/openclaw/workspace/MASTERSKILLS.MD scp 03_SOCIAL_AGENT.md root@31.220.18.167:/opt/openclaw/workspace/SOCIALSKILLS.MD scp 04_EMAIL_AGENT.md root@31.220.18.167:/opt/openclaw/workspace/EMAILSKILLS.MD scp 05_CALENDAR_AGENT.md root@31.220.18.167:/opt/openclaw/workspace/CALENDARSKILLS.MD scp 06_MARKETING_AGENT.md root@31.220.18.167:/opt/openclaw/workspace/MARKETINGSKILLS.MD scp 07_CALLING_AGENT.md root@31.220.18.167:/opt/openclaw/workspace/CALLINGSKILLS.MD scp 08_MESSAGING_AGENT.md root@31.220.18.167:/opt/openclaw/workspace/MESSAGINGSKILLS.MD scp 09_SECURITY_AGENT.md root@31.220.18.167:/opt/openclaw/workspace/SECURITYSKILLS.MD scp 10_EVALS_AGENT.md root@31.220.18.167:/opt/openclaw/workspace/EVALSSKILLS.MD scp 11_WEBSITE_AGENT.md root@31.220.18.167:/opt/openclaw/workspace/WEBSITESKILLS.MD scp 12_COST_AGENT.md root@31.220.18.167:/opt/openclaw/workspace/COSTSKILLS.MD scp 13_MEETING_AGENT.md root@31.220.18.167:/opt/openclaw/workspace/MEETINGSKILLS.MD
Universal SOUL File Template
SOUL_TEMPLATE.MD
# [AGENT_NAME]SKILLS โ€” [Agent Title] # OpenClaw Agent Skill File | OrbitumAI # Agent ID: [agent-id] | Model: openai/gpt-4.1-mini | v2026.3.24+ ## IDENTITY You are [Persona Name] โ€” OrbitumAI's [role]. North star: [One sentence mission aligned to ORBIT Framework] ## OPERATING MODE [Describe modes: Research / Advise / Execute or similar] ## CORE CAPABILITIES [List specific tasks this agent performs] ## INTEGRATION REFERENCES | Integration | Credential | Purpose | |---|---|---| | [Service] | $env.[VAR_NAME] | [What it does] | ## WORKFLOW ROUTING Receives from: [upstream agents] Routes to: [downstream agents] Governance: SECURITY_AGENT, EVALS_AGENT, COST_AGENT ## PROTECTED CONTACTS โ€” NEVER ACTION THESE Riddhi, Ranjita, Rahul, Uttama, Jaydeep, Medha, Gudia ## WHAT YOU MUST NEVER DO - Never execute without Shuv approval where required - Never store credentials in this file - Never invent client results or outcome guarantees - Never contact protected contacts above *OrbitumAI | [AGENT]SKILLS.MD | v2026.3.24+ | CONFIDENTIAL*
09
AWS Hosting Alternative
Same Docker Compose architecture on EC2 โ€” S3 for SOUL files, Secrets Manager for credentials
๐Ÿ–ฅ๏ธ

EC2 โ€” Compute

t3.medium minimum (2 vCPU, 4GB RAM). t3.large recommended for all 13 agents in production.

๐Ÿ—„๏ธ

S3 โ€” Storage

Store SOUL.md files, workflow exports, meeting transcripts, and config backups.

๐Ÿ”

Secrets Manager

Replace Portainer env vars with AWS Secrets Manager for production-grade credential management.

๐ŸŒ

Route 53 + ACM

DNS management and free SSL certificates โ€” replaces NPM Let's Encrypt for AWS deployments.

EC2 Setup Commands
SSH โ€” Ubuntu 24.04
# Security Group inbound: 22 (your IP), 80, 443 โ€” block 18789 ssh -i your-key.pem ubuntu@your-ec2-ip curl -fsSL https://get.docker.com | sh apt install docker-compose-plugin -y usermod -aG docker ubuntu mkdir -p /opt/openclaw/config /opt/openclaw/workspace mkdir -p /opt/n8n/data /opt/portainer/data /opt/umami/data chmod 755 /opt/openclaw/config /opt/openclaw/workspace
AWS Secrets Manager Pattern
CLI
aws secretsmanager create-secret \ --name "orbitumai/production" \ --secret-string '{ "ANTHROPIC_API_KEY":"sk-ant-...", "OPENAI_API_KEY":"sk-...", "CAL_API_KEY":"...", "GMAIL_REFRESH_TOKEN":"...", "RESEND_API_KEY":"re_..." }'
10
Security Hardening
Completed and pending security tasks for production deployment
TaskPriorityStatusWhere
OpenClaw 5-point hardeningHIGHโœ… DoneOpenClaw Chat
Block port 18789 externallyHIGHโœ… DoneUFW + iptables
Docker UFW bypass fixHIGHโœ… DoneDOCKER-USER chain
Rotate gateway auth tokenMEDIUMโœ… DoneSSH Terminal
Fix file permissionsMEDIUMโณ PendingSSH Terminal
Install Fail2BanMEDIUMโณ PendingSSH Terminal
Remove port 8080MEDIUMโณ PendingSSH Terminal
Pending: Fix File Permissions
SSH
chmod 700 /opt/openclaw/config chmod 600 /opt/openclaw/config/openclaw.json chmod 600 /opt/openclaw/config/agents/main/agent/auth-profiles.json
Pending: Install Fail2Ban
SSH
apt install fail2ban -y systemctl enable fail2ban && systemctl start fail2ban fail2ban-client status
Monthly Security Audit
Portainer โ†’ openclaw โ†’ Console
openclaw security audit openclaw security audit --deep openclaw security audit --fix
11
Downloads
All configuration files โ€” generated and ready to use
openclaw.json
Master OpenClaw config โ€” 13 agents, global fallbacks, security hardening
docker-compose-openclaw.yml
Full OpenClaw Docker Compose for Portainer
docker-compose-n8n.yml
N8N Docker Compose with all required env var bindings
SOUL_TEMPLATE.MD
Universal agent SOUL file template
portainer-env-vars.txt
All Portainer environment variables for both stacks
scp-upload-all.ps1
PowerShell script to upload all SOUL files to VPS
antigravity-prompts.md
All 4 ORBITARIA workflow prompts โ€” copy-paste into Antigravity
aws-iam-policy.json
Minimum-privilege IAM policy for OrbitumAI agents on AWS