I built BoxBox, a self-hosted file manager for home-labs

go dev.to

I wanted a simple way to manage files on my Linux server from the browser.

Not a full cloud suite.
Not a bloated desktop app.
Just a clean web UI over the folders and disks I already have mounted.

So I built BoxBox.

BoxBox is a self-hosted file manager for homelabs, NAS-style setups, and bare-metal Linux servers.

Repo: https://github.com/jR4dh3y/BoxBox
Site: https://boxbox.radhey.dev

What it does

BoxBox lets you browse multiple mounted paths from one UI:

/mnt/storage
/srv/media
/home/user
Enter fullscreen mode Exit fullscreen mode

It supports:

  • Multi-mount navigation
  • Chunked uploads for large files
  • Real-time progress through WebSockets
  • Copy, move, and delete operations
  • Image, audio, video, PDF, code, and text previews
  • Monaco editor for editing config and code files in the browser
  • Docker and Compose deployment

The main idea is simple:

Manage Linux server files like local folders.

Why not just use Nextcloud?

Nextcloud, Seafile, Syncthing, and similar tools are great, but they are much bigger than what I wanted.

I did not need calendars, contacts, sync clients, plugins, or a whole cloud ecosystem.

I wanted something narrower:

Open browser. Pick mount. Browse files. Upload and download. Preview media. Edit config files. Move stuff around.

That is the core loop.

Stack

The backend is written in Go.
The frontend is built with SvelteKit and TypeScript.
The editor uses Monaco.
Live progress and events use WebSockets.

Deployment is Docker-first, so the setup is meant to stay simple for homelab use.

What I want feedback on

BoxBox is still early, and I would love feedback from people who actually run homelabs or NAS servers.

PRs, issues, feature requests, commits, bug reports, and security feedback are open.

Repo: https://github.com/jR4dh3y/BoxBox

Source: dev.to

arrow_back Back to Tutorials