"All the file management of a desktop OS, from a browser tab."
B.L.I.S.S. is a self-hosted, browser-based file manager that runs inside a Docker container and gives you a full windowed desktop experience for managing files on your server. Think Windows Explorer, but it lives at an IP address.
---- Windowed interface — Multiple resizable, draggable windows, each browsing an independent path
- Snap Assist — Drag a window to the top of the screen to snap it into halves or quarters, just like a real desktop
- Three view modes — Details list, Large Icons, and Small Icons
- Full file operations — Copy, cut, paste, rename, delete, new folder, upload, download
- Bulk operations — Select multiple files with Ctrl+Click or Shift+Click, then act on all of them at once
- ZIP support — Create archives from selections, extract ZIP files in-place
- Text editor — Built-in editor with syntax highlighting (via highlight.js), line numbers, word wrap, find, and rich-text mode for prose files
- File preview — Preview images, text files, PDFs, audio, and video without leaving the browser
- Drag and drop — Move files between windows by dragging them
- Desktop shortcuts — Pin frequently used folders to the desktop
- Pinned sidebar locations — Pin any folder to the sidebar for quick access across sessions
- Search — Per-window search with live results
- Permissions viewer — Inspect file ownership and chmod values
- Wallpaper system — Set a custom desktop background with fit/fill/tile options
- Themes — Light (WhoDASH) and Dark modes
- Persistent settings — Theme, wallpaper, pinned locations, and desktop shortcuts survive container restarts
- Keyboard shortcuts — Full keyboard navigation (press
?to see the list) - Multi-volume support — Mount as many storage locations as you need via environment variables
![]() |
![]() |
docker pull belmontlabs/belmont-labs-iss:latestThen use the provided docker-compose.yml to configure your volume mounts and run it:
docker compose up -dOpen your browser to http://your-server-ip:8008.
version: '3.8'
services:
belmont-storage:
image: belmontlabs/belmont-labs-iss:latest
container_name: belmont-labs-iss
ports:
- "8008:8008"
restart: unless-stopped
environment:
- PORT=8008
- STORAGE_HOME=/data/home
- STORAGE_DOCUMENTS=/data/documents
- STORAGE_DOWNLOADS=/data/downloads
- STORAGE_1=/data/volume1 # Add as many as you need
- SETTINGS_FILE=/data/config/settings.json
volumes:
- /your/home/dir:/data/home
- /your/documents:/data/documents
- /your/downloads:/data/downloads
- /your/volume1:/data/volume1
- /your/config/dir:/data/config # Persistent settingsB.L.I.S.S. discovers storage locations from environment variables at startup. Any STORAGE_* variable pointing to a valid mounted path will appear in the Available Locations section of the Places menu and in every window's sidebar.
The three built-in locations (STORAGE_HOME, STORAGE_DOCUMENTS, STORAGE_DOWNLOADS) map to the Pinned Locations at the top of the Places menu.
| Env Variable | Purpose |
|---|---|
STORAGE_HOME |
Home directory |
STORAGE_DOCUMENTS |
Documents |
STORAGE_DOWNLOADS |
Downloads |
STORAGE_1 … STORAGE_N |
Additional volumes (any name after STORAGE_) |
SETTINGS_FILE |
Path to persistent settings JSON file |
PORT |
Port the server listens on (default: 8008) |
git clone https://github.com/Xanthey/bliss.git
cd bliss
docker compose up --build -dOr use the deploy script to bump the version, build multi-arch images, push to Docker Hub, and push to GitHub all in one command:
./bliss_deploy.sh # auto-increment patch version
./bliss_deploy.sh 1.2.0 # explicit version
./bliss_deploy.sh 1.2.0 amd64 # amd64 only (skips slow QEMU arm64 build)| Layer | Technology |
|---|---|
| Frontend | Vanilla JS, HTML, CSS — no framework, no build step |
| Backend | Node.js + Express |
| Syntax highlighting | highlight.js |
| Container | Docker (multi-arch: linux/amd64, linux/arm64) |
| Shortcut | Action |
|---|---|
Ctrl+A |
Select all |
Ctrl+C / X / V |
Copy / Cut / Paste |
Delete |
Delete selected |
F2 |
Rename selected |
Ctrl+U |
Upload files |
Ctrl+Shift+N |
New folder |
Ctrl+F |
Focus search |
Ctrl+1 / 2 / 3 |
Switch view mode |
Alt+← / → |
Navigate back / forward |
Alt+↑ |
Go up one directory |
Backspace |
Go back |
F5 or Ctrl+R |
Refresh |
F11 |
Maximize / restore window |
Ctrl+W |
Close window |
Ctrl+M |
Minimize window |
? or F1 |
Show keyboard shortcuts |
MIT — do what you like with it.
Belmont Labs — belmontlabs.dev


