github jR4dh3y/BoxBox v0.3.0
BoxBox v0.3.0

8 hours ago

This release adds file and folder sharing, folder uploads, separate Drives and Places, and a redesigned share page. It also moves the default container port from 80 to 8080.

BoxBox promo

▶ Watch BoxBox in 40 seconds on YouTube, or download boxbox-promo.mp4 below. Music: “the kill 2” by Lex Amarni & 2muchmotion.

Highlights

  • File and folder sharing. Token links for any file or folder. Folder links offer View only, Upload only, Upload + delete, and Full access. Links can expire, can be revoked, and are managed from Settings → Shared Links.
  • Public share page. Recipients get a path bar, file list, previews, a code editor for text files (read-only unless the link has full access), previous/next navigation with arrow keys, and ZIP downloads for folders. No account needed.
  • Folder uploads. Choose a folder or drag one in, from the file browser or a full-access share page. Nested paths stay intact.
  • Drives and Places. The sidebar lists them separately. A mount inside another mount is a place. Set kind: drive or kind: place to choose explicitly.
  • Owner wallpaper on share pages. Each user's wallpaper is stored on the server and shown to their share recipients.

Fixed

  • auto_discover mounts were dropped at startup; discovered drives appear again, and inaccessible ones are skipped.
  • chunk_size_mb now controls browser upload chunks (default 10).
  • Context-menu keyboard shortcuts (F2, Delete, Ctrl/Cmd+C/X/V) now work, and dialogs take focus when opened.
  • --dev mode no longer fails config validation; the local test flow works again.
  • Path-safety and folder-navigation race fixes in sharing and browsing.

Under the hood

  • Go 1.27 toolchain and standard-library uuid; frontend state moved to Svelte 5 runes and the browse page was split into composables.
  • WebSocket and job messages are parsed and validated at the boundary, with reconnect backoff tests.
  • Nightly and branch images now publish to separate boxbox-nightly and boxbox-branch packages.

Upgrade notes

  • The container listens on 8080 now. The container side of the port mapping, the healthcheck, and any reverse proxy that reaches the container directly must match port in config.yaml (or BOXBOX_PORT). The easiest path is the new docker-compose.yml plus port: 8080 in your config. If you keep the v0.2.2 compose file (mapped and health-checked on 80), set BOXBOX_PORT=80 instead.
  • Share links and wallpapers live in /data (shares.json, wallpapers/). Keep the boxbox-data volume.
  • Nested mounts move from Drives to Places. Add kind: drive to keep one listed as a drive.
  • Back up shares.json before downgrading.

Full notes: https://boxbox.radhey.dev/docs/release/

Docker images

ghcr.io/jr4dh3y/boxbox:v0.3.0
ghcr.io/jr4dh3y/boxbox:latest
BOXBOX_IMAGE=ghcr.io/jr4dh3y/boxbox:v0.3.0 docker compose pull
BOXBOX_IMAGE=ghcr.io/jr4dh3y/boxbox:v0.3.0 docker compose up -d

Full changelog: v0.2.2...v0.3.0

Don't miss a new BoxBox release

NewReleases is sending notifications on new releases.