CSUBOT একটি ওপেন সোর্স সুপার অ্যাডমিন রোবট।

এই নিবন্ধটি CSUBOT নিজে থেকে স্থাপন করার বিষয়ে।

অনুগ্রহ করে এই ডকুমেন্টটি সম্পূর্ণভাবে পড়ুন: CSUBOT রোবট ব্যবহারের নির্দেশাবলী

সুপারিশ করা হচ্ছে: বিভিন্ন ওয়েবসাইটে আপনার মেশিনের পাবলিক IP ঠিকানা দেখুন, বর্তমান নেটওয়ার্ক পরিবেশ পরীক্ষা করার জন্য।

পূর্বশর্ত

CSUBOT নিজে থেকে স্থাপন করতে, অন্তত নিম্নলিখিত শর্তগুলি পূরণ করতে হবে:

  • একটি ডোমেইন থাকতে হবে। (অন্তত একটি সেকেন্ড-লেভেল ডোমেইন থাকতে হবে, ব্যাকএন্ডের জন্য। আসলে ফ্রন্টএন্ড এবং ব্যাকএন্ডের জন্য দুটি সেকেন্ড-লেভেল ডোমেইন প্রয়োজন, তবে সাধারণত ফ্রন্টএন্ড ডোমেইন স্থাপনার প্ল্যাটফর্ম দ্বারা সরবরাহ করা যেতে পারে)
  • একটি সার্ভার থাকতে হবে। অথবা এমন একটি প্ল্যাটফর্মে স্থাপন করতে হবে যেখানে ব্যাকএন্ড পরিষেবা স্থাপন করা যায়। আপনি যদি এমন একটি বিনামূল্যের প্ল্যাটফর্ম জানেন যেখানে ব্যাকএন্ড পরিষেবা স্থাপন করা যায়, তাহলে দ্বিধা করবেন না, এখানে ক্লিক করুন এবং লেখককে জানাতে একটি মন্তব্য পোস্ট করুন
  • একটি সীমাবদ্ধতাহীন টেলিগ্রাম অ্যাকাউন্ট থাকতে হবে, টেলিগ্রাম রোবট তৈরি করতে এবং রোবটের টোকেন পেতে।
  • একটি সীমাবদ্ধতাহীন Cloudflare অ্যাকাউন্ট থাকতে হবে, Cloudflare টার্নস্টাইল ক্যাপচা সক্ষম করার জন্য। অ্যাকাউন্ট নিবন্ধন করুন: https://dash.cloudflare.com/

কর্মপদ্ধতি

  1. Cloudflare টার্নস্টাইল সক্ষম করুন
  2. ফ্রন্টএন্ড স্থাপন করুন
  3. টেলিগ্রাম রোবট তৈরি করুন
  4. ব্যাকএন্ড কনফিগার করুন

Cloudflare টার্নস্টাইল সক্ষম করুন

এই লিঙ্কে ক্লিক করুন এবং Cloudflare টার্নস্টাইল কনফিগারেশন প্যানেল খুলুন টার্নস্টাইল কম্পোনেন্ট কনফিগারেশন

একটি টার্নস্টাইল উইজেট যোগ করতে add widget-এ ক্লিক করুন

ফ্রন্টএন্ডের ডোমেইন যোগ করতে Add Hostnames এ ক্লিক করুন। আপনি যদি ফ্রন্টএন্ড হোস্টিং প্ল্যাটফর্ম দ্বারা প্রদত্ত ডোমেইন ব্যবহার করতে চান, তাহলে আপনি এখানে যা খুশি লিখতে পারেন।

ক্রিয়েট বোতামে ক্লিক করুন, তারপর আপনি সাইট কী এবং সিক্রেট কী দেখতে পাবেন

ফ্রন্টএন্ড স্থাপন করুন

