ایک AI ایجنٹ شاذ و نادر ہی واحد پروسیس ہوتا ہے۔ خود ایجنٹ لوپ ہے، یادداشت کے لیے ایک ویکٹر اسٹور، ایک کیش، عموماً حالت کے لیے ایک ڈیٹابیس، اور شاید ایک چھوٹا ڈیش بورڈ۔ ان میں سے ہر ایک کو ہاتھ سے چلانا — انہیں شروع کرنا، ری بوٹ کے بعد دوبارہ اٹھانا، یاد رکھنا کہ کون سا پورٹ کون سا ہے — جلد اکتا دینے والا ہو جاتا ہے۔ Docker Compose پوری چیز کو ایک فائل میں بیان کرتا ہے اور ایک کمانڈ سے چلاتا ہے۔ یہ ایجنٹ کو VPS پر صاف ستھرے انداز میں رکھنے کا کاپی پیسٹ اسٹیک ہے۔
اگر آپ صرف Docker کے بغیر ڈیپلائے والا ورژن چاہتے ہیں، تو AI ایجنٹ 24/7 چلانے کی گائیڈ اس کے بجائے systemd کا احاطہ کرتی ہے۔ یہ صفحہ کنٹینر-نیٹو ورژن ہے۔
اسٹیک
ایک عام سیلف-ہوسٹڈ ایجنٹ اپنے ساتھ چار چیزیں چاہتا ہے: ایجنٹ پروسیس، Qdrant (ویکٹر یادداشت)، Redis (کیش / قطاریں) اور Postgres (حالت)۔ یہ رہا ایک docker-compose.yml جو یہ سب چلاتا ہے، اندرونی سروسز کو عوامی انٹرنیٹ سے دور رکھتے ہوئے:
# /opt/agent/docker-compose.yml
services:
agent:
build: . # your agent image (or image: your/agent:latest)
restart: unless-stopped
env_file: [.env] # OPENAI/ANTHROPIC keys etc. — never in this file
environment:
QDRANT_URL: http://qdrant:6333
REDIS_URL: redis://redis:6379
DATABASE_URL: postgres://agent:${DB_PASSWORD}@postgres:5432/agent
depends_on: [qdrant, redis, postgres]
# no ports: — this agent only makes outbound calls. Publish one only if it serves webhooks.
qdrant:
image: qdrant/qdrant:latest
restart: unless-stopped
volumes: ["qdrant:/qdrant/storage"] # internal only — not published
redis:
image: redis:7-alpine
restart: unless-stopped
command: ["redis-server", "--save", "60", "1"]
volumes: ["redis:/data"]
postgres:
image: postgres:16-alpine
restart: unless-stopped
environment:
POSTGRES_USER: agent
POSTGRES_PASSWORD: ${DB_PASSWORD}
POSTGRES_DB: agent
volumes: ["pg:/var/lib/postgresql/data"]
volumes: { qdrant: {}, redis: {}, pg: {} }
سیکریٹس .env میں رہتے ہیں، compose فائل میں نہیں:
# /opt/agent/.env (chmod 600, never committed)
ANTHROPIC_API_KEY=sk-ant-...
DB_PASSWORD=a-long-random-string
اسے اٹھائیں:
apt update && apt install -y docker.io docker-compose-v2
systemctl enable --now docker
cd /opt/agent && docker compose up -d
docker compose logs -f agent
ہر اندرونی سروس (Qdrant، Redis، Postgres) صرف compose نیٹ ورک پر سروس نام سے قابلِ رسائی ہے — ان میں سے کوئی بھی انٹرنیٹ پر شائع نہیں۔ ایجنٹ اس نجی نیٹ ورک کے ذریعے ان سے بات کرتا ہے، اور ان پورٹس پر کوئی چیز دنیا کی طرف رخ نہیں کیے۔
وہ تفصیلات جو اہم ہیں
- ہر سروس پر
restart: unless-stopped— یہی ری بوٹ یا کریش سہتا ہے۔ بوٹ پر Docker فعال کریں اور پورا اسٹیک خود واپس آ جاتا ہے۔ - کیز
.envمیں، YAML میں نہیں۔ انہیں env متغیرات کے طور پر حوالہ دیں؛.envکوchmod 600پر اور git سے باہر رکھیں۔ لائیو کی والی لیک شدہ compose فائل کلاسک غلطی ہے۔ - جو شائع کرنا ضروری نہ ہو نہ کریں۔ ایسا ایجنٹ جو صرف ماڈل API اور اپنی سروسز کال کرتا ہے اسے کوئی اِن باؤنڈ پورٹ چاہیے ہی نہیں — تو NAT پلان چلتا ہے۔ ڈیڈیکیٹڈ IP صرف تب شامل کریں جب یہ webhooks یا ڈیش بورڈ سرو کرتا ہو۔
- کور نہیں، میموری کے حساب سے سائز چنیں۔ API پر مبنی ایجنٹ ہلکے ہیں۔ جب Qdrant کا انڈیکس بڑا ہو جائے یا آپ لوکل ماڈل شامل کریں، تب آپ اوپر جاتے ہیں — دیکھیں ایجنٹس کے لیے ہائی-میموری VPS۔
وہ حصہ جو دراصل ہمارا ہے: ایجنٹ اپنی مشین خود بنا سکتا ہے
چونکہ EQVPS ایک MCP سرور فراہم کرتا ہے، اس اسٹیک کو چلانے والا ایجنٹ خود ایک اور صاف VPS فراہم کر سکتا ہے — اسے آرڈر کرنا، root لینا، گرا دینا — ایک پری پیڈ کرپٹو بیلنس سے ادائیگی کرتے ہوئے۔ ایسا compose اسٹیک جسے ایک تازہ سینڈ باکس چاہیے، لوپ میں کسی انسان کے بغیر ایک اٹھا سکتا ہے۔
Docker والے ایجنٹ کے لیے EQVPS کیوں
- صاف امیجز، ~60 سیکنڈ میں root۔ Ubuntu/Debian؛
docker compose upاور اسٹیک لائیو۔ - کوئی KYC نہیں، کرپٹو میں ادائیگی۔ رجسٹر کے لیے ای میل، ادائیگی کے لیے USDC/USDT — کوئی چیز مشین کو آپ کی شناخت سے نہیں باندھتی۔
- NVMe + بغیر میٹر 1 Gbit/s، EU (جرمنی/فن لینڈ)۔ امیجز کھینچنا اور لاگز بھیجنا کوئی حیران کن بل نہیں بنائے گا۔
AI ایجنٹس کے لیے VPS (جائزہ) → · Docker کے لیے VPS → · ایجنٹ میموری کے لیے ویکٹر DB ہوسٹ کریں →
تبصرے
ابھی کوئی تبصرہ نہیں۔ پہلے بنیں۔