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 само ако обслужва webhook-ове или табло.
- Оразмерявай по памет, не по ядра. Агентите, базирани на API, са леки. Когато индексът на Qdrant порасне или добавиш локален модел, тогава качваш нагоре — виж VPS с висока памет за агенти.
Частта, която наистина е наша: агентът може да си построи собствена машина
Тъй като EQVPS предоставя MCP сървър, агент, пускащ този стек, може сам да осигури друг чист VPS — да го поръча, да получи root, да го събори — плащайки от предплатен крипто баланс. Compose стек, който се нуждае от нов sandbox, може да вдигне един без човек в цикъла.
Защо EQVPS за докеризиран агент
- Чисти образи, root за ~60 секунди. Ubuntu/Debian;
docker compose upи стекът е жив. - Без KYC, плащане в крипто. Имейл за регистрация, USDC/USDT за плащане — нищо не свързва машината с твоята самоличност.
- NVMe + неизмерван 1 Gbit/s, ЕС (Германия/Финландия). Тегленето на образи и изпращането на логове няма да породи изненадваща сметка.
VPS за AI агенти (прегледът) → · VPS за Docker → · Хоствай векторна БД за паметта на агента →
Коментари
Още няма коментари. Бъди първият.