رہنمائی
Docker Compose کے ساتھ تعینات کریں
ساتھ فراہم کردہ docker-compose.prod.yml اور install.sh کے ساتھ سنگل ہوسٹ پروڈکشن ڈیپلائمنٹ۔
آپ کے پاس ایک طاقتور سرور ہے اور آپ AskAIs کو 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 پر جائیں۔