−25%

kwa Windows ya mwaka, hadi 31 Okt. Tazama mipango

EQVPS
Anza

Docker Compose kwa wakala wa AI: stack kamili inayojipangisha kwenye VPS moja

Sep 6, 2026 · 3 dakika za kusoma · EQVPS Team

Wakala wa AI mara chache huwa mchakato mmoja. Kuna kitanzi cha wakala chenyewe, hifadhi ya vekta kwa kumbukumbu, kache, kwa kawaida hifadhidata kwa hali, na labda dashibodi ndogo. Kuendesha kila kimoja kwa mkono — kuvianzisha, kuvianzisha upya baada ya kuwasha upya, kukumbuka bandari ipi ni ipi — huchosha haraka. Docker Compose huelezea jambo zima kwenye faili moja na kuliendesha kwa amri moja. Hii ndiyo stack ya kunakili-bandika ya kuweka wakala kwenye VPS kwa njia nadhifu.

Ukitaka tu toleo la kupeleka-bila-Docker, mwongozo wa kuendesha wakala wa AI saa 24/7 unashughulikia systemd badala yake. Ukurasa huu ni toleo la asili la kontena.

Stack

Wakala wa kawaida anayejipangisha anataka vitu vinne kando yake: mchakato wa wakala, Qdrant (kumbukumbu ya vekta), Redis (kache / foleni) na Postgres (hali). Hii hapa docker-compose.yml inayoendesha yote hayo, na huduma za ndani zikiwekwa mbali na intaneti ya umma:

# /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: {} }

Siri huishi kwenye .env, si faili la compose:

# /opt/agent/.env  (chmod 600, never committed)
ANTHROPIC_API_KEY=sk-ant-...
DB_PASSWORD=a-long-random-string

Ipandishe:

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

Kila huduma ya ndani (Qdrant, Redis, Postgres) hufikika tu kwenye mtandao wa compose kwa jina la huduma — hakuna hata moja iliyochapishwa kwenye intaneti. Wakala huzungumza nazo kupitia mtandao huo binafsi, na hakuna kitu kwenye bandari hizo kinachoelekea dunia.

Maelezo yanayohesabu

  • restart: unless-stopped kwenye kila huduma — hiyo ndiyo hudumu kupitia kuwasha upya au kuanguka. Washa Docker wakati wa kuwasha na stack nzima hurudi yenyewe.
  • Funguo kwenye .env, si YAML. Zirejelee kama vigezo vya env; weka .env kwa chmod 600 na nje ya git. Faili la compose lililovuja lenye ufunguo hai ndilo kosa la kawaida.
  • Usichapishe chochote usichopaswa. Wakala anayeita tu API za modeli na huduma zake mwenyewe hahitaji bandari ya kuingia hata kidogo — hivyo mpango wa NAT unafanya kazi. Ongeza IP maalum tu ikiwa anahudumia webhooks au dashibodi.
  • Pima kwa kumbukumbu, si cores. Wakala wanaotegemea API ni wepesi. Index ya Qdrant ikikua au ukiongeza modeli ya kienyeji, hapo ndipo unapopanda — angalia VPS ya kumbukumbu kubwa kwa wakala.

Sehemu ambayo kweli ni yetu: wakala anaweza kujenga mashine yake mwenyewe

Kwa sababu EQVPS inaonyesha seva ya MCP, wakala anayeendesha stack hii anaweza kujipatia VPS nyingine safi mwenyewe — kuiagiza, kupata root, kuibomoa — akilipa kutoka salio la crypto lililolipwa kabla. Stack ya compose inayohitaji sanduku jipya la mchanga inaweza kupandisha moja bila binadamu katika kitanzi.

Kwa nini EQVPS kwa wakala aliye kwenye Docker

  • Picha safi, root kwa ~sekunde 60. Ubuntu/Debian; docker compose up na stack iko hai.
  • Hakuna KYC, malipo kwa crypto. Barua pepe ya kujisajili, USDC/USDT ya kulipa — hakuna kinachofunga mashine kwa utambulisho wako.
  • NVMe + 1 Gbit/s isiyopimwa, EU (Ujerumani/Ufini). Kuvuta picha na kutuma kumbukumbu hakutazalisha bili ya kushtukiza.

VPS kwa wakala wa AI (muhtasari) → · VPS kwa Docker → · Pangisha hifadhidata ya vekta kwa kumbukumbu ya wakala →

Maswali

Kwa nini kuendesha wakala wa AI kwa Docker Compose badala ya michakato mitupu?

Wakala mara chache huwa mchakato mmoja — ni kitanzi cha wakala pamoja na hifadhi ya vekta, kache na kwa kawaida hifadhidata. Compose huelezea stack nzima kwenye faili moja, huipandisha yote kwa amri moja, huanzisha upya kila kipande kinapoanguka au kuwasha upya, na kuweka huduma za ndani (Postgres, Redis, Qdrant) kwenye mtandao binafsi ili kile tu unachochagua kifunuliwe. Ni njia nadhifu zaidi ya kujipangishia wakala mwenye sehemu zinazotembea.

Stack ya wakala inahitaji mpango gani?

Kwa wakala anayetegemea API (modeli inaendesha kwa mtoa huduma wako) stack ni nyepesi — kitanzi cha wakala, Qdrant, Redis na Postgres hutoshea kwa raha kwenye Small yetu ($8/mwezi) au mpango wa AI-Agent ($10/mwezi, 4 GB). Unahitaji RAM zaidi tu ukishikilia index kubwa ya vekta kwenye kumbukumbu au kuendesha modeli ya kienyeji, ambao ni usanidi tofauti, mzito zaidi.

Naweka wapi funguo za API — kwenye faili la compose?

Hapana. Weka siri kwenye faili la .env (linalopuuzwa na git) na urejelee kama vigezo vya mazingira kwenye compose, au tumia Docker secrets. Kamwe usiweke funguo kwenye docker-compose.yml. Funga huduma za ndani kwenye mtandao wa compose tu; chapisha bandari ya wakala pekee (au hakuna, ikiwa anafanya nyaya za nje tu).

Je, kontena hurudi baada ya kuwasha upya?

Tu ukiziambia. Weka restart: unless-stopped (au always) kwenye kila huduma na washa Docker wakati wa kuwasha; kisha docker compose up -d hudumu kupitia kuwasha upya na kuanguka. Bila sera ya kuanza upya, kontena hubaki limezimwa baada ya seva kuwashwa upya.

Je, mnahitaji KYC au kadi?

Hapana. Barua pepe ya kujisajili, malipo kwa USDC au USDT — hakuna nyaraka, hakuna kadi. Root kwa takribani dakika moja.

Maoni

Bado hakuna maoni. Kuwa wa kwanza.

Acha maoni

Maoni yanakaguliwa kabla ya kuonekana.