−25%

Windows-এর বার্ষিক পেমেন্টে, ৩১ অক্টোবর পর্যন্ত। প্ল্যান দেখুন

EQVPS

BookStack-এর জন্য VPS: নিজে হোস্ট করা টিম উইকি

BookStack-কে VPS-এ টিমের ডকুমেন্টেশন উইকি হিসেবে চালান: MariaDB সহ Docker, নিজের ডোমেইনে HTTPS, প্রথম লগইন, ব্যাকআপ আর আসল প্রয়োজনীয়তা।

টিমের ডকুমেন্টেশন সাধারণত দুভাবে মরে: এমন চ্যাট থ্রেডে ছড়িয়ে থাকে যেখানে কেউ খুঁজতে পারে না, বা এমন আনাড়ি উইকিতে চাপা পড়ে যা কেউ আপডেট করে না। BookStack সেই বিরল নিজে হোস্ট করা উইকি যা মানুষ সত্যিই ব্যবহার করে। কনটেন্ট থাকে তাক, বই, অধ্যায় আর পাতায় — এমন কাঠামো যা সবাই প্রশিক্ষণ ছাড়াই বোঝে। আর এর প্রায় কোনো সার্ভারই লাগে না।

কেন BookStack

এটা সব কাজের সঠিক টুল নয়। যে ডেভেলপার ডকুমেন্টেশন কোডের সাথে বদলাতে হয়, তার জায়গা রিপোজিটরিতে, উইকিতে নয়।

এর কী লাগে

BookStack হালকা। বেশিরভাগ টিমের জন্য Micro-IP — 1 vCPU, 2 GB, মাসে $10 — যথেষ্টর বেশি। ডেডিকেটেড IP-ই সহকর্মীদের আপনার ডোমেইনে HTTPS দিয়ে পৌঁছাতে দেয়। ডিস্ক বাড়ে আপলোড করা স্ক্রিনশট আর PDF দিয়ে, পাতার সংখ্যা দিয়ে নয়।

Docker Compose দিয়ে ইনস্টল

আমরা LinuxServer.io-র জনপ্রিয় ইমেজ ব্যবহার করব। আগে একটা অ্যাপ্লিকেশন কী তৈরি করুন:

docker run -it --rm --entrypoint /bin/bash lscr.io/linuxserver/bookstack:latest appkey

যে base64:... মান ছাপে সেটা কপি করুন। তারপর docker-compose.yml তৈরি করুন:

services:
  bookstack:
    image: lscr.io/linuxserver/bookstack:latest
    environment:
      - PUID=1000
      - PGID=1000
      - APP_URL=https://wiki.example.com
      - APP_KEY=base64:paste-your-key-here
      - DB_HOST=db
      - DB_PORT=3306
      - DB_DATABASE=bookstack
      - DB_USERNAME=bookstack
      - DB_PASSWORD=change-me
    volumes:
      - ./bookstack:/config
    ports:
      - 127.0.0.1:6875:80
    depends_on:
      - db
    restart: unless-stopped
  db:
    image: lscr.io/linuxserver/mariadb:latest
    environment:
      - PUID=1000
      - PGID=1000
      - MYSQL_ROOT_PASSWORD=change-me-too
      - MYSQL_DATABASE=bookstack
      - MYSQL_USER=bookstack
      - MYSQL_PASSWORD=change-me
    volumes:
      - ./db:/config
    restart: unless-stopped
docker compose up -d
docker compose logs -f bookstack

APP_URL মানুষ যে ঠিকানা ব্যবহার করবে তার সাথে মিলতে হবে, https:// সহ। ভুল হলে ছবি আর লিংক অদ্ভুতভাবে ভাঙে। Compose নিয়ে আরও আছে আমাদের স্ট্যাক ডিপ্লয় গাইডে।

HTTPS আর প্রথম লগইন

একটা সাবডোমেইনকে সার্ভারের দিকে নির্দেশ করুন (কীভাবে), 127.0.0.1:6875-এর সামনে nginx বসান আর certbot দিয়ে সার্টিফিকেট যোগ করুন — reverse proxy গাইড ধাপে ধাপে দেখায়।

