Một agent AI hiếm khi là một tiến trình duy nhất. Có bản thân vòng lặp agent, một kho vector cho bộ nhớ, một cache, thường là một cơ sở dữ liệu cho trạng thái, và có thể một bảng điều khiển nhỏ. Chạy từng cái bằng tay — khởi động chúng, khởi động lại sau reboot, nhớ cổng nào là cổng nào — nhanh chóng gây chán. Docker Compose mô tả toàn bộ trong một file và chạy nó bằng một lệnh. Đây là stack sao chép-dán để đặt một agent lên VPS theo cách gọn gàng.
Nếu bạn chỉ muốn phiên bản triển khai-không-Docker, hướng dẫn chạy một agent AI 24/7 thay vào đó bàn về systemd. Trang này là phiên bản container-native.
Stack
Một agent tự lưu trữ điển hình muốn bốn thứ bên cạnh: tiến trình agent, Qdrant (bộ nhớ vector), Redis (cache / hàng đợi) và Postgres (trạng thái). Đây là một docker-compose.yml chạy tất cả những thứ đó, với các dịch vụ nội bộ được giữ khỏi internet công cộng:
# /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: {} }
Bí mật sống trong .env, không phải file compose:
# /opt/agent/.env (chmod 600, never committed)
ANTHROPIC_API_KEY=sk-ant-...
DB_PASSWORD=a-long-random-string
Đưa nó lên:
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
Mỗi dịch vụ nội bộ (Qdrant, Redis, Postgres) chỉ có thể truy cập trên mạng compose bằng tên dịch vụ — không cái nào được publish ra internet. Agent nói chuyện với chúng qua mạng riêng đó, và không gì trên các cổng ấy hướng ra thế giới.
Những chi tiết quan trọng
restart: unless-stoppedtrên mỗi dịch vụ — đó là thứ sống sót qua một reboot hay crash. Bật Docker lúc boot và cả stack tự trở lại.- Khóa trong
.env, không phải YAML. Tham chiếu chúng như biến env; giữ.envởchmod 600và ngoài git. Một file compose bị lộ với khóa còn hiệu lực là lỗi kinh điển. - Đừng publish bất cứ thứ gì không cần. Một agent chỉ gọi API mô hình và các dịch vụ của chính nó không cần cổng vào nào cả — nên một gói NAT là được. Chỉ thêm IP riêng nếu nó phục vụ webhook hoặc một bảng điều khiển.
- Chọn kích thước theo bộ nhớ, không phải lõi. Agent dựa trên API thì nhẹ. Khi chỉ mục Qdrant lớn lên hoặc bạn thêm mô hình cục bộ, đó là lúc bạn nâng lên — xem VPS bộ nhớ cao cho agent.
Phần thực sự là của chúng tôi: agent có thể tự dựng máy của chính nó
Vì EQVPS cung cấp một máy chủ MCP, một agent chạy stack này có thể tự cấp phát một VPS sạch khác — đặt nó, lấy root, dỡ bỏ nó — thanh toán từ một số dư crypto trả trước. Một stack compose cần một sandbox mới có thể dựng lên một cái mà không cần con người trong vòng lặp.
Vì sao chọn EQVPS cho một agent đã Docker hóa
- Image sạch, root trong ~60 giây. Ubuntu/Debian;
docker compose upvà stack hoạt động. - Không KYC, thanh toán bằng crypto. Email để đăng ký, USDC/USDT để trả — không gì buộc máy với danh tính của bạn.
- NVMe + 1 Gbit/s không đo đếm, EU (Đức/Phần Lan). Kéo image và gửi log sẽ không tạo hóa đơn bất ngờ.
VPS cho agent AI (tổng quan) → · VPS cho Docker → · Lưu trữ một cơ sở dữ liệu vector cho bộ nhớ agent →
Bình luận
Chưa có bình luận nào. Hãy là người đầu tiên.