رہنمائی
Docker Compose کے ساتھ تعینات کریں
ساتھ فراہم کردہ docker-compose.prod.yml اور install.sh کے ساتھ سنگل ہوسٹ پروڈکشن ڈیپلائمنٹ۔
آپ کے پاس ایک طاقتور سرور ہے اور آپ AskAIs Customer Service کو 10 منٹ میں چلانا چاہتے ہیں؟ یہی راستہ ہے۔ یہ ~500 سے کم بیک وقت آنے والے وزیٹرز کے لیے موزوں ہے؛ بڑے پیمانے کے لیے Kubernetes گائیڈ پر جائیں۔
پیشگی تقاضے
- Docker 24+ اور `docker compose` v2 والا ایک Linux ہوسٹ
- ≥ 2 vCPU، 4 GB RAM (8 GB تجویز کردہ)
- ہوسٹ کی طرف اشارہ کرنے والا ایک ڈومین (Caddy / Cloudflare / nginx کے ذریعے TLS کے لیے)
ایک لائن میں انسٹال
git clone https://github.com/singlink/singlink
cd singlink
APP_DOMAIN=chat.acme.com bash scripts/install.shیہ اسکرپٹ:
- docker + openssl کی جانچ کرتا ہے
- مضبوط رینڈم سیکریٹس کے ساتھ
.env.prodتیار کرتا ہے (موڈ 600) - تین امیجز (web / ws / worker) بناتا ہے
docker compose -f docker-compose.prod.yml up -dکے ساتھ مکمل اسٹیک کو اوپر لاتا ہے- web کنٹینر کے اندر
prisma migrate deployچلاتا ہے
کیا چلتا ہے
- postgres — pgvector PG16
- redis — pub/sub + قطار (پاس ورڈ سے محفوظ)
- minio — منسلکات کے لیے S3 سے مطابقت رکھنے والا اسٹوریج
- web / ws / worker — تین ایپ پروسیسز
- nginx — پورٹ 8080 پر ریورس پراکسی، WS اپ گریڈ کے ساتھ
TLS شامل کرنا
ساتھ فراہم کردہ nginx پورٹ 8080 پر HTTP/1.1 کو ختم کرتا ہے۔ سامنے ایک TLS ختم کرنے والا پراکسی رکھیں:
Caddy (سب سے آسان)
# /etc/caddy/Caddyfile
chat.acme.com {
reverse_proxy localhost:8080
}Cloudflare Tunnel (کوئی ان باؤنڈ پورٹ بالکل نہیں)
cloudflared tunnel create singlink
cloudflared tunnel route dns singlink chat.acme.com
cloudflared tunnel run --url http://localhost:8080 singlinkDay-2 آپریشنز
# Logs
docker compose -f docker-compose.prod.yml logs -f
# Restart everything
docker compose -f docker-compose.prod.yml restart
# Stop (data persists in named volumes)
docker compose -f docker-compose.prod.yml down
# Upgrade
git pull
docker compose -f docker-compose.prod.yml pull
docker compose -f docker-compose.prod.yml up -d --build
docker compose -f docker-compose.prod.yml exec web pnpm db:deploy
# Backups (run from cron daily)
docker compose -f docker-compose.prod.yml exec -T postgres \
pg_dump -U singlink singlink | gzip > /backups/singlink-$(date +%F).sql.gzworker کو اسکیل آؤٹ کرنا
مزید AI worker ریپلیکاز چلائیں (Redis BullMQ تقسیم سنبھالتا ہے):
docker compose -f docker-compose.prod.yml up -d --scale worker=4Kubernetes کی طرف کب جائیں
- آپ کو ہائی اویلیبلٹی postgres / redis چاہیے (مینیجڈ RDS / ElastiCache)
- آپ کو ٹریفک بڑھنے پر آٹو اسکیلنگ چاہیے
- آپ اسے متعدد ریجنز میں چلا رہے ہیں
- آپ کے SLA کے لیے سنگل ہوسٹ کا بند ہونا ناقابل قبول ہے
پھر Kubernetes / Helm پر جائیں۔