আমরা একটি ফ্রন্টএন্ড হোস্টিং প্ল্যাটফর্মে স্থাপনের উদাহরণ দিচ্ছি।

  1. https://github.com/cjh0613/csubot-vue খুলুন, এই রিপোজিটরি ফর্ক করুন
  2. স্থাপনার জন্য প্ল্যাটফর্ম নির্বাচন করুন, যেমন Cloudflare Pages, Vercel, Netlify ইত্যাদি।
  3. Github রিপোজিটরি থেকে আমদানি করতে নির্বাচন করুন, প্রথম ধাপে ফর্ক করা রিপোজিটরিটি নির্বাচন করুন।

ওয়ার্কিং পাথ প্রোজেক্টের রুট ডিরেক্টরিতে কনফিগার করা হয়েছে, বিল্ড কমান্ড হল:

npm install && npm run build

আউটপুট ডিরেক্টরি হল:

dist/

পরিবেশের পরিবর্তনশীল কনফিগার করুন:

VITE_ENDPOINT=https://xxxx.com <ব্যাকএন্ড URL, https প্রয়োজন>

VITE_SITEKEY=0x4AAAAAABBBBBBBBBBB <Cloudflare turnstile সাইট কী (উপরের দিকে)>
  1. স্থাপন শুরু করুন, সম্পূর্ণ হওয়ার পরে আপনি প্ল্যাটফর্ম দ্বারা প্রদত্ত ডোমেইন দেখতে পাবেন। আপনি আপনার নিজস্ব ডোমেইনও বাঁধতে পারেন। DNS কনফিগারেশন এবং শংসাপত্র তৈরির জন্য অপেক্ষা করতে হবে।

টেলিগ্রাম রোবট তৈরি করুন

https://t.me/BotFather এ ব্যক্তিগত বার্তা পাঠান, /newbot পাঠান, রোবটের প্রম্পট অনুযায়ী একটি নতুন রোবট তৈরি করুন, তৈরি সম্পন্ন হওয়ার পরে আপনি একটি টোকেন পাবেন

ব্যাকএন্ড কনফিগার করুন

আপনি সরাসরি বাইনারি এক্সিকিউটেবল ফাইল চালাতে বা নিজে কম্পাইল করতে পারেন।

পরিবেশের পরিবর্তনশীল রেফারেন্স

TGWD_TOKEN=<Telegram রোবটের টোকেন, @botfather থেকে পাওয়া>
TGWD_FRONTEND_DOMAIN=<ফ্রন্টএন্ড ডোমেইন, https এর প্রয়োজন নেই>
TGWD_SECRET=<যেকোনো কিছু পূরণ করুন>
TGWD_PORT=8000
TGWD_CFTS_API_KEY=<Cloudflare turnstile এর সিক্রেট কী (সাইট কী-এর নিচেরটি)>

বাইনারি এক্সিকিউটেবল ফাইল ব্যবহার করুন

আমরা একটি লিনাক্স amd64 অপারেটিং সিস্টেমের উদাহরণ দিচ্ছি।

প্রথমে একটি নতুন ফোল্ডার তৈরি করুন।

mkdir csubot && cd csubot

বাইনারি এক্সিকিউটেবল ফাইল ডাউনলোড করুন। এখানে ডাউনলোড লিঙ্কটি খুলুন https://github.com/cjh0613/csubot/releases সর্বশেষ লিঙ্কটি পেতে, আপনার প্ল্যাটফর্মের জন্য উপযুক্ত ফাইল খুঁজে পেতে Show all assets-এ ক্লিক করতে হতে পারে।

wget https://github.com/cjh0613/csubot/releases/download/vxxx/csubot-linux-amd64.zip

যেহেতু এটি একটি zip ফরম্যাটের কম্প্রেসড ফাইল, তাই আনজিপ করুন:

unzip csubot-linux-amd64.zip

যদি এই কমান্ডটি চালানো না যায়, তবে নিশ্চিত করুন যে unzip প্যাকেজটি সফলভাবে ইনস্টল করা হয়েছে।

csubot যেখানে আছে সেই ডিরেক্টরিতে প্রবেশ করুন,

নিম্নলিখিত কমান্ডটি ব্যবহার করে, আপনি লুকানো .env.example ফাইলটি দেখতে পারেন।

