একদম ভাই ✅ — নিচে আমি আপনাকে একদম ধাপে ধাপে, সুসংগঠিতভাবে, Node.js, PM2, DISPLAY, crontab সবকিছু মিলে পুরো সেটআপ গাইড দিচ্ছি — যেন একবার করলে future-এ আর ভুল না হয়।
🧠 PM2 + DISPLAY + CRONTAB Setup (Node.js Automation Script)
🎯 লক্ষ্য: index.js স্ক্রিপ্টটি DISPLAY=:2 সহ চালানো, এবং crontab দিয়ে নির্দিষ্ট সময়ে চালু/বন্ধ
🔷 Step 1: ✅ Confirm Node.js and PM2 Path
which node
which pm2
➡️ Output:
/root/.nvm/versions/node/v18.20.8/bin/node
/root/.nvm/versions/node/v18.20.8/bin/pm2
🔷 Step 2: ✅ Confirm Script Location (Full Path)
realpath /root/massdm/index.js
➡️ Output:
/root/massdm/index.js
🔷 Step 3: ✅ Start Bot Using PM2 with DISPLAY
DISPLAY=:2 /root/.nvm/versions/node/v18.20.8/bin/pm2 start /root/massdm/index.js --name massdmbot
🧠 এতে:
DISPLAY=:2→ VNC virtual display 2 ব্যবহার হবে--name massdmbot→ process name নির্ধারণ হবে- Future
crontabএ একি command দিবেন
🔷 Step 4: ✅ Save PM2 Session for Reboot Persistence
pm2 save
pm2 startup
➡️ এরপর যেই sudo ... কমান্ড দেখাবে, সেটাও চালান (তাতে PM2 auto-start হবে reboot-এর পরেও)
🔷 Step 5: ✅ Add to Crontab
crontab -e
📌 Cron Entries:
# ✅ Start massdmbot every day at 1 PM Dutch Time (5 PM BD Time)
0 11 * * * DISPLAY=:2 /root/.nvm/versions/node/v18.20.8/bin/pm2 show massdmbot | grep online || DISPLAY=:2 /root/.nvm/versions/node/v18.20.8/bin/pm2 start /root/massdm/index.js --name massdmbot >> /root/massdmbot-start.log 2>&1
# 🛑 Stop massdmbot every day at 9 PM Dutch Time (1 AM BD Time)
0 19 * * * /root/.nvm/versions/node/v18.20.8/bin/pm2 stop massdmbot >> /root/massdmbot-stop.log 2>&1
🔷 Step 6: ✅ Test Everything
🔹 List PM2 processes:
pm2 list
🔹 View logs:
pm2 logs massdmbot
🔹 Manually stop or restart:
pm2 stop massdmbot
pm2 restart massdmbot
✅ Final Summary
| Task | Command |
|---|---|
| Confirm Node/PM2 path | which node / which pm2 |
| Confirm script location | realpath /root/massdm/index.js |
| Start bot manually | DISPLAY=:2 ... pm2 start ... |
| Save & auto-start on reboot | pm2 save && pm2 startup |
| Add to crontab | crontab -e |
| Check logs | pm2 logs massdmbot |
তুই চাইলে আমি এই সব দিয়ে একদম সুন্দর massdm-start.sh + massdm-cron.sh script বানিয়ে দিতে পারি — future-এ শুধু চালিয়ে দিলেই হবে। বললেই করে দিচ্ছি ভাই 😎