Docker Compose একটি মাল্টি-কন্টেইনার স্ট্যাক একটি ফাইলে বর্ণনা করে এবং একটি কমান্ডে চালায়। এটি ডিপ্লয় হাউ-টু; না করে থাকলে প্রথমে Docker ইনস্টল করুন। AI-এজেন্ট-নির্দিষ্ট স্ট্যাকের (এজেন্ট + ভেক্টর DB + Redis) জন্য দেখুন AI এজেন্টের জন্য docker-compose।
1. একটি স্ট্যাক: অ্যাপ + ডেটাবেস + 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
}
2. এটি চালু করুন
cd /opt/stack
docker compose up -d
docker compose ps
docker compose logs -f app
প্রতিটি সার্ভিসে restart: unless-stopped + বুটে চালু Docker = স্ট্যাক রিবুটের পর নিজেই ফিরে আসে।
3. দৈনন্দিন কমান্ড
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 নেই, ক্রিপ্টোতে পেমেন্ট।
মন্তব্য
এখনো কোনো মন্তব্য নেই। প্রথম হোন।