Skip to content

Installation

এতক্ষণ আমরা অনেক থিওরি নিয়ে আলাপ করলাম। থিওরি আসলে অনেকটা রেসিপি পড়ার মতো। কিন্তু যতক্ষণ না আপনি রান্নাঘরে যাচ্ছেন, ততক্ষণ আসল স্বাদটা বোঝা যাবে না। এবার আমাদের হাতে-কলমে কাজ শুরু করার সময়। এই চ্যাপ্টারে আমরা শিখব কীভাবে Nautobot ৩.০ ইনস্টল করতে হয়। পুরো প্রসেসটা আমরা এমনভাবে দেখব যাতে এই চ্যাপ্টার শেষ করার পর আপনার নিজের একটা নটোবট ইনস্ট্যান্স একদম রেডি থাকে। SkyNet Bangladesh একটা দ্রুত বর্ধনশীল ISP। ঢাকা নর্থ জোনে তাদের নেটওয়ার্ক। বর্তমানে মিরপুর এবং উত্তরায় দুটো পপ, প্রায় ৫ হাজার কাস্টমার। তারা সিদ্ধান্ত নিয়েছে এক্সেল শিট এবং হাতে আঁকা ডায়াগ্রাম ছেড়ে একটা প্রপার Network Source of Truth সিস্টেম বানাবে। তাদের লক্ষ্য পরের দুই বছরে ৫০ হাজার কাস্টমারে পৌঁছানো, আর তারপর ১ লক্ষ। এজন্য দরকার একটা শক্ত ফাউন্ডেশন। সেই ফাউন্ডেশনের নাম Nautobot 3.0।

আপনার প্রথম Nautobot ইনস্ট্যান্স: আধুনিক নেটওয়ার্কের নতুন ভিত্তি (ভার্সন ৩.x)

নটোবট ইনস্টল করার আগে আপনাকে একটা সিদ্ধান্ত নিতে হবে—আপনি কোন রাস্তায় হাঁটবেন? দুটো মেইন রাস্তা আছে। প্রথমটা হলো সরাসরি অপারেটিং সিস্টেমে ইনস্টল করা, যেটাকে আমরা 'বেয়ার মেটাল' বা ট্র্যাডিশনাল পদ্ধতি বলি। দ্বিতীয়টা হলো 'ডকার' (Docker) ইউজ করা।

আমার পার্সোনাল সাজেশন হলো, আপনি চোখ বন্ধ করে ডকার দিয়ে শুরু করুন। কেন জানেন? কারণ ডকার আপনার লাইফ অনেক সহজ করে দেবে। এটা অনেক ফাস্ট আর কোনো ঝামেলা নেই। ১০ মিনিটে আপনি নটোবট চালু করে ফেলতে পারবেন। তাছাড়া ডকার ইউজ করলে আপনার মেইন সার্ভারের সিস্টেম একদম ক্লিন থাকে, কোনো ডিপেন্ডেন্সি নিয়ে মারামারি করতে হয় না। যারা ডকারে একটু ভয় পান, তাদের জন্য আমি ট্র্যাডিশনাল পদ্ধতিটাও অনলাইনে রেখেছি।

সিস্টেম রিকয়ারমেন্ট - কী কী লাগবে?

প্রথমে দেখে নিই আপনার কী কী দরকার। ছোট কোনো আইএসপি-র জন্য (৫ হাজার গ্রাহক পর্যন্ত) একটা মিডিয়াম সাইজ সার্ভার দিলেই কাজ চলে যাবে। তবে আমরা যেহেতু ১ মিলিয়ন গ্রাহকের স্বপ্ন দেখছি, তাই একটু ভালো কনফিগারের সার্ভার নেওয়াই বুদ্ধিমানের কাজ।

মিনিমাম রিকয়ারমেন্ট:

  • CPU: ৪ কোর (Intel/AMD x86_64)
  • RAM: ৮ GB (কম হলেও চলে, কিন্তু আমরা রিস্ক নেব না)
  • Storage: ৫০ GB SSD (ফাস্ট স্টোরেজ হলে পারফরম্যান্স সলিড হবে)
  • OS: Ubuntu 22.04 LTS অথবা আধুনিক Ubuntu 24.04 LTS

আমি রেকমেন্ড করব উবুন্টু (Ubuntu) ব্যবহার করতে। কারণ নটোবটের সাপোর্ট উবুন্টু-তে সবচেয়ে ভালো। মনে রাখবেন, নটোবট একা চলে না; এর সাথে পোস্টগ্রেস (PostgreSQL) ডাটাবেস, রেডিস (Redis) ক্যাশ আর সেলারি (Celery) ওয়ার্কার থাকে। এই সব মিলে একটা বড় ‘সিস্টেম’, তাই একটু ভালো সার্ভার নেওয়া আপনার জন্য একটা গ্রেট ইনভেস্টমেন্ট।


ডকার (Docker) দিয়ে ইনস্টলেশন - সবচেয়ে সহজ পথ

উবুন্টু ২৪.০৪ এলটিএস (LTS) সার্ভার হাতে থাকলে চলুন শুরু করা যাক।