তারপর ডিফল্ট অ্যাকাউন্ট দিয়ে লগইন করুন: admin@admin.com / password। লিংক শেয়ার করার আগে ইমেইল আর পাসওয়ার্ড সাথে সাথে বদলান। বাকিরা নিজের অ্যাকাউন্ট পান বা আপনার পরিচয় সরবরাহকারী দিয়ে লগইন করেন।

ব্যাকআপ

দুটো জিনিস রক্ষা করতে হবে: ডেটাবেস আর ./bookstack-এর ভেতরের আপলোড। এমন একটা রাতের কাজ ডেটাবেস কভার করে:

docker compose exec -T db mysqldump -u bookstack -pchange-me bookstack > /var/backups/bookstack.sql

তারপর /var/backups আর compose ফোল্ডারের সার্ভারের বাইরে ব্যাকআপ নিন — আমাদের restic গাইড ঠিক এটাই করে। Managed Backups এর ওপর পুরো সার্ভারের দৈনিক রিস্টোর পয়েন্ট যোগ করে।

রক্ষণাবেক্ষণ

আপডেট করা মানে docker compose pull && docker compose up -d। BookStack চালু হওয়ার সময় ডেটাবেস মাইগ্রেশন চালায়। বড় সংস্করণের আগে রিলিজ নোট পড়ুন; সেগুলো ছোট আর পরিষ্কার।

আপনার টিম টিকিট আর কোডের জন্যও জায়গা চাইলে নিজে হোস্ট করা একটা Git সার্ভার একই ধরনের প্ল্যানে এর পাশে ভালো বসে।

স্থাপন করতে প্রস্তুত? ক্রিপ্টোতে পরিশোধ করুন, KYC ছাড়াই — প্রায় এক মিনিটে লাইভ।

এখনই ডেপ্লয় করুন →

সাধারণ প্রশ্ন

BookStack-এর কতটা সার্ভার লাগে?

খুবই কম। BookStack হলো MariaDB ডেটাবেস সহ একটা PHP অ্যাপ; কয়েক ডজন মানুষের টিম 1 vCPU আর 2 GB RAM-এ আরামে চলে। ডিস্ক মূলত আপলোড করা ছবি আর সংযুক্তিতে যায়।

ডিফল্ট লগইন তথ্য কী?

admin@admin.com আর পাসওয়ার্ড 'password'। লগইন করে দুটোই সাথে সাথে বদলান — কারও সাথে URL শেয়ার করার আগে।

এটা কি আমাদের কোম্পানির লগইন ব্যবহার করতে পারে?

হ্যাঁ। BookStack, LDAP, SAML2 আর OpenID Connect সমর্থন করে, তাই সবাই সেই পরিচয় সরবরাহকারী দিয়েই লগইন করে যা আপনারা আগে থেকে ব্যবহার করেন।

আমার কি ডেডিকেটেড IP লাগবে?

টিমের জন্য হ্যাঁ। সহকর্মীরা এটা ব্রাউজারে HTTPS দিয়ে খোলেন, যার জন্য আপনার নিজের IP-তে পোর্ট 443-এর আগত ট্রাফিক লাগে। ব্যক্তিগত নোটবুকের জন্য NAT প্ল্যানে SSH টানেলই যথেষ্ট।

এর ব্যাকআপ কীভাবে নেব?

ডেটাবেসের ডাম্প নিন আর আপলোডের ফোল্ডার কপি করুন, যা মাউন্ট করা কনফিগ ভলিউমে আছে। আমাদের restic গাইড দুটোকেই এনক্রিপ্টেড, সার্ভারের বাইরের স্ন্যাপশটে স্বয়ংক্রিয় করে।

মন্তব্য

এখনো কোনো মন্তব্য নেই। প্রথম হোন।

একটি মন্তব্য দিন

মন্তব্য প্রকাশের আগে মডারেট করা হয়।