Dify VPS पर Docker Compose से कैसे इंस्टॉल करें
Dify को VPS पर चलाने के लिए 4 GB RAM की आवश्यकता है। .env में secrets बदलें और सुरक्षा के लिए /install पर तुरंत admin account बनाएं।
Dify क्या है, और आप इसे चलाने के लिए क्या सेटअप कर रहे हैं
Dify एक self-hostable platform है जिसे large language models पर applications बनाने के लिए इस्तेमाल किया जाता है। आपको chat apps, agents, और retrieval pipelines डिजाइन करने के लिए एक web interface मिलता है, अपने code से उन्हें call करने के लिए एक API मिलता है, और prompts, datasets, और model keys को manage करने के लिए एक जगह मिलती है। यह एक ऐसा tool है जिसे एक छोटी team setup करती है ताकि सभी एक shared private base पर kaam kar sakein, बजाय इसके ki API keys ko alag-alag scripts mein bikhra diya jaye.
इसे khud chalane ka matlab hai kai moving parts ko chalana. Dify Docker containers ke ek set ke roop mein aata hai: ek API server, ek background worker, ek web frontend, ek Postgres database, ek Redis cache, aur ek vector database, jo sab Docker Compose ke saath jude hote hain. Yeh ek single binary se zyada hai, lekin Compose is wiring ko handle kar leta hai, aur kuch GB RAM wala VPS ise aaram se chala sakta hai.
Kyunki Dify aapki model API keys aur aksar retrieval ke liye load ki gayi private documents ko hold karta hai, isliye jis machine par yeh chal raha hai use pehle minute se hi sensitive maanein. Yeh guide ise install karti hai, aur phir ise us tarah se harden karti hai jaise aap kisi bhi aisi service ko karenge jo secrets hold karti hai.
Prerequisites
Aapko Ubuntu 24.04 wala ek VPS chahiye jisme Docker aur Docker Compose plugin installed ho, aur ek user jiske paas sudo ho ya docker group ki membership ho. Agar Docker aapke liye naya hai, toh VPS par Docker Compose ke basics installation aur un core commands ko cover karta hai jinhe yeh guide assume karti hai. Ek domain name jo server par point kiya gaya ho, hona chahiye, kyunki aap Dify ke aage TLS chahenge na ki sirf ek bare IP address.
Step 1: Dify aur uske Compose files prapt karein
Dify apna Docker setup main repository mein rakhta hai. Ise clone karein aur docker directory mein jayein:
git clone https://github.com/langgenius/dify.git
cd dify/docker
cp .env.example .env.env file poori configuration hai. Shuru karne se pehle ise padhein. Sabse mahatvapurn values woh hain jo passwords aur secrets set karti hain: SECRET_KEY, Postgres password, aur Redis password. Example file placeholder values ke saath aati hai, aur unhe waise hi chhod dena self-hosted Dify ke compromise hone ka sabse aam karan hai. Ek real secret key generate karein:
openssl rand -base64 42Ise SECRET_KEY mein paste karein, aur file mein har password field ke liye ek strong, unique value set karein.
Step 2: Ise start karein
Stack ko up karein:
docker compose up -dPehli baar chalne par yeh kai images pull karta hai aur database ko initialize karta hai, isliye ek minute ka samay dein. Check karein ki containers healthy hain:
docker compose psHar service ko running padhna chahiye. Dify by default port 80 par ek bundled nginx container ke zariye apna web interface serve karta hai. http://YOUR_SERVER/install par pehli baar visit karne par aap admin account banate hain. Ise turant karein, isse pehle ki koi aur port tak pahunch sake, kyunki jab tak woh account exist nahi karta, page load karne wala koi bhi use claim kar sakta hai aur aapke instance ka maalik ban sakta hai.
Step 3: Ise raw expose na karein. Aage TLS aur firewall lagayein
Yahi woh jagah hai jahan zyadaatar quick installs ruk jaate hain aur zyadaatar incidents shuru hote hain. Dify ka apna nginx har interface par port 80 par, plain text mein listen karta hai. Aap nahi chahenge ki aapka admin login aur aapki model keys plain HTTP par travel karein, aur aap nahi chahenge ki internal services bahar se reachable hon.
Box ko ek default-deny firewall ke saath lock karein jo sirf SSH aur web traffic ko allow kare:
sudo ufw default deny incoming
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enableYaad rakhein ki ek firewall jo sirf IPv4 ko cover karta hai, woh IPv6 par bhi wahi ports open chhod sakta hai, jo IPv6 firewall gap bahut se self-hosters ke saath hota hai. Confirm karein ki dono stacks filtered hain.
TLS ke liye, sabse saaf rasta yeh hai ki Dify ke web port ko loopback se bind karein aur aage Let's Encrypt certificate ke saath ek reverse proxy chalayein, taaki public internet par sirf HTTPS bolne wala proxy hi rahe. Dify ka .env aapko exposed port badalne deta hai; ise 127.0.0.1 par bind karne ke liye set karein aur apne proxy ko us par point karein. VPS par AI agent ko safely chalane ke agent-hardening ideas yahan bhi laagu hote hain: moving parts ko loopback par rakhein, sirf wahi expose karein jo public hona chahiye, aur ek hardened front door ko TLS bolne dein.
Step 4: Ise patched rakhein
Dify tezi se badhta hai, aur updates mein security fixes shamil hote hain. Update karne ke liye docker directory se pull aur restart karna hota hai:
git pull
docker compose pull
docker compose up -dKisi bade version jump se pehle release notes padhein, kyunki Dify kabhi-kabhi releases ke beech mein .env schema badal deta hai, aur ek naya variable jo aapne set nahi kiya hai, woh container ko start hone se rok sakta hai.
Step 5: Use back up karein jise aap regenerate nahi kar sakte
Dify box par do cheezein irreplaceable hain: Postgres database, jo aapke apps, users, aur settings ko hold karta hai, aur woh volume jo uploaded documents aur vector index ko store karta hai. Dono docker directory mein Docker volumes ke andar hote hain. Inka ek schedule par snapshot lein, aur snapshots ko server se bahar copy karein. Ek model API key ko re-issue kiya ja sakta hai; us app ko nahi jise banane mein aapne ek hafta bitaya hai.
Zyada autonomous, code-running agent ke liye, Agent Zero ko self-host karne ko dekhein, aur VPS par apna AI agent banane mein sabhi ke niche ke foundations cover kiye gaye hain.
FAQ
Dify ko self-host karne ke liye system requirements kya hain?
Dify lagbhag aadhe darjan containers ke ek Docker Compose stack ke roop mein chalta hai, isliye kam se kam 2 GB free RAM wale VPS ki planning karein, ideally 4 GB, saath hi kuch CPU cores aur aapke uploaded documents aur vector index ke liye kaafi disk space. Memory pressure database aur vector store se aata hai, Dify se nahi.
Kya Dify ko seedhe port 80 par expose karna safe hai?
Nahi. Dify ka bundled web server plain HTTP par listen karta hai, aur yeh aapke admin login aur aapki model API keys ko front karta hai. Let's Encrypt certificate ke saath ek reverse proxy aage lagayein, Dify ke apne port ko loopback se bind karein, aur sirf HTTPS proxy ko internet ki taraf face karne dein. Ise ek default-deny firewall ke saath pair karein jo IPv4 aur IPv6 dono ko cover kare.
Main self-hosted Dify ko update kaise karun?
docker directory se, git pull chalayein, phir naye images fetch karne aur restart karne ke liye docker compose pull aur docker compose up -d chalayein. Pehle release notes padhein, kyunki Dify kabhi-kabhi versions ke beech mein naye .env variables add karta hai, aur ek missing variable container ko start hone se rok sakta hai.
Dify install karne ke baad pehla kaam kya karna chahiye?
/install par visit karein aur turant admin account banayein. Jab tak woh account exist nahi karta, koi bhi jo page tak pahunch sakta hai, use claim kar sakta hai. Jaise hi containers healthy ho jayein, use setup karein, aur isse pehle ki aap firewall ko duniya ke liye open karein.