Bento: এক ফাইলে অফিস স্যুট, ছোট VPS-এ কেমন চলে
Bento MIT লাইসেন্সের একটি অফিস স্যুট, যা মাত্র 571 KB-এর এক HTML ফাইলে চলে। ছোট VPS-এ এর সুবিধা ও Nextcloud-এর তুলনায় সীমাবদ্ধতা জানুন।
Bento কী
Bento একটি অফিস স্যুট, যা একটি একক HTML ফাইল হিসেবে প্রকাশিত হয়। আপনি একটি ফাইল ডাউনলোড করে যেকোনো আধুনিক ব্রাউজারে খুলবেন। ওই ফাইলটিই এডিটর এবং ডকুমেন্ট—দুটির কাজ করে। কোনো ইনস্টলার বা অ্যাকাউন্টের প্রয়োজন নেই। এটি MIT লাইসেন্সের অধীনে প্রকাশিত, সোর্স কোড আছে github.com/nyblnet/bento-এ, এবং প্রথম রিলিজ প্রকাশিত হয়েছিল 21 July 2026-এ। 1 August 2026-এ লিখলে, এর বয়স দুই সপ্তাহেরও কম। এই পোস্টের সবচেয়ে গুরুত্বপূর্ণ তথ্য এটিই। এ কারণেই শেষ অংশটি মাইগ্রেশনের বদলে মূল্যায়ন নিয়ে।
“একটি ফাইলে থাকে” কথাটির প্রকৃত অর্থ
স্ব-হোস্ট করা অফিস স্যুট সাধারণত একটি স্ট্যাক। Nextcloud হলো একটি web server-এর পেছনে চলা PHP অ্যাপ্লিকেশন, যার সঙ্গে থাকে একটি database, একটি cache এবং একটি background job runner। এর পাশাপাশি editor হিসেবে আরও একটি service থাকে—Collabora Online অথবা ONLYOFFICE Docs। এটি সাধারণত নিজস্ব container-এ চলে এবং browser HTTP-এর মাধ্যমে এর সঙ্গে যোগাযোগ করে। Document একটি filesystem এবং একটি database row-এ থাকে, আর editing session editor service-এর ভেতরে থাকে।
Bento এই স্ট্যাক সরিয়ে দেয়। Download হলো Bento_Slides.bento.html, এবং release v1.0.11 (27 July 2026)-এ এর আকার প্রায় 571 KB। ওই একটিমাত্র file-এর মধ্যে থাকে:
- editor, যা viewer হিসেবেও কাজ করে
- presentation runtime, যা deck-কে full screen-এ দেখায়
- deck-এ ব্যবহৃত fonts এবং images, embedded অবস্থায়
- document নিজেই, file-এর উপরের দিকে একটি পাঠযোগ্য JSON block হিসেবে
Saving প্রক্রিয়াটিই অস্বাভাবিক। File নিজস্ব data block পুনরায় লেখে। Page, File System Access API-এর মাধ্যমে browser-এর কাছে write access চায়। এটি একটি browser interface, যার সাহায্যে page ব্যবহারকারী নির্বাচিত file-এ আবার লিখতে পারে। যে browser-এ এই API নেই, সেখানে পরিবর্তে download পাওয়া যায়। একটি deck সম্পাদনা করলে একই self-contained file-এর একটি নতুন copy তৈরি হয়। কিছু upload করা হয় না, কারণ upload করার মতো কোনো server-side গন্তব্য নেই।
“একটি file” কথাটি শুনলে মানুষ যে বিষয়টি ভুল বোঝে, সেটিই এখানে গুরুত্বপূর্ণ। এর অর্থ নয় যে আপনার VPS-এ একটি server binary একক process হিসেবে অফিস স্যুট চালাচ্ছে। কোনো process-ই নেই। Runtime হলো browser। তাই VPS ব্যবহার করলে সেটি শুধু একটি static file serve করে, আর কিছু নয়।
Bento office suite-এ বর্তমানে যা প্রকাশিত হয়েছে
"Office suite" প্রকল্পটির লক্ষ্য, বর্তমান উপাদানসমূহের সম্পূর্ণ তালিকা নয়। বর্তমানে একটি অ্যাপ্লিকেশন রয়েছে: bento/slides, যা একটি presentation editor। Roadmap-এ notes-এর জন্য bento/spaces, sheets ও tables-এর জন্য bento/dash, এবং bento/vault-এর নাম রয়েছে। প্রতিটি নিজস্ব স্বয়ংসম্পূর্ণ .bento.html file হিসেবে পরিকল্পিত। আপনার আজ word processor বা spreadsheet প্রয়োজন হলে Bento-তে তা নেই।
Release-এর গতি বেশি। 21 July 2026-এ v1.0.6 ছিল প্রথম shipping build, এবং 27 July 2026-এ v1.0.11 প্রকাশিত হয়—সাত দিনে ছয়টি release। এটি maintainers সম্পর্কে একটি ইতিবাচক লক্ষণ, তবে software সম্পর্কে সতর্কবার্তাও। এত দ্রুত পরিবর্তনশীল software এখনও তার bug শনাক্ত করছে। Release notes-ও তা দেখায়: বড় text-এর কারণে live collaboration crash হওয়া, saved files-এ stylesheet duplication, এবং negative values-এর ক্ষেত্রে chart baseline-সংক্রান্ত সমস্যার সমাধান।
ছোট VPS-এর জন্য কেন একটি ফাইলই উপযুক্ত
একটি ডেক প্রকাশ করার অর্থ হলো এমন একটি ডিরেক্টরিতে একটি ফাইল কপি করা, যা আপনার web server ইতিমধ্যেই পরিবেশন করে। কিছু সমন্বয় করার নেই, চালু রাখার জন্য কোনো container নেই, upgrade-এর সময় migrate করার কোনো database নেই। প্রতিটি vendor-এর প্রকাশিত ন্যূনতম প্রয়োজনীয়তা ব্যবহার করে এটিকে editor service-এর সঙ্গে তুলনা করুন:
The data behind this chart
[
{
"label": "bento/slides (no backend)",
"min_ram_mb": 0
},
{
"label": "Collabora Online CODE",
"min_ram_mb": 1024
},
{
"label": "ONLYOFFICE Docs, Debian package",
"min_ram_mb": 2048
},
{
"label": "ONLYOFFICE Docs, Docker",
"min_ram_mb": 4096
}
]এগুলো August 2026 পর্যন্ত vendor-এর প্রকাশিত ন্যূনতম প্রয়োজনীয়তা। চলমান কোনো server-এ মাপা সংখ্যা নয়। Collabora system-এর জন্য 1 GB এবং প্রতি user-এর জন্য প্রায় 50 MB প্রকাশ করে। তাই আপনার প্রথম user সংযোগ করার আগেই 1024 MB হলো ন্যূনতম সীমা। ONLYOFFICE Docs Debian package থেকে 2048 MB এবং 4096 MB Docker-এ চায়। এর সঙ্গে 4 GB swap এবং 40 GB disk-ও প্রয়োজন। Bento-র editing backend-এর জন্য 0 MB দরকার, কারণ এতে কোনো editing backend নেই। যেকোনো একটি editor service-এর নিচে আপনি এখনও Nextcloud নিজেই, তার database এবং cache-সহ চালাচ্ছেন। তাই 2 GB VPS-এ এই পার্থক্য নির্ধারণ করে আপনি আর কী host করতে পারবেন।
একইভাবে backup-ও সহজ হয়। Nextcloud restore করার অর্থ হলো একই সময়ে সামঞ্জস্যপূর্ণ files এবং database restore করা। Bento deck restore করার অর্থ হলো একটি file restore করা। তবুও এর জন্য history-সহ প্রকৃত backup রাখা উচিত। কারণ editor file-টি সরাসরি overwrite করে, আর সরাসরি overwrite ব্যর্থ হতে পারে: ওই directory-এর নির্ধারিত restic snapshot এটি সামলে নেয়।
একটি ঐচ্ছিক server component রয়েছে। Live collaboration-এ project যাকে blind relay বলে, তা ব্যবহার করা হয়। এটি repository-র server/sync-worker/ থেকে নিজস্ব server-এ host করা যায়। Browser-এ AES-GCM (Galois/Counter Mode, একটি authenticated encryption mode) ব্যবহার করে document encrypted হয়। Room key কখনও file-এর বাইরে যায় না। Relay-তে ciphertext, connection timing এবং ওই key-এর একটি hash থাকে। নিজের জন্য editing করতে কোনো relay প্রয়োজন নেই।
Nextcloud এবং Collabora-এর তুলনায় আপনি যা হারাবেন
অ্যাক্সেস নিয়ন্ত্রণ সবচেয়ে বড় ঘাটতি। Bento-তে collaboration key ডকুমেন্টের সঙ্গে তৈরি হয় এবং ফাইলের ভেতরে থাকে। তাই ফাইলের মালিকানাই সেশনের সদস্যপদ। কাউকে প্রত্যাহার করার উপায় হলো key পরিবর্তন করা। এই মডেলে কোনো account, group, single sign-on বা audit trail নেই। Nextcloud আপনাকে user, মেয়াদ-শেষের তারিখসহ share link, server-side version history এবং mobile client দেয়। একই ডকুমেন্টে দুই ব্যক্তির জন্য ভিন্ন স্তরের অ্যাক্সেস প্রয়োজন হলে Bento তা প্রকাশ করতে পারে না।
Format interoperability দ্বিতীয় ঘাটতি। Bento নিজস্ব JSON সংরক্ষণ করে। এ কারণেই ফাইলটি পাঠযোগ্য এবং কোনো script তা সম্পাদনা করতে পারে। Collabora এবং ONLYOFFICE উচ্চ নির্ভুলতায় OOXML (.docx এবং .pptx family) round-trip করার জন্য তৈরি, কারণ বিশ্বের অন্যান্য ব্যবহারকারীরা আপনাকে এই format-ই পাঠাবে। আপনি যে version download করেছেন, সেটি কী import এবং export করে তা workflow তৈরির আগে release notes-এ দেখুন। PowerPoint compatibility ধরে নিয়ে workflow তৈরি করবেন না।
Maturity তৃতীয় বিষয়। প্রকল্পটি নিজের সীমাবদ্ধতাগুলো স্পষ্টভাবে নথিভুক্ত করে, যা এর একটি ইতিবাচক দিক। Live collaboration চলাকালীন undo snapshot-ভিত্তিক এবং একই property-তে কোনো collaborator-এর সমসাময়িক edit ফিরিয়ে দিতে পারে। Editing desktop-first, আর phone-এ সম্পাদনার তুলনায় view এবং present ভালো কাজ করে। Save-as menu এখনও phone screen-এ ঠিকমতো মানায় না। v1.0.11-এ এগুলো জানা সীমাবদ্ধতা। প্রকল্পটির বয়স দুই সপ্তাহ হওয়ায় অজানা সীমাবদ্ধতাও রয়েছে।
বাস্তব নথি কি এতে বিশ্বাস করে রাখা উচিত?
নথিটির প্রয়োজন অনুযায়ী প্রশ্নটি ভাগ করুন। একটি সম্মেলনের বক্তব্য, বিক্রয় উপস্থাপনা বা এমন কোনো বক্তৃতা, যা আপনি 10 বছর পর আবার খুলতে চান, এর জন্য এটি উপযুক্ত। কারণ ফাইলটির নিজস্ব সম্পাদক থাকে এবং 2036 সালে প্রকল্পটি এখনও বিদ্যমান থাকা প্রয়োজন হয় না। কিন্তু 3 জন পর্যালোচক, একটি retention policy এবং নির্দিষ্ট অনুমোদনকারীর প্রয়োজন এমন চুক্তির জন্য এটি উপযুক্ত নয়। কারণ ওই নথিটির account এবং server-side history প্রয়োজন।
দুটি ব্যবহারিক সুরক্ষা ব্যবস্থা নিন। উপস্থাপনাগুলো version control-এ রাখুন অথবা history-সহ backup-এ রাখুন। কারণ save করার সময় নিজে পুনর্লিখন করা ফাইল save করার সময় নষ্টও হতে পারে, এবং আপনার গতকালের অনুলিপিটি প্রয়োজন হতে পারে। এছাড়া, অচেনা কারও কাছ থেকে আসা .bento.html-কে নথি নয়, program হিসেবে বিবেচনা করুন। কারণ সেটিই এটি: এর ভেতরে সম্পূর্ণ application থাকা একটি web page। যেভাবে যেকোনো অবিশ্বস্ত web page খুলতেন, সেভাবেই এটি খুলুন।
Automation ব্যবহারের বিষয়টি সত্যিই কার্যকর এবং এর উল্লেখ করা উচিত। নথিটির ভেতরে সাধারণ JSON থাকায় coding agent একটি .bento.html সরাসরি সম্পাদনা করতে পারে, এবং project-টি এর জন্য Claude Code skill সরবরাহ করে। এটি local open-weight model-এর সঙ্গেও কাজ করে। তাই নিজের model পরিবেশন করতে Ollama চালাচ্ছে এমন কোনো machine-এ, machine-এর বাইরে কিছু না পাঠিয়েই slide-এর খসড়া তৈরি করা যায়।
ছোট সার্ভারে Bento-এর অবস্থান
Bento সেই একক-উদ্দেশ্যের অন্যান্য টুলের সঙ্গে মানানসই, যেগুলো ছোট আকার বজায় রেখে একটি ছোট VPS-এ জায়গা করে নেয়: self-hosted RSS reader অথবা ব্যক্তিগত অর্থব্যবস্থার জন্য Actual Budget। একটি কাজ, কম রিসোর্স ব্যবহার এবং অ্যাপ্লিকেশন ছাড়াই পড়া যায় এমন ডেটা। যারা তাদের নোটস অ্যাপের বদলে self-hosted Notion alternatives ব্যবহার করছেন, তারাও একই সমঝোতা করছেন। কোন কোন সেবা self-host করবেন, সে বিষয়ে বিস্তৃত নির্দেশিকা-তে এই তালিকার বাকি অংশ রয়েছে।
আপনার যদি ব্যবহারকারী, শেয়ারিং এবং সংস্করণ ইতিহাসসহ পূর্ণাঙ্গ ডকুমেন্ট প্ল্যাটফর্ম প্রয়োজন হয়, তাহলে Docker, TLS এবং ব্যাকআপসহ VPS-এ Nextcloud এখনও উপযুক্ত সমাধান। Bento সেই ভূমিকার জন্য তৈরি নয়। এটি এমন একটি ফাইল, যা আপনি আপনার সার্ভারের বাইরের কাউকে পাঠাতে পারেন। তারা কোনো login বা plugin ছাড়াই ফাইলটি খুলতে পারবেন।
FAQ
Bento কি Nextcloud এবং Collabora-এর বিকল্প?
একই কাজের জন্য নয়। Collabora বা ONLYOFFICE-সহ Nextcloud আপনাকে account, shared folder, permission এবং server-side version history দেয়, এবং এগুলো দেওয়ার জন্য একটি প্রকৃত server stack প্রয়োজন। Bento এমন একটি portable file দেয়, যা যেকোনো জায়গায় খোলে এবং কোনো server প্রয়োজন হয় না। Document-টি self-contained হওয়া দরকার হলে Bento ব্যবহার করুন। সময়ের সঙ্গে একই document-এ একাধিক ব্যক্তির বিভিন্ন access প্রয়োজন হলে Nextcloud stack ব্যবহার করুন।
Bento-এর কি server বা VPS প্রয়োজন?
না। একটি .bento.html file যেকোনো আধুনিক browser-এ local disk থেকে খোলে এবং offline-এ edit করা যায়। VPS দুটি ঐচ্ছিক কাজের জন্য কার্যকর: file-টি HTTPS-এর মাধ্যমে serve করা, যাতে অন্যরা এটি download করতে পারে, এবং live collaboration-এর জন্য sync relay চালানো। Project repository-তে server/sync-worker/ থেকে relay-টি self-host করা যায়। এটি ciphertext এবং connection metadata সংরক্ষণ করে, তাই আপনার content কখনো দেখতে পায় না।
Bento কোন format-এ document save করে?
এটি নিজস্ব JSON format ব্যবহার করে। JSON-টি HTML file-এর উপরের অংশের কাছে readable block হিসেবে লেখা থাকে। Font এবং image-ও তার পাশে embedded থাকে। Text editor-এ file খুললে document structure পড়তে পারবেন। এ কারণেই script এবং AI agent সরাসরি deck edit করতে পারে। এর অর্থ, stored format-টি OOXML নয়। তাই আপনি যে release চালাচ্ছেন, তাতে import এবং export পরীক্ষা না করা পর্যন্ত .pptx workflow কাজ করবে বলে ধরে নেবেন না।
User account না থাকলে collaboration কীভাবে কাজ করে?
Document তৈরি করার সময় collaboration key তৈরি হয় এবং file-এর ভেতরেই থাকে। তাই যার কাছে file আছে, সে session-এ যোগ দিতে পারে। Edit-গুলো CRDT (conflict-free replicated data type, এমন একটি structure যা central authority ছাড়াই একসঙ্গে হওয়া পরিবর্তন merge করে) দিয়ে merge হয় এবং AES-GCM ব্যবহার করে encrypted অবস্থায় স্থানান্তরিত হয়। Presence name হলো claim, প্রমাণ নয়। তাই participant list-কে identity check হিসেবে নয়, label হিসেবে দেখুন। Access revoke করতে key rotate করে file আবার বিতরণ করতে হয়।
গুরুত্বপূর্ণ document-এর জন্য Bento কি প্রস্তুত?
এটি MIT licensed এবং open-এ developed। 1 August 2026 তারিখে এর বয়স ছিল দুই সপ্তাহেরও কম এবং প্রথম সপ্তাহে ছয়টি release হয়েছিল। এটিকে এই মাসে evaluate করার মতো software হিসেবে বিবেচনা করুন, এই quarter-এ standardise করার মতো software হিসেবে নয়। প্রতিটি deck history-সহ backup-এ রাখুন। যে export path-এর ওপর নির্ভর করবেন, নির্ভর করার আগে সেটি পরীক্ষা করুন। Compliance বা retention requirement-যুক্ত যেকোনো content account এবং version history-সমৃদ্ধ system-এ রাখুন।