Bento: এক ফাইলের office suite কি Nextcloud-এর বিকল্প?
Bento হলো MIT-licensed office suite, যার v1.0.11 release মাত্র 571 KB-এর এক HTML file। ছোট VPS-এ এই নকশার সুবিধা ও Nextcloud-এর তুলনায় খরচ জানুন।
Bento কী
Bento হলো একটি office suite, যা একটি একক HTML file হিসেবে প্রকাশিত হয়। আপনি একটি file download করে যেকোনো আধুনিক browser-এ open করেন। ওই file-টিই editor এবং document—দুই ভূমিকা পালন করে। কোনো installer বা account নেই। এটি MIT license-এর অধীন। Source code আছে github.com/nyblnet/bento-এ। প্রথম release প্রকাশিত হয় 21 July 2026-এ। 1 August 2026-এ লিখলে এটি দুই সপ্তাহেরও কম পুরোনো। এই পোস্টের সবচেয়ে গুরুত্বপূর্ণ তথ্য এটিই। এ কারণেই শেষ section-এ migration নয়, evaluation নিয়ে আলোচনা করা হয়েছে।
“একটি ফাইলেই থাকে” কথাটির প্রকৃত অর্থ
Self-hosted office suite সাধারণত একটি stack। Nextcloud হলো web server-এর পেছনে চলা PHP application; এর সঙ্গে থাকে database, cache এবং background job runner। এর পাশে editor হিসেবে দ্বিতীয় একটি service থাকে—Collabora Online অথবা ONLYOFFICE Docs। এটি সাধারণত নিজের container-এ চলে এবং browser HTTP-এর মাধ্যমে এর সঙ্গে যোগাযোগ করে। Document একটি filesystem এবং database row-তে থাকে, আর editing session থাকে editor service-এর ভেতরে।
Bento এই stack সরিয়ে দেয়। Download-টি হলো Bento_Slides.bento.html; release v1.0.11-এ (27 July 2026) এর আকার প্রায় 571 KB। ওই একটি ফাইলের ভেতরে থাকে:
- editor, যা viewer হিসেবেও কাজ করে
- presentation runtime, যা deck-কে full screen-এ দেখায়
- deck-এ ব্যবহৃত embedded fonts এবং images
- document নিজেই, ফাইলের উপরের অংশের কাছে একটি পাঠযোগ্য JSON block হিসেবে
Saving প্রক্রিয়াটিই অস্বাভাবিক। ফাইলটি নিজের data block নিজেই পুনর্লিখন করে। পেজটি File System Access API-এর মাধ্যমে browser-এর কাছে write access চায় (এটি এমন একটি browser interface, যার সাহায্যে পেজ ব্যবহারকারীর বেছে নেওয়া ফাইলে আবার লিখতে পারে); এই API নেই এমন browser-এ পরিবর্তে একটি download পাওয়া যায়। একটি deck edit করলে একই self-contained ফাইলের নতুন copy তৈরি হয়। কিছু upload করা হয় না, কারণ upload করার মতো কোনো server-side destination নেই।
“একটি ফাইল” কথাটি শুনলে মানুষ সাধারণত যে বিষয়টি ভুল বোঝে, সেটি হলো এটি। এর অর্থ এই নয় যে আপনার VPS-এ একটি single process হিসেবে office suite চালানো একটি server binary আছে। এখানে কোনো 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 file-এ stylesheet duplication এবং negative value-এর ক্ষেত্রে chart baseline-সংক্রান্ত সমস্যার সমাধান।
ছোট VPS-এর জন্য একটি ফাইলই কেন যথেষ্ট
একটি deck প্রকাশ করতে হলে শুধু এমন একটি directory-তে file copy করতে হয়, যেটি আপনার web server ইতিমধ্যে serve করছে। কিছু orchestrate করার দরকার নেই, চালু রাখার জন্য কোনো container নেই, এবং upgrade-এর সময় কোনো database migrate করতে হয় না। এর সঙ্গে editor service-গুলোর তুলনা করুন, যেখানে প্রতিটি vendor-এর প্রকাশিত নিজস্ব minimum requirement ব্যবহার করা হয়েছে:
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-এর প্রকাশিত minimum requirement; চালু কোনো server-এ মাপা সংখ্যা নয়। Collabora system-এর জন্য 1 GB এবং প্রতি user-এর জন্য প্রায় 50 MB প্রকাশ করে। তাই প্রথম user connect করার আগেই 1024 MB হলো সর্বনিম্ন সীমা। ONLYOFFICE Docs Debian package থেকে 2048 MB এবং Docker-এ 4096 MB চায়; এর সঙ্গে 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-টি in place rewrite করে। In-place write ব্যর্থ হতে পারে: ওই directory-এর নির্ধারিত restic snapshot এটি কভার করে।
একটি optional server component রয়েছে। Live collaboration-এর জন্য project যেটিকে blind relay বলে, সেটি ব্যবহার করা হয় এবং repository-এর server/sync-worker/ থেকে এটি self-host করা যায়। Documents browser-এ AES-GCM (Galois/Counter Mode, একটি authenticated encryption mode) দিয়ে encrypted হয়। Room key কখনও file-এর বাইরে যায় না। Relay শুধু ciphertext, connection timing এবং ওই key-এর একটি hash ধরে রাখে। নিজের জন্য editing করতে relay-এর প্রয়োজন নেই।
Nextcloud এবং Collabora-এর তুলনায় আপনি যা ত্যাগ করছেন
Access control এখানে সবচেয়ে বড় সীমাবদ্ধতা। Bento-তে collaboration key ডকুমেন্ট তৈরির সময় তৈরি হয় এবং file-এর ভেতরে থাকে। তাই file যার কাছে আছে, সে session-এর সদস্য। কাউকে বাদ দেওয়ার উপায় হলো key পরিবর্তন করা। এই মডেলে account, group, single sign-on বা audit trail নেই। Nextcloud-এ user, expiry date-সহ share link, quota, server-side version history এবং mobile client রয়েছে। একই ডকুমেন্টে দুইজনের আলাদা access level প্রয়োজন হলে Bento তা প্রকাশ করতে পারে না।
Format interoperability হলো দ্বিতীয় সীমাবদ্ধতা। Bento নিজস্ব JSON সংরক্ষণ করে। এ কারণেই file পড়া যায় এবং script দিয়ে সম্পাদনা করা যায়। Collabora এবং ONLYOFFICE উচ্চ নির্ভুলতায় OOXML (.docx এবং .pptx family) round-trip করার জন্য তৈরি, কারণ বিশ্বের অন্যান্য ব্যবহারকারী আপনাকে সাধারণত এই format-ই পাঠাবেন। PowerPoint compatibility ধরে নিয়ে workflow তৈরির আগে আপনি যে version download করেছেন, তার release notes দেখে সেটি কী import এবং export করতে পারে যাচাই করুন।
Maturity হলো তৃতীয় সীমাবদ্ধতা। প্রকল্পটি নিজের সীমাবদ্ধতাগুলো স্পষ্টভাবে নথিবদ্ধ করে, যা এর একটি ইতিবাচক দিক। Live collaboration চলাকালে undo snapshot-ভিত্তিক এবং একই property-তে কোনো collaborator-এর concurrent edit ফিরিয়ে দিতে পারে। Editing desktop-first, আর phone-এ editing-এর চেয়ে view ও present ভালো কাজ করে। Save-as menu এখনো phone screen-এ পুরোপুরি মানায় না। v1.0.11-এ এগুলো জানা সীমাবদ্ধতা। প্রকল্পটির বয়স মাত্র দুই সপ্তাহ হওয়ায় অজানা সীমাবদ্ধতাও রয়েছে।
এতে কি বাস্তব নথি বিশ্বাস করে রাখা উচিত?
নথিটির প্রয়োজন অনুযায়ী সিদ্ধান্ত নিন। কোনো conference talk, sales deck বা এমন lecture যা আপনি দশ বছর পর আবার খুলতে চান, সেটির জন্য এটি উপযুক্ত। কারণ ফাইলটির মধ্যে নিজস্ব editor থাকে এবং 2036 সালে project-টি এখনও থাকতে হবে না। কিন্তু তিনজন reviewer, একটি retention policy এবং নির্দিষ্ট approver-সহ কোনো contract-এর জন্য এটি উপযুক্ত নয়। কারণ ওই নথির জন্য account এবং server-side history প্রয়োজন।
দুটি ব্যবহারিক সুরক্ষা ব্যবস্থা নিন। deck-গুলো version control-এ রাখুন অথবা history-সহ backup-এ সংরক্ষণ করুন। কারণ save করার সময় নিজে rewrite হওয়া কোনো file save করার সময় corrupted-ও হতে পারে, এবং তখন আপনার গতকালের copy প্রয়োজন হবে। এছাড়া, অপরিচিত কারও কাছ থেকে আসা .bento.html-কে document নয়, program হিসেবে বিবেচনা করুন। কারণ সেটি আসলে একটি web page, যার মধ্যে সম্পূর্ণ application রয়েছে। যেভাবে কোনো untrusted web page খুলতেন, সেভাবেই এটি খুলুন।
Automation-এর বিষয়টি সত্যিই কার্যকর এবং এটি স্পষ্টভাবে উল্লেখ করার মতো। document-এর ভেতরের data plain JSON হওয়ায় coding agent সরাসরি একটি .bento.html সম্পাদনা করতে পারে। এই কাজের জন্য project-টি একটি Claude Code skill সরবরাহ করে। এটি local open-weight model-এর সঙ্গেও কাজ করে। তাই নিজের model চালানোর জন্য Ollama ব্যবহার করা কোনো machine-এ slides তৈরি করা যায়, এবং কোনো data machine-এর বাইরে পাঠাতে হয় না।
ছোট সার্ভারে Bento-এর অবস্থান
Bento সেই একক-উদ্দেশ্যের টুলগুলোর সঙ্গে মানানসই, যেগুলো ছোট পরিসর বজায় রেখে একটি ছোট VPS-এ জায়গা করে নেয়: self-hosted RSS reader অথবা ব্যক্তিগত অর্থব্যবস্থাপনার জন্য Actual Budget। একটি কাজ, কম resource ব্যবহার, এবং অ্যাপ্লিকেশন ছাড়াই পড়া যায় এমন data। যারা তাদের notes app-এর পরিবর্তে self-hosted Notion alternatives-এর কোনো একটি ব্যবহার করছেন, তারাও একই ধরনের বিনিময় করছেন। কোন কোন service self-host করা যায়, সে বিষয়ে বিস্তৃত guide-এ তালিকার বাকি অংশ রয়েছে।
ব্যবহারকারী, sharing এবং version history-সহ পূর্ণাঙ্গ document platform প্রয়োজন হলে Docker, TLS এবং backup-সহ VPS-এ Nextcloud এখনও উপযুক্ত সমাধান। Bento সেই ব্যবহারের ক্ষেত্রের সঙ্গে প্রতিযোগিতা করে না। Bento এমন একটি file, যা আপনি সার্ভারের বাইরের কাউকে পাঠাতে পারেন এবং তারা 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-এ সম্পাদনা করা যায়। VPS দুটি ঐচ্ছিক কাজের জন্য কাজে লাগে: অন্যরা download করতে পারে এমনভাবে HTTPS-এর মাধ্যমে file পরিবেশন করা এবং live collaboration-এর জন্য sync relay চালানো। Project repository-র server/sync-worker/ থেকে relay নিজস্ব server-এ চালানো যায়। এটি ciphertext এবং connection metadata সংরক্ষণ করে, তাই আপনার content দেখতে পায় না।
Bento document কোন format-এ সংরক্ষণ করে?
নিজস্ব JSON format-এ। এটি HTML file-এর উপরের দিকে readable block হিসেবে লেখা থাকে। Font এবং image-ও file-এর মধ্যে embedded থাকে। Text editor-এ file খুললে document structure পড়তে পারবেন। তাই script এবং AI agent সরাসরি deck সম্পাদনা করতে পারে। এর অর্থ, সংরক্ষিত format-টি OOXML নয়। আপনি যে release চালাচ্ছেন, তাতে import ও export পরীক্ষা না করা পর্যন্ত .pptx workflow ঠিকমতো কাজ করবে ধরে নেবেন না।
User account না থাকলে collaboration কীভাবে কাজ করে?
Document তৈরি করার সময় collaboration key তৈরি হয় এবং file-এর ভিতরে থাকে। তাই যার কাছে file আছে, সে session-এ যোগ দিতে পারে। Edit-গুলো CRDT (conflict-free replicated data type, এমন একটি structure যা কেন্দ্রীয় কর্তৃপক্ষ ছাড়াই একসঙ্গে হওয়া পরিবর্তন merge করে)-এর মাধ্যমে merge হয় এবং AES-GCM ব্যবহার করে encrypted অবস্থায় পাঠানো হয়। Presence name হলো claim, প্রমাণ নয়। তাই participant list-কে identity check হিসেবে নয়, একটি label হিসেবে দেখুন। Access বাতিল করতে key rotate করে file আবার বিতরণ করতে হবে।
Bento কি গুরুত্বপূর্ণ document-এর জন্য প্রস্তুত?
এটি MIT licensed এবং open source হিসেবে উন্নত হচ্ছে। 1 August 2026 তারিখে এটি দুই সপ্তাহেরও কম পুরোনো ছিল এবং প্রথম সপ্তাহে ছয়টি release প্রকাশ করেছিল। এটিকে এই মাসে মূল্যায়ন করার software হিসেবে বিবেচনা করুন, এই quarter-এ standardize করার software হিসেবে নয়। প্রতিটি deck history-সহ backup-এ রাখুন। যে export path-এর ওপর নির্ভর করবেন, নির্ভর করার আগে সেটি পরীক্ষা করুন। Compliance বা retention requirement থাকা content এমন system-এ রাখুন, যেখানে account এবং version history আছে।