A web-based file manager for rclone with a server-side download queue.
- Dual-panel file manager — browse, copy, move, and delete files between rclone remotes
- Server-side download queue — queued transfers persist in SQLite and process in the background, even when the browser is closed or the laptop sleeps
- Auto-refreshing UI — file panels and transfer status update automatically
- Transfer management — cancel active transfers with immediate visual feedback
- State persistence — selected remotes and paths are remembered across page reloads
- Single container — rclone and the web UI are bundled together
- Dark teal theme — styled to match gethomepage
Browser --> FastAPI (:8080) --> rclone rcd (:5572)
| (same container)
SQLite queue.db
The container runs both rclone (rclone rcd) and the FastAPI backend. The backend proxies all rclone RC API calls and manages the download queue.
- Docker and Docker Compose
- An rclone configuration (
~/.config/rclone/rclone.conf) with at least one remote configured
git clone https://github.com/a-rank/rclone-ui.git
cd rclone-ui
docker compose up --build -dThe UI will be available at http://localhost:5572.
Edit docker-compose.yml to adjust volume paths and credentials.
docker exec -it rclone-ui rclone config| Variable | Default | Description |
|---|---|---|
RCLONE_USER |
admin |
rclone RC auth username |
RCLONE_PASS |
admin |
rclone RC auth password |
RCLONE_TRANSFERS |
1 |
Max concurrent file transfers |
QUEUE_DB_PATH |
/data/queue.db |
Path to SQLite queue database |
QUEUE_POLL_INTERVAL |
5 |
Seconds between queue processing ticks |
- Backend: Python, FastAPI, uvicorn, httpx, aiosqlite
- Frontend: Vanilla JS (ES6 modules), CSS
- Font: Manrope
- Queue: SQLite with background asyncio task