BoxBox
A modern, self-hosted web based file manager for your homelab. Built in SvelteKit & Go
File Explorer
Download Latest Version (.zip)- general.yml
- ideas.yml
- q-a.yml
- show-and-tell.yml
- bug_report.yml
- config.yml
- feature_request.yml
- ci.yml
- docker-branch.yml
- docker-nightly.yml
- docker-publish.yml
- dependabot.yml
- FUNDING.yml
- pull_request_template.md
- main.go
- config.go
- config_test.go
- constants.go
- auth.go
- auth_test.go
- errors.go
- file.go
- file_test.go
- handler.go
- job.go
- response.go
- search.go
- settings.go
- stream.go
- stream_property_test.go
- system.go
- websocket.go
- websocket_test.go
- auth.go
- auth_property_test.go
- logging.go
- logging_test.go
- middleware.go
- ratelimit.go
- ratelimit_test.go
- security.go
- security_property_test.go
- config.go
- config_test.go
- drivenames.go
- error.go
- file.go
- job.go
- model.go
- context.go
- fs.go
- fileutil.go
- path.go
- path_test.go
- auth.go
- auth_test.go
- discovery.go
- disk.go
- disk_other.go
- file.go
- file_property_test.go
- job.go
- job_property_test.go
- job_test.go
- path_safety.go
- path_safety_test.go
- search.go
- search_property_test.go
- service.go
- settings.go
- system.go
- system_drives.go
- thumbnail.go
- thumbnail_test.go
- upload.go
- upload_test.go
- walker.go
- .gitignore
- .gitkeep
- static.go
- client.go
- hub.go
- websocket.go
- .air.toml
- config.dev.yaml
- config.yaml
- go.mod
- go.sum
- api.md
- architecture.md
- awesome-selfhosted-boxbox.yml
- configuration.md
- development.md
- docker.md
- index.md
- quickstart.md
- release.md
- security.md
- troubleshooting.md
- auth.ts
- client.ts
- drive-names.ts
- files.ts
- index.ts
- jobs.ts
- system.ts
- AudioPreview.svelte
- CodePreview.svelte
- ImagePreview.svelte
- monaco.d.ts
- monacoLanguages.ts
- NotebookPreview.svelte
- OfficePreview.svelte
- PdfPreview.svelte
- registry.ts
- VideoPreview.svelte
- WallpaperPickerModal.svelte
- WallpaperSettings.svelte
- index.ts
- SettingsRow.svelte
- SettingsSection.svelte
- Badge.svelte
- Button.svelte
- Card.svelte
- ContextMenu.svelte
- index.ts
- InlineRename.svelte
- Input.svelte
- Modal.svelte
- ProgressBar.svelte
- ProgressButton.svelte
- Select.svelte
- Spinner.svelte
- Toast.svelte
- Toggle.svelte
- Breadcrumb.svelte
- BrowseDialogs.svelte
- DriveCard.svelte
- EditablePathBar.svelte
- FileGrid.svelte
- FileList.svelte
- FilePreview.svelte
- JobMonitor.svelte
- PicoLogo.svelte
- SearchBar.svelte
- Sidebar.svelte
- StatusBar.svelte
- SystemDriveCard.svelte
- Toolbar.svelte
- UploadDropzone.svelte
- UploadPanel.svelte
- UploadProgress.svelte
- auth.ts
- clipboard.svelte.ts
- files.ts
- jobs.ts
- settings.ts
- toast.svelte.ts
- upload.svelte.ts
- websocket.ts
- files.ts
- fileContextMenu.ts
- fileTypes.ts
- format.ts
- storage.ts
- upload.ts
- wallpaper.ts
- wallpaperStorage.ts
- config.ts
- index.ts
- +page.svelte
- +page.svelte
- +page.svelte
- +layout.svelte
- +layout.ts
- +page.svelte
- layout.css
- app.d.ts
- app.html
- favicon.svg
- robots.txt
- .gitignore
- .npmrc
- .prettierignore
- .prettierrc
- bun.lock
- eslint.config.js
- package.json
- svelte.config.js
- tsconfig.json
- vite.config.ts
- build-single.sh
- check-0.2-migration.sh
- dev.ts
- local-test.ts
- evernight.png
- light.png
- lucy.jpeg
- minami.jpg
- summer_1.png
- favicon.svg
- AppInterfaceDemo.astro
- DriveCard.astro
- FeaturesBento.astro
- ReleaseBanner.astro
- SidebarItem.astro
- SiteFooter.astro
- DocsLayout.astro
- Layout.astro
- docs.ts
- releases.ts
- releases.json.ts
- [slug].astro
- index.astro
- index.astro
- privacy.astro
- global.css
- .gitignore
- astro.config.mjs
- bun.lock
- package.json
- tsconfig.json
- .dockerignore
- .env.example
- .gitignore
- CHANGELOG.md
- CODE_OF_CONDUCT.md
- CONTRIBUTING.md
- docker-compose.yml
- Dockerfile
- LICENSE
- package.json
- README.md
- sec-audit-2026-08-07.md
- sec-audit.md
# Installation Guide
git clone https://github.com/jR4dh3y/BoxBox
Downloads the entire project code from GitHub to your computer.
cd BoxBox
Moves into the project folder you just downloaded.
2. Docker
Easy Recommended- Git Needed to download the project code from GitHub.
- Docker Desktop Needed to build and run containers. Install it and keep it running in the background.
curl -fsSLO https://raw.githubusercontent.com/jR4dh3y/BoxBox/master/docker-compose.yml
Runs the command against the services defined in the compose file.
docker compose pull
Runs the command against the services defined in the compose file.
docker compose up -d
Builds and starts all defined containers (server, database, etc.) at once, in the background.
Pulled directly from this repo's README.
3. Node.js
Easycd frontend
This project's files live in a subfolder, so move into it first.
npm install
Downloads and installs the libraries listed in package.json.
npm start
Starts the development/run server.
4. Go
Mediumcd backend
This project's files live in a subfolder, so move into it first.
go build ./...
Compiles the Go program into an executable.
go run .
Runs the Go program directly without a separate build step.
