EQVPS

Docker Compose AI აგენტებისთვის: სრული self-hosted სტეკი ერთ VPS-ზე

Sep 6, 2026 · 3 წთ კითხვა · EQVPS Team

AI აგენტი იშვიათად არის ერთი პროცესი. არის თავად აგენტის მარყუჟი, ვექტორული საცავი მეხსიერებისთვის, ქეში, ჩვეულებრივ მონაცემთა ბაზა მდგომარეობისთვის, და შესაძლოა პატარა დაფა. თითოეულის ხელით გაშვება — მათი დაწყება, გადატვირთვის შემდეგ ხელახლა აწევა, იმის დამახსოვრება, რომელი პორტი რომელია — სწრაფად მოსაბეზრებელი ხდება. Docker Compose მთელ საქმეს ერთ ფაილში აღწერს და ერთი ბრძანებით უშვებს. ეს არის copy-paste სტეკი აგენტის VPS-ზე სუფთად დასადებად.

თუ მხოლოდ Docker-ის გარეშე განთავსების ვერსია გინდა, AI აგენტის 24/7 გაშვების გზამკვლევი ამის ნაცვლად systemd-ს ფარავს. ეს გვერდი კონტეინერ-ნეიტიური ვერსიაა.

სტეკი

ტიპური self-hosted აგენტს გვერდით ოთხი რამ სურს: აგენტის პროცესი, 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 ქსელზე სერვისის სახელით — არცერთი მათგანი არ არის ინტერნეტში გამოქვეყნებული. აგენტი მათთან ამ კერძო ქსელის გავლით საუბრობს, და ამ პორტებზე არაფერი უყურებს გარესამყაროს.

დეტალები, რომლებსაც მნიშვნელობა აქვს

ნაწილი, რომელიც ნამდვილად ჩვენია: აგენტს შეუძლია საკუთარი მანქანის აგება

რადგან EQVPS-ს გამოაქვს MCP სერვერი, ამ სტეკის გამშვებ აგენტს შეუძლია თავად მოამზადოს კიდევ ერთი სუფთა VPS — შეუკვეთოს, მიიღოს root, დაანგრიოს — გადაიხადოს წინასწარ გადახდილი კრიპტო ბალანსიდან. compose სტეკი, რომელსაც ახალი sandbox სჭირდება, შეუძლია ერთი ასწიოს ადამიანის ჩართვის გარეშე.

რატომ EQVPS Docker-იზებული აგენტისთვის

VPS AI აგენტებისთვის (მიმოხილვა) → · VPS Docker-ისთვის → · უმასპინძლე ვექტორულ DB-ს აგენტის მეხსიერებისთვის →

ხდკ

რატომ გავუშვათ AI აგენტი Docker Compose-ით და არა შიშველი პროცესებით?

აგენტი იშვიათად არის მხოლოდ ერთი პროცესი — ეს არის აგენტის მარყუჟი პლუს ვექტორული საცავი, ქეში და ჩვეულებრივ მონაცემთა ბაზა. Compose მთელ სტეკს ერთ ფაილში აღწერს, ყველაფერს ერთი ბრძანებით ასწევს, კრახის ან გადატვირთვისას თითო ნაწილს ხელახლა უშვებს, და შიდა სერვისებს (Postgres, Redis, Qdrant) კერძო ქსელზე ინახავს, ასე რომ მხოლოდ ის ვლინდება, რასაც ირჩევ. ეს არის უსუფთაესი გზა მოძრავი ნაწილების მქონე აგენტის self-host-ისთვის.

აგენტის სტეკს რომელი გეგმა სჭირდება?

API-ზე დაფუძნებული აგენტისთვის (მოდელი შენს პროვაიდერთან მუშაობს) სტეკი მსუბუქია — აგენტის მარყუჟი, Qdrant, Redis და Postgres კომფორტულად ჯდება ჩვენს Small-ზე ($8/თვე) ან AI-Agent გეგმაზე ($10/თვე, 4 GB). მეტი RAM მხოლოდ მაშინ გჭირდება, თუ დიდ ვექტორულ ინდექსს მეხსიერებაში ინახავ ან ლოკალურ მოდელს უშვებ, რაც სხვა, უფრო მძიმე დაყენებაა.

სად ჩავდო API გასაღებები — compose ფაილში?

არა. საიდუმლოები შეინახე .env ფაილში (git-ის მიერ იგნორირებული) და compose-ში მიმართე მათ როგორც გარემოს ცვლადებს, ან გამოიყენე Docker secrets. გასაღებები არასდროს დააკომიტო docker-compose.yml-ში. შიდა სერვისები მიაბი მხოლოდ compose ქსელს; გამოაქვეყნე მხოლოდ აგენტის პორტი (ან არაფერი, თუ ის მხოლოდ გამავალ ზარებს აკეთებს).

კონტეინერები ბრუნდება გადატვირთვის შემდეგ?

მხოლოდ თუ ეტყვი. დააყენე restart: unless-stopped (ან always) თითო სერვისზე და ჩართე Docker ჩატვირთვისას; მაშინ docker compose up -d გადატვირთვებსა და კრახებს გადაურჩება. გადაშვების პოლიტიკის გარეშე კონტეინერი სერვერის გადატვირთვის შემდეგ გამორთული რჩება.

ითხოვთ KYC-ს ან ბარათს?

არა. ელფოსტა რეგისტრაციისთვის, გადახდა USDC-ით ან USDT-ით — დოკუმენტების გარეშე, ბარათის გარეშე. root დაახლოებით ერთ წუთში.

← ბლოგზე დაბრუნებატარიფებისა და ფასების ნახვა →

კომენტარები

ჯერ არ არის კომენტარები. იყავით პირველი.

დატოვეთ კომენტარი

კომენტარები მოდერირდება გამოჩენამდე.