স্টেপ ১: সার্ভার রেডি করা

প্রথমে আপনার সার্ভারে SSH করে লগইন করুন। তারপর সিস্টেমটা একবার ফ্রেশ করে আপডেট করে নিন:

sudo apt update && sudo apt upgrade -y

আপডেট শেষ হলে প্রয়োজনীয় কিছু ‘টুলস’ ইনস্টল করে নিন:

sudo apt install -y curl git vim

স্টেপ ২: ডকার ইনস্টল করা

উবুন্টুতে ডকার ইনস্টল করা এখন এক মিনিটের কাজ। নিচের কমান্ডগুলো জাস্ট কপি-পেস্ট করুন:

# ডকারের অফিশিয়াল চাবি (GPG key) যুক্ত করা
sudo apt install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# রিপোজিটরি সেটআপ
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# ডকার ইঞ্জিন ইনস্টল
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

ইনস্টল শেষ হলে একবার চেক করে নিন সবকিছু ঠিক আছে কি না: docker compose version

স্টেপ ৩: Nautobot ৩.০ ডাউনলোড করা

নটোবট ৩-এর জন্য আমরা অফিসিয়াল ডকার ফাইলগুলো গিটহাব থেকে ক্লোন করে নেব।

mkdir -p ~/nautobot && cd ~/nautobot
git clone https://github.com/nautobot/nautobot-docker-compose.git .

স্টেপ ৪: এনভায়রনমেন্ট কনফিগ করা

এখানে একটা গুরুত্বপূর্ণ ফাইল আছে—.env। এটা আপনার সিস্টেমের সিক্রেট চাবি। উদাহরণ ফাইল থেকে মেইন ফাইলটা কপি করে নিন:

cp .env.example .env
vim .env

এই ফাইলে নিচের প্যারামিটারগুলো চেঞ্জ করতে হবে:

# Nautobot ভার্সন ৩ সেট করুন
NAUTOBOT_VERSION=3.0.0

# সুপার ইউজার ডিটেইলস (প্রথমবার লগইনের জন্য)
NAUTOBOT_CREATE_SUPERUSER=true
NAUTOBOT_SUPERUSER_USERNAME=admin
NAUTOBOT_SUPERUSER_PASSWORD=YourStrongPassword123!

# ডাটাবেসের পাসওয়ার্ড
POSTGRES_PASSWORD=SetAComplexPasswordHere

পাসওয়ার্ডগুলো সবসময় একটু স্ট্রং দেবেন। একটা আনএক্সপেক্টেড সিকিউরিটি ইস্যু আপনার পুরো মেহনত মাটি করে দিতে পারে।

স্টেপ ৫: নটোবট লাইভ করা

সবকিছু রেডি। এবার জাদুর কমান্ড দেওয়ার পালা:

docker compose up -d

প্রথমবার রান করলে নটোবট তার সব ইমেজ ডাউনলোড করবে। এটা একটু টাইম নিতে পারে, আপনি চাইলে এক কাপ চা খেয়ে আসতে পারেন। যখন দেখবেন স্ক্রিনে সব 'Started' দেখাচ্ছে, বুঝবেন আপনার মিশন সাকসেসফুল!

এবার ব্রাউজারে গিয়ে টাইপ করুন: http://your-server-ip:8080 আপনার সামনে ভেসে উঠবে নটোবট ৩-এর সেই চমৎকার ইন্টারফেস।


প্রোডাকশন রেডি হতে কিছু জরুরি লেসন

আপনি তো আর শখের বসে নটোবট বানাচ্ছেন না, ১ মিলিয়ন কাস্টমার সামলানো আপনার গোল। তাই প্রোডাকশনে যাওয়ার আগে কিছু জিনিস আপনাকে খেয়াল রাখতেই হবে:

  1. SSL (HTTPS) মাস্ট: আপনার ডোমেইন বা আইপি-তে অবশ্যই এসএসএল সার্টিফিকেট সেটআপ করবেন। এনজিনেক্স (Nginx) রিভার্স প্রক্সি হিসেবে ইউজ করা সবচেয়ে বেস্ট।
  2. ব্যাকআপ: ডাটাবেস ব্যাকআপ ছাড়া নেটওয়ার্ক অটোমেশন ভাবাও পাপ। নিয়মিত ডাটাবেস ডাম্প নিয়ে আলাদা সার্ভারে রাখার প্রসেসটা অটোমেট করে ফেলুন।
  3. মনিটরিং: নটোবট কি হেলদি আছে? ডাটাবেস কি স্লো হয়ে যাচ্ছে? এগুলো মনিটর করার জন্য প্রোমিথিউস (Prometheus) বা গ্রাফানা (Grafana) ইউজ করতে পারেন।

আপনার নটোবট ইনস্ট্যান্স এখন রেডি। পরের চ্যাপ্টারে আমরা দেখব এই নটোবটের ভেতর কীভাবে আপনার নেটওয়ার্কের ‘ডেটা মডেল’ সেটআপ করবেন।