{"id":481111,"date":"2026-05-26T13:12:40","date_gmt":"2026-05-26T13:12:40","guid":{"rendered":"https:\/\/savepearlharbor.com\/?p=481111"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=481111","title":{"rendered":"How I wanted two pages for SAMBA and NFS, but ended up with a full-featured NAS control panel with 20+ pages"},"content":{"rendered":"<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<figure class=\"full-width \"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/4b1\/0fe\/446\/4b10fe4463f8b7d9013a60029bda3c25.png\" alt=\"Mini-b Dashboard\" title=\"Mini-b Dashboard\" width=\"2544\" height=\"1439\" sizes=\"auto, (max-width: 780px) 100vw, 50vw\" srcset=\"https:\/\/habrastorage.org\/r\/w780\/getpro\/habr\/upload_files\/4b1\/0fe\/446\/4b10fe4463f8b7d9013a60029bda3c25.png 780w,&#10;       https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/4b1\/0fe\/446\/4b10fe4463f8b7d9013a60029bda3c25.png 781w\" loading=\"lazy\" decode=\"async\"\/><\/p>\n<div><figcaption>Mini-b Dashboard<\/figcaption><\/div>\n<\/figure>\n<p>Fair warning right away: I&#8217;m not a programmer. The code could be prettier, the architecture more elegant. But my goal was different \u2013 to make a convenient tool for myself as a system administrator. What came out came out. Don&#8217;t judge too harshly, it&#8217;s beta.<\/p>\n<p><strong>How it all started<\/strong><\/p>\n<p>I had some free time. I had an old Netgear Stora MS2000 lying around \u2013 I&#8217;d installed Debian 7 and OpenMediaVault on it back in the day. Then a disk crashed, I reinstalled Debian 9, but OMV turned out to be too heavy for this hardware.<\/p>\n<p>Editing configs in the console every time was tedious. And all I really needed was SAMBA and NFS. So I thought, why bother? I&#8217;ll write a couple of PHP scripts to create and edit shares.<\/p>\n<p>And so Mini Bucket began.<\/p>\n<p><strong>The first two pages \u2013 and off we went<\/strong><\/p>\n<p>I whipped up the first two pages quickly: shares started working. Then I thought, &#171;It would be nice to have a dashboard to see all the stats.&#187; A third page appeared \u2013 a dashboard with graphs.<\/p>\n<p>Then I figured: since I&#8217;ve got SMB and NFS, might as well add rsync and FTP too. Added them.<\/p>\n<p>Day by day, my &#171;two-page panel&#187; grew into a project now called Mini Bucket \u2013 NAS Control Panel.<\/p>\n<p>And you know what? It actually works. On hardware where modern panels simply won&#8217;t start or slow to a crawl.<\/p>\n<p><strong>What is this thing?<\/strong><\/p>\n<p>Mini Bucket is a web-based NAS control panel focused on resource efficiency. It runs on:<\/p>\n<ul>\n<li>\n<p>Pure PHP 7.0 (built-in modules, no Composer)<\/p>\n<\/li>\n<li>\n<p>SQLite<\/p>\n<\/li>\n<li>\n<p>Standard Linux utilities<\/p>\n<\/li>\n<\/ul>\n<p>No extra modules, heavy frameworks, or powerful hardware required.<\/p>\n<p><strong>Where it&#8217;s tested (and actually works):<\/strong><\/p>\n<ul>\n<li>\n<p>Raspberry Pi 1 (256 MB RAM) \u2013 yes, the original one<\/p>\n<\/li>\n<li>\n<p>Netgear Stora MS2000 (128 MB RAM) \u2013 an old enclosure with soul<\/p>\n<\/li>\n<li>\n<p>Debian 9 on old laptops and VMs<\/p>\n<\/li>\n<\/ul>\n<p><strong>What it can do (and it can do quite a lot)<\/strong><\/p>\n<p>I wasn&#8217;t chasing &#171;pretty&#187; code \u2013 I was chasing accessible tools for myself as a sysadmin. Here&#8217;s what I ended up with:<\/p>\n<p><strong>1. Live Dashboard<\/strong><\/p>\n<ul>\n<li>\n<p>CPU (total + per core), temperature, RAM, Load Average<\/p>\n<\/li>\n<li>\n<p>Interactive graphs: CPU, network traffic (RX\/TX), disk I\/O<\/p>\n<\/li>\n<li>\n<p>SMART, disk temperatures, space usage<\/p>\n<\/li>\n<li>\n<p>RAID and LVM status, mount points<\/p>\n<\/li>\n<li>\n<p>IP, MAC, per-interface traffic<\/p>\n<\/li>\n<\/ul>\n<p><strong>2. Firewall (UFW)<\/strong><\/p>\n<ul>\n<li>\n<p>Enable\/disable, view status and rules<\/p>\n<\/li>\n<li>\n<p>CRUD + search\/filter<\/p>\n<\/li>\n<li>\n<p>Ready-made rules: SSH, HTTP, HTTPS, FTP, MySQL, PostgreSQL<\/p>\n<\/li>\n<li>\n<p>IP blocking, active connections, color-coded logs<\/p>\n<\/li>\n<\/ul>\n<p><strong>3. System Monitor + Diagnostics<\/strong><\/p>\n<ul>\n<li>\n<p>ping, traceroute, netstat, port scanner, DNS lookup, speed test<\/p>\n<\/li>\n<li>\n<p>Process and systemd service management<\/p>\n<\/li>\n<li>\n<p>System logs with filtering and export<\/p>\n<\/li>\n<\/ul>\n<p><strong>4. Web Console (SSH through the browser)<\/strong><\/p>\n<ul>\n<li>\n<p>Full shell access<\/p>\n<\/li>\n<li>\n<p>Dark VSCode-style theme, syntax highlighting<\/p>\n<\/li>\n<\/ul>\n<p><strong>5. Cron Scheduler<\/strong><\/p>\n<ul>\n<li>\n<p>CRUD, flexible schedule (5 fields)<\/p>\n<\/li>\n<li>\n<p>Quick presets, next-run preview<\/p>\n<\/li>\n<li>\n<p>Logging, manual execution<\/p>\n<\/li>\n<\/ul>\n<p><strong>6. User Management<\/strong><\/p>\n<ul>\n<li>\n<p>Panel users (SQLite) and Linux system users<\/p>\n<\/li>\n<li>\n<p>Password generator with strength indicator<\/p>\n<\/li>\n<\/ul>\n<p><strong>7. Disks, RAID, and LVM<\/strong><\/p>\n<ul>\n<li>\n<p>Disk initialization (GPT\/MBR), partitions, mounting, SMART<\/p>\n<\/li>\n<li>\n<p>RAID 0,1,5,6,10, LINEAR, hot-spare, scrub<\/p>\n<\/li>\n<li>\n<p>LVM: PV\/VG\/LV, snapshots<\/p>\n<\/li>\n<li>\n<p>Mount everything: local partitions, RAID, LVM, SMB\/CIFS, NFS<\/p>\n<\/li>\n<\/ul>\n<p><strong>8. Dual-panel File Manager<\/strong><\/p>\n<ul>\n<li>\n<p>Two independent panels, batch operations<\/p>\n<\/li>\n<li>\n<p>Background tasks with progress and cancellation<\/p>\n<\/li>\n<li>\n<p>Archives (tar\/zip), permissions (chmod + ACL)<\/p>\n<\/li>\n<li>\n<p>Download folders as .tar on the fly<\/p>\n<\/li>\n<\/ul>\n<p><strong>9. Sharing Services<\/strong><\/p>\n<ul>\n<li>\n<p>FTP (vsftpd) \u2013 start\/stop, folders, SSL, limits<\/p>\n<\/li>\n<li>\n<p>NFS \u2013 exports, clients, statistics<\/p>\n<\/li>\n<li>\n<p>SMB\/CIFS (Samba) \u2013 users, shares, sessions<\/p>\n<\/li>\n<li>\n<p>Rsync \u2013 daemon, modules, users<\/p>\n<\/li>\n<\/ul>\n<p><strong>10. System Manager<\/strong><\/p>\n<ul>\n<li>\n<p>Service management (NFS, SMB, Rsync, FTP, SSH, Apache2, UFW, NTP)<\/p>\n<\/li>\n<li>\n<p>Reboot, shutdown<\/p>\n<\/li>\n<li>\n<p>Date\/time (timezone, NTP), network (hostname, DHCP\/Static, DNS)<\/p>\n<\/li>\n<\/ul>\n<p><strong>11. System Checker<\/strong><\/p>\n<ul>\n<li>\n<p>&#171;Check All&#187; and &#171;Fix All&#187; buttons<\/p>\n<\/li>\n<li>\n<p>Categories: packages, services, permissions, configs, firewall, network<\/p>\n<\/li>\n<\/ul>\n<p><strong>12. Key Rotation System (for multiple servers)<\/strong><\/p>\n<ul>\n<li>\n<p>Dynamic API keys with automatic rotation \u2013 no downtime<\/p>\n<\/li>\n<li>\n<p>Cascading rotation \u2013 changes automatically propagate to all connected servers<\/p>\n<\/li>\n<li>\n<p>Unlimited nesting (masters and slaves)<\/p>\n<\/li>\n<\/ul>\n<p><strong>About installation (important note)<\/strong><\/p>\n<p>Warning: Mini Bucket must be installed on a clean system. Not recommended to install where other services and packages already exist. The installation process changes permissions on certain system files and modifies configs.<\/p>\n<p>Installation:\u00a0<a href=\"https:\/\/mini-b.itp-corp.ru\/install\/\" rel=\"noopener noreferrer nofollow\">https:\/\/mini-b.itp-corp.ru\/install\/<\/a><\/p>\n<p>The script automatically checks compatibility, creates directories, sets permissions, and initializes SQLite and basic configs.<\/p>\n<p><strong>Honestly about bugs and status<\/strong><\/p>\n<p>Attention! This is a beta version.<\/p>\n<p>Yes, there are bugs. Yes, some issues are still unresolved. I&#8217;ve tested on Raspberry Pi 1, Netgear Stora MS2000, VMs, and old laptops. Overall it works, but it&#8217;s not without its rough edges.<\/p>\n<p>I will release updates. The main thing is that the beta has been released and is ready to try.<\/p>\n<p><strong>Plans and support<\/strong><\/p>\n<p>License: AGPLv3+<\/p>\n<p>Contact:\u00a0<a href=\"mailto:sa@itp-corp.ru\" rel=\"noopener noreferrer nofollow\">sa@itp-corp.ru<\/a>\u00a0with subject &#171;Mini-b&#187;<\/p>\n<p>The project is open, but I don&#8217;t promise perfect code \u2013 I promise it solves a real problem on old hardware.<\/p>\n<p><strong>The bottom line<\/strong><\/p>\n<p>Mini Bucket is my take on what a NAS control panel should be when:<\/p>\n<ul>\n<li>\n<p>You have old hardware<\/p>\n<\/li>\n<li>\n<p>Modern panels are sluggish<\/p>\n<\/li>\n<li>\n<p>You&#8217;re tired of editing configs manually<\/p>\n<\/li>\n<li>\n<p>And you&#8217;re not a programmer, but a sysadmin who just wants things to work<\/p>\n<\/li>\n<\/ul>\n<p>I made this for myself. Whether to share it \u2013 that&#8217;s up to you. But if you have an old Raspberry Pi or Netgear lying around \u2013 give it a try. Maybe it&#8217;ll like it as much as I do.<\/p>\n<p><a href=\"https:\/\/mini-b.itp-corp.ru\/%EF%BF%BChttps:\/\/github.com\/itprogresscorp\/Mini-Bucket\" rel=\"noopener noreferrer nofollow\">https:\/\/mini-b.itp-corp.ru\/<br \/>https:\/\/github.com\/itprogresscorp\/Mini-Bucket<\/a><\/p>\n<p>Original post Rus Lang. <a href=\"https:\/\/habr.com\/ru\/articles\/1039454\/\" rel=\"noopener noreferrer nofollow\">https:\/\/habr.com\/ru\/articles\/1039454\/<\/a><\/p>\n<\/div>\n<p>\u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/1039652\/\">https:\/\/habr.com\/ru\/articles\/1039652\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Mini-b DashboardFair warning right away: I&#8217;m not a programmer. The code could be prettier, the architecture more elegant. But my goal was different \u2013 to make a convenient tool for myself as a system administrator. What came out came out. Don&#8217;t judge too harshly, it&#8217;s beta.How it all startedI had some free time. I had an old Netgear Stora MS2000 lying around \u2013 I&#8217;d installed Debian 7 and OpenMediaVault on it back in the day. Then a disk crashed, I reinstalled Debian 9, but OMV turned out to be too heavy for this hardware.Editing configs in the console every time was tedious. And all I really needed was SAMBA and NFS. So I thought, why bother? I&#8217;ll write a couple of PHP scripts to create and edit shares.And so Mini Bucket began.The first two pages \u2013 and off we wentI whipped up the first two pages quickly: shares started working. Then I thought, &#171;It would be nice to have a dashboard to see all the stats.&#187; A third page appeared \u2013 a dashboard with graphs.Then I figured: since I&#8217;ve got SMB and NFS, might as well add rsync and FTP too. Added them.Day by day, my &#171;two-page panel&#187; grew into a project now called Mini Bucket \u2013 NAS Control Panel.And you know what? It actually works. On hardware where modern panels simply won&#8217;t start or slow to a crawl.What is this thing?Mini Bucket is a web-based NAS control panel focused on resource efficiency. It runs on:Pure PHP 7.0 (built-in modules, no Composer)SQLiteStandard Linux utilitiesNo extra modules, heavy frameworks, or powerful hardware required.Where it&#8217;s tested (and actually works):Raspberry Pi 1 (256 MB RAM) \u2013 yes, the original oneNetgear Stora MS2000 (128 MB RAM) \u2013 an old enclosure with soulDebian 9 on old laptops and VMsWhat it can do (and it can do quite a lot)I wasn&#8217;t chasing &#171;pretty&#187; code \u2013 I was chasing accessible tools for myself as a sysadmin. Here&#8217;s what I ended up with:1. Live DashboardCPU (total + per core), temperature, RAM, Load AverageInteractive graphs: CPU, network traffic (RX\/TX), disk I\/OSMART, disk temperatures, space usageRAID and LVM status, mount pointsIP, MAC, per-interface traffic2. Firewall (UFW)Enable\/disable, view status and rulesCRUD + search\/filterReady-made rules: SSH, HTTP, HTTPS, FTP, MySQL, PostgreSQLIP blocking, active connections, color-coded logs3. System Monitor + Diagnosticsping, traceroute, netstat, port scanner, DNS lookup, speed testProcess and systemd service managementSystem logs with filtering and export4. Web Console (SSH through the browser)Full shell accessDark VSCode-style theme, syntax highlighting5. Cron SchedulerCRUD, flexible schedule (5 fields)Quick presets, next-run previewLogging, manual execution6. User ManagementPanel users (SQLite) and Linux system usersPassword generator with strength indicator7. Disks, RAID, and LVMDisk initialization (GPT\/MBR), partitions, mounting, SMARTRAID 0,1,5,6,10, LINEAR, hot-spare, scrubLVM: PV\/VG\/LV, snapshotsMount everything: local partitions, RAID, LVM, SMB\/CIFS, NFS8. Dual-panel File ManagerTwo independent panels, batch operationsBackground tasks with progress and cancellationArchives (tar\/zip), permissions (chmod + ACL)Download folders as .tar on the fly9. Sharing ServicesFTP (vsftpd) \u2013 start\/stop, folders, SSL, limitsNFS \u2013 exports, clients, statisticsSMB\/CIFS (Samba) \u2013 users, shares, sessionsRsync \u2013 daemon, modules, users10. System ManagerService management (NFS, SMB, Rsync, FTP, SSH, Apache2, UFW, NTP)Reboot, shutdownDate\/time (timezone, NTP), network (hostname, DHCP\/Static, DNS)11. System Checker&#187;Check All&#187; and &#171;Fix All&#187; buttonsCategories: packages, services, permissions, configs, firewall, network12. Key Rotation System (for multiple servers)Dynamic API keys with automatic rotation \u2013 no downtimeCascading rotation \u2013 changes automatically propagate to all connected serversUnlimited nesting (masters and slaves)About installation (important note)Warning: Mini Bucket must be installed on a clean system. Not recommended to install where other services and packages already exist. The installation process changes permissions on certain system files and modifies configs.Installation:\u00a0https:\/\/mini-b.itp-corp.ru\/install\/The script automatically checks compatibility, creates directories, sets permissions, and initializes SQLite and basic configs.Honestly about bugs and statusAttention! This is a beta version.Yes, there are bugs. Yes, some issues are still unresolved. I&#8217;ve tested on Raspberry Pi 1, Netgear Stora MS2000, VMs, and old laptops. Overall it works, but it&#8217;s not without its rough edges.I will release updates. The main thing is that the beta has been released and is ready to try.Plans and supportLicense: AGPLv3+Contact:\u00a0sa@itp-corp.ru\u00a0with subject &#171;Mini-b&#187;The project is open, but I don&#8217;t promise perfect code \u2013 I promise it solves a real problem on old hardware.The bottom lineMini Bucket is my take on what a NAS control panel should be when:You have old hardwareModern panels are sluggishYou&#8217;re tired of editing configs manuallyAnd you&#8217;re not a programmer, but a sysadmin who just wants things to workI made this for myself. Whether to share it \u2013 that&#8217;s up to you. But if you have an old Raspberry Pi or Netgear lying around \u2013 give it a try. Maybe it&#8217;ll like it as much as I do.https:\/\/mini-b.itp-corp.ru\/https:\/\/github.com\/itprogresscorp\/Mini-BucketOriginal post Rus Lang. https:\/\/habr.com\/ru\/articles\/1039454\/\u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 https:\/\/habr.com\/ru\/articles\/1039652\/<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-481111","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/481111","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=481111"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/481111\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=481111"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=481111"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=481111"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}