Fast, modern SMB share file browser with rich instant previews for images, documents, and code. Responsive UI built for speed and ease of use.
- 🌐 Browser-based SMB share viewer
- 📄 Rich file preview capabilities (starting with Markdown)
- 🔒 Secure credential management
- 🎨 Modern, responsive UI
- 🐳 Easy deployment with Docker
- Clone the repository:
git clone https://github.com/helgeklein/sambee.git
cd sambee- Open in VS Code:
code .-
Reopen in Container when prompted (or use Command Palette:
Remote-Containers: Reopen in Container) -
Start development servers:
# Backend (FastAPI)
cd backend && uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
# Frontend (React + Vite)
cd frontend && npm run devOr use VS Code tasks: Ctrl+Shift+P → Tasks: Run Task
docker compose up -dAccess the application at http://localhost
- Backend: FastAPI (Python 3.13)
- Frontend: React 18 with TypeScript + Vite
- Database: SQLite
- SMB Library: smbprotocol
See DEVELOPMENT.md for detailed development setup instructions.
Sambee uses Ruff for Python (backend) and Biome for TypeScript/JavaScript (frontend).
./scripts/lintThis runs:
- Backend:
ruff checkandruff format --check - Frontend:
biome check
./scripts/formatThis runs:
- Backend:
ruff check --fixandruff format - Frontend:
biome check --writeandbiome format --write
Backend only:
cd backend
ruff check app # Check for issues
ruff check --fix app # Auto-fix issues
ruff format app # Format codeFrontend only:
cd frontend
npm run lint # Check for issues
npm run lint:fix # Auto-fix issues
npm run format # Format codeSambee includes comprehensive logging to help diagnose issues:
# View all logs with status
/workspace/scripts/logs
# Show more lines
/workspace/scripts/logs -n 100
# Follow logs in real-time
/workspace/scripts/logs -f
# Or view individual logs
tail -f /tmp/backend.log
tail -f /tmp/frontend.log
tail -f /tmp/dev-start.log
tail -f /tmp/post-start.log/tmp/backend.log- FastAPI backend logs (includes startup, requests, errors)/tmp/frontend.log- Vite frontend logs (includes build output, HMR)/tmp/dev-start.log- Dev server startup logs/tmp/post-start.log- Container post-start hook logs
If logs get too large:
/workspace/scripts/rotate-logsThis archives current logs and starts fresh files.
Backend:
- Application startup/shutdown with timestamps
- Database initialization
- All HTTP requests with duration (e.g.,
→ GET /api/browse - 200 (45.2ms)) - SMB connection attempts and failures
- Errors with full stack traces
Frontend:
- Vite server startup
- Build progress
- Hot module replacement (HMR) updates
- Build errors
Startup Scripts:
- Post-start command execution
- Dev server launch attempts
- Process IDs and verification
- Failure diagnostics with log tails
MIT