गाइड
Docker के साथ सेल्फ-होस्ट करें
कम्युनिटी संस्करण को अपने स्वयं के इन्फ्रास्ट्रक्चर पर चलाएँ।
कम्युनिटी संस्करण (AGPL-3.0) एक संपूर्ण चैट प्लेटफ़ॉर्म है जिसे आप वहाँ कहीं भी चला सकते हैं जहाँ Docker चलता है। एंटरप्राइज़ ऐड-ऑन एक अलग निजी रिपॉज़िटरी में रहते हैं जो लाइसेंस कुंजी से सुरक्षित है।
पूर्वापेक्षाएँ
- Docker 24+ और docker compose v2
- न्यूनतम 2 vCPU, 4 GB RAM (8 GB अनुशंसित)
- आपके सर्वर की ओर इंगित करने वाला एक डोमेन (TLS के लिए)
इंस्टॉल
git clone https://github.com/singlink/singlink
cd singlink
cp .env.example .env
# edit .env: AUTH_SECRET, DATABASE_URL, REDIS_URL, S3_*
docker compose up -dडिफ़ॉल्ट रूप से यह Postgres (pgvector के साथ), Redis, MinIO, web, ws और worker को शुरू करता है। यह सत्यापित करने के लिए कि सभी पाँच कंटेनर स्वस्थ हैं, docker compose ps चलाएँ।
प्रारंभिक सेटअप
docker compose exec web pnpm db:migrate deploy
docker compose exec web pnpm db:seed # optional demo tenantरिवर्स प्रॉक्सी
सामने nginx (या Caddy) रखें। /api/* और /v1/ws दोनों को cookie साझा करने के लिए एक ही ऑरिजिन तक पहुँचना आवश्यक है। WS एंडपॉइंट को upgrade हेडर की आवश्यकता होती है:
location /v1/ws {
proxy_pass http://ws:3001;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 86400s;
}बैकअप
- Postgres — प्रतिदिन
pg_dump; इसमें S3 अटैचमेंट को छोड़कर सब कुछ शामिल है - S3 / MinIO — बकेट वर्ज़निंग का उपयोग करें या
rclone syncसे किसी अन्य रीजन में करें - Redis — अस्थायी (कतारें), किसी बैकअप की आवश्यकता नहीं; रीस्टार्ट पर जॉब्स दोबारा चलते हैं
अपग्रेड
git fetch && git checkout v0.x.y
docker compose pull
docker compose up -d
docker compose exec web pnpm db:migrate deployमाइग्रेशन फ़ॉरवर्ड-कम्पैटिबल हैं; हम किसी मेजर संस्करण वृद्धि के बिना किसी चालू इंस्टेंस को असंगत schema परिवर्तन से नहीं तोड़ेंगे।