ls -la

আপনার টেক্সট এডিটর (যেমন nano, vim) ব্যবহার করে একটি নতুন ফাইল .env তৈরি করুন, উদাহরণ ফাইল .env.example থেকে রেফারেন্স নিয়ে কনফিগার করুন।

চালানোর চেষ্টা করুন:

export $(grep -v '^#' .env | xargs) && ./csubot

নিজে কম্পাইল করুন

প্রোজেক্টের রুট ডিরেক্টরিতে কমান্ড চালান:

go build -o csubot

চালানোর চেষ্টা করুন:

export $(grep -v '^#' .env | xargs) && ./csubot

HTTPS

ব্যাকএন্ড সরাসরি https সমর্থন প্রদান করে না, শুধুমাত্র http অ্যাক্সেস করা যাবে।

আপনি Apache, Nginx, Microsoft Internet Information Services (IIS) ইত্যাদি পরিষেবা ব্যবহার করে HTTPS কনফিগার করতে পারেন।

আপনি যদি Cloudflare CDN ব্যবহার করেন, তাহলে আপনি SSL/TLS এনক্রিপশনে এনক্রিপশন মোড Flexible এ সেট করতে পারেন। এভাবে ব্যবহারকারীরা Cloudflare সার্ভার অ্যাক্সেস করার সময় Cloudflare স্বয়ংক্রিয়ভাবে কনফিগার করা https প্রোটোকল ব্যবহার করে, এবং তারপর Cloudflare আপনার কনফিগার করা ব্যাকএন্ড পরিষেবা সার্ভার অ্যাক্সেস করার সময় http প্রোটোকল ব্যবহার করে।

systemd পরিষেবা হিসাবে চালান

sudo mkdir /usr/local/bin/csubot/
sudo cp .env /usr/local/bin/csubot/.env
sudo cp csubot /usr/local/bin/csubot/csubot
sudo cp -r ./locales /usr/local/bin/csubot/locales

পরিষেবা ব্যবহারকারী তৈরি করুন

sudo useradd --system --no-create-home --shell /sbin/nologin csubotuser

অনুমতি কনফিগার করুন

sudo chown csubotuser:csubotuser /usr/local/bin/csubot/csubot
sudo setfacl -R -m u:csubotuser:r /usr/local/bin/csubot
sudo chmod +x /usr/local/bin/csubot/csubot

/etc/systemd/system/csubot.service তৈরি এবং সম্পাদনা করুন, লিখুন

[Unit]
Description=CSUBOT Backend
After=network-online.target
Wants=network-online.target

[Install]
WantedBy=multi-user.target

[Service]
Type=simple
User=csubotuser
Group=csubotuser
ExecStart=/usr/local/bin/csubot/csubot
WorkingDirectory=/usr/local/bin/csubot
RestartSec=10s
Restart=always
# Restart=on-failure

# পরিবেশের পরিবর্তনশীল ফাইল লোড করুন
EnvironmentFile=/usr/local/bin/csubot/.env
# পরিষেবা শুরু করুন
sudo systemctl start csubot.service

# চলমান অবস্থা দেখুন
sudo systemctl status csubot.service

# বুটে শুরু করার জন্য সেট করুন
sudo systemctl enable csubot.service

এই ওয়েবপেজের অন্যান্য সংস্করণ

এই নিবন্ধটির বিভিন্ন ভাষার সংস্করণ রয়েছে।

আপনি যদি মন্তব্য করতে চান তবে নিম্নলিখিত ওয়েবপেজগুলিতে যান:

ZH EN ZH-TW JA

এই ওয়েবপেজগুলি শুধুমাত্র দেখার জন্য উপলব্ধ, মন্তব্য বা বার্তা পোস্ট করার জন্য নয়, তবে আরও ভাষার বিকল্প সরবরাহ করে এবং লোড হতে কম সময় নেয়:

ZH EN ZH-TW JA RU KO CS ES AR FR PT DE TR IT NL SV DA FI PL UK HE RO HU EL HR TH HI BN ID SW VI NO