EQVPS

Docker Compose για πράκτορες AI: μια πλήρης self-hosted στοίβα σε ένα VPS

Sep 6, 2026 · 3 λεπτά ανάγνωσης · EQVPS Team

Ένας πράκτορας AI σπάνια είναι μία διεργασία. Υπάρχει ο ίδιος ο βρόχος του πράκτορα, μια αποθήκη διανυσμάτων για μνήμη, μια cache, συνήθως μια βάση δεδομένων για κατάσταση, και ίσως ένα μικρό dashboard. Το να τρέχεις καθένα με το χέρι — να τα ξεκινάς, να τα επανεκκινείς μετά από reboot, να θυμάσαι ποια θύρα είναι ποια — κουράζει γρήγορα. Το Docker Compose περιγράφει όλο το πράγμα σε ένα αρχείο και το τρέχει με μία εντολή. Αυτή είναι η στοίβα copy-paste για να βάλεις έναν πράκτορα σε ένα VPS με τακτικό τρόπο.

Αν θέλεις απλώς την έκδοση deploy-χωρίς-Docker, ο οδηγός τρέξιμο πράκτορα AI 24/7 καλύπτει το systemd αντ' αυτού. Αυτή η σελίδα είναι η container-native έκδοση.

Η στοίβα

Ένας τυπικός self-hosted πράκτορας θέλει τέσσερα πράγματα δίπλα του: τη διεργασία του πράκτορα, το Qdrant (μνήμη διανυσμάτων), το Redis (cache / ουρές) και το 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: {} }

Τα secrets ζουν στο .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 server, ένας πράκτορας που τρέχει αυτή τη στοίβα μπορεί να προμηθεύσει ένα άλλο καθαρό VPS μόνος του — να το παραγγείλει, να πάρει root, να το γκρεμίσει — πληρώνοντας από ένα προπληρωμένο crypto υπόλοιπο. Μια στοίβα compose που χρειάζεται νέο sandbox μπορεί να σηκώσει ένα χωρίς άνθρωπο στον βρόχο.

Γιατί EQVPS για έναν Dockerized πράκτορα

VPS για πράκτορες AI (η επισκόπηση) → · VPS για Docker → · Φιλοξένησε μια βάση διανυσμάτων για τη μνήμη του πράκτορα →

Συχνές ερωτήσεις

Γιατί να τρέχω έναν πράκτορα AI με Docker Compose αντί για γυμνές διεργασίες;

Ένας πράκτορας σπάνια είναι μία μόνο διεργασία — είναι ο βρόχος του πράκτορα συν μια αποθήκη διανυσμάτων, μια cache και συνήθως μια βάση δεδομένων. Το Compose περιγράφει όλη τη στοίβα σε ένα αρχείο, τα σηκώνει όλα με μία εντολή, επανεκκινεί κάθε κομμάτι σε crash ή reboot, και κρατά τις εσωτερικές υπηρεσίες (Postgres, Redis, Qdrant) σε ιδιωτικό δίκτυο ώστε να εκτίθεται μόνο ό,τι επιλέγεις. Είναι ο πιο τακτικός τρόπος να self-host-άρεις έναν πράκτορα με κινούμενα μέρη.

Ποιο πλάνο χρειάζεται μια στοίβα πράκτορα;

Για έναν πράκτορα βασισμένο σε API (το μοντέλο τρέχει στον πάροχό σου) η στοίβα είναι ελαφριά — ο βρόχος του πράκτορα, το Qdrant, το Redis και το Postgres χωρούν άνετα στο Small μας ($8/μήνα) ή στο πλάνο AI-Agent ($10/μήνα, 4 GB). Χρειάζεσαι περισσότερη RAM μόνο αν κρατάς μεγάλο δείκτη διανυσμάτων στη μνήμη ή τρέχεις τοπικό μοντέλο, που είναι διαφορετική, βαρύτερη εγκατάσταση.

Πού βάζω τα κλειδιά API — στο αρχείο compose;

Όχι. Κράτα τα secrets σε ένα αρχείο .env (git-ignored) και αναφέρσου σε αυτά ως μεταβλητές περιβάλλοντος στο compose, ή χρησιμοποίησε Docker secrets. Ποτέ μην κάνεις commit κλειδιά στο docker-compose.yml. Δέσε τις εσωτερικές υπηρεσίες μόνο στο δίκτυο compose· δημοσίευσε μόνο τη θύρα του πράκτορα (ή τίποτα, αν κάνει μόνο εξερχόμενες κλήσεις).

Επανέρχονται τα containers μετά από reboot;

Μόνο αν τους το πεις. Βάλε restart: unless-stopped (ή always) σε κάθε υπηρεσία και ενεργοποίησε το Docker στην εκκίνηση· τότε το docker compose up -d επιβιώνει από reboots και crashes. Χωρίς πολιτική επανεκκίνησης, ένα container μένει κάτω μετά την επανεκκίνηση του διακομιστή.

Ζητάτε KYC ή κάρτα;

Όχι. Ένα email για εγγραφή, πληρωμή σε USDC ή USDT — χωρίς έγγραφα, χωρίς κάρτα. Root σε περίπου ένα λεπτό.

← Πίσω στο BlogΔείτε πακέτα & τιμές →

Σχόλια

Δεν υπάρχουν ακόμη σχόλια. Γίνετε ο πρώτος.

Αφήστε ένα σχόλιο

Τα σχόλια ελέγχονται πριν εμφανιστούν.