Docker Compose یو څو-کانټینر سټیک په یو فایل کې تشریح کوي او په یو کمانډ سره یې چلوي. دا د ځای پرځای کولو how-to دی؛ که مو نه وي کړي لومړی Docker نصب کړئ. د AI-اجنټ-ځانګړي سټیک لپاره (اجنټ + vector DB + Redis) د AI اجنټانو لپاره docker-compose وګورئ.
۱. یو سټیک: اپ + ډیټابیس + reverse proxy
# /opt/stack/docker-compose.yml
services:
app:
image: your/app:latest
restart: unless-stopped
env_file: [.env]
depends_on: [db]
# no ports: — reached only through the proxy below
db:
image: postgres:16-alpine
restart: unless-stopped
environment:
POSTGRES_PASSWORD: ${DB_PASSWORD}
volumes: ["pg:/var/lib/postgresql/data"] # internal only
caddy: # HTTPS automatically
image: caddy:2
restart: unless-stopped
ports: ["80:80", "443:443"] # the only public entrypoint
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- caddy_data:/data
volumes: { pg: {}, caddy_data: {} }
پټ معلومات په .env کې ژوند کوي، هیڅکله د compose فایل کې نه:
# /opt/stack/.env (chmod 600, git-ignored)
DB_PASSWORD=a-long-random-string
یو لږترلږه Caddyfile ستاسو ډومین اپ ته پروکسي کوي او HTTPS پخپله راوړي:
app.yourdomain.com {
reverse_proxy app:8080
}
۲. پورته یې کړئ
cd /opt/stack
docker compose up -d
docker compose ps
docker compose logs -f app
په هره خدمت کې restart: unless-stopped + په بوټ کې فعال Docker = سټیک له بیا-پیلولو وروسته پخپله بیرته راځي.
۳. ورځني کمانډونه
docker compose pull && docker compose up -d # update images
docker compose down # stop the stack
docker compose restart app # restart one service
هغه برخه چې خلک یې غلطوي: څرګند شوي پورټونه
Docker پورټونه د iptables له لارې خپروي، نو د ports: ["5432:5432"] لرونکی کانټینر د هغه UFW فایروال شاته هم چې تاسو یې بند ګڼئ له انټرنیټ څخه د لاسرسي وړ دی. یوازې عامه ننوتلو ټکی خپور کړئ (په 80/443 کې پروکسي)؛ ډیټابیسونه او کیش د compose شبکې کې یا 127.0.0.1 سره تړل شوي وساتئ. هر هغه څه چې د ویب ترافیک خدمت کوي ځانګړي-IP پلان ته اړتیا لري؛ د یو UFW فایروال سره یې جوړه کړئ.
د یو IP شاته د بشپړ سټیک لپاره ډیری خدمات پخپله کوربه توب وګورئ. نږدې په یوه دقیقه کې root، NVMe، بې له KYC، په کریپټو تادیه.
تبصرې
لا تبصرې نشته. لومړی اوسئ.