CLI and tray tools for mounting rclone remotes
Project description
Mountlet
Mountlet is a terminal app for mounting and unmounting rclone
remotes from a simple menu. It uses your existing rclone configuration and
does not store cloud credentials inside the application install directory.
How It Works
Mountlet is a friendly control panel for two standard tools:
rcloneconnects to cloud storage providers such as Google Drive, Dropbox, S3-compatible storage, and WebDAV.- FUSE lets Linux show a cloud remote as if it were a normal folder on your computer.
This app reads your rclone remotes, creates local mount folders, and starts or
stops rclone mount for you.
Requirements
- Python 3.10 or newer.
rclone, which connects to your cloud storage.- FUSE, which lets Linux show mounted cloud storage as folders.
On Ubuntu, install the system tools with:
sudo apt install rclone fuse3
Install
For isolated CLI use:
pipx install mountlet
For the desktop tray preview:
pipx install "mountlet[tray]"
For a local checkout:
python -m pip install .
Use
Open Mountlet:
mountlet
The app checks whether your computer is ready before it opens the menu. If something is missing, it prints the next step instead of dropping you into an empty screen.
For a guided setup check:
mountlet setup
If you have not added any cloud storage to rclone yet, let setup open
rclone's connection flow:
mountlet setup --configure-rclone
Normal use is:
mountlet
Quitting the menu leaves mounted remotes connected. Use u in the menu to
unmount everything.
Desktop Tray Preview
The tray app is optional and uses PySide6. Start it with:
mountlet tray
If you installed the CLI without tray support, add PySide6 with:
pipx inject mountlet PySide6
The tray app uses the tray icon this way:
- Hover shows a short mounted/unmounted summary.
- Left-click shows each remote with mount, unmount, restart-mount, and open-folder actions.
- Right-click shows app-level actions such as mount all, unmount all, update status, and quit.
If your desktop session does not expose a system tray, use the terminal menu instead.
Extra Commands
These are useful for backup, troubleshooting, or moving to another computer:
mountlet path
mountlet verify
mountlet verify --auto-reconnect
mountlet reconnect --remote MyRemote
mountlet export ~/mountlet-backup
mountlet import --config ~/mountlet-backup/rclone.conf
File Locations
Mountlet keeps application data in user-specific locations and leaves
rclone credentials in the standard rclone location.
On Linux:
~/.config/rclone/rclone.conf: rclone remotes and credentials.~/.config/mountlet/config.toml: Mountlet preferences.~/.config/mountlet/mounts.toml: per-remote mount preferences.~/.local/state/mountlet/: runtime state.~/.cache/mountlet/: cache files.~/cloud_mounts/: default mount root.
Print the paths for your system:
mountlet path
Create the Mountlet user folders:
mountlet path --ensure
That command also creates starter config.toml and mounts.toml files if they
do not exist yet.
Override the mount root for a shell session:
export MOUNTLET_MOUNT_BASE=/path/to/mounts
App Settings
Use config.toml for app-wide behavior:
[app]
mount_base = ""
auto_mount = false
auto_mount_delay = 2.0
[tray]
open_folder_behavior = "current_desktop"
focus_file_manager = true
Use mounts.toml for per-remote behavior. Remote names must match the names in
rclone.
[remotes."Work__Drive"]
auto_mount = true
mount_path = "~/cloud_mounts/drive/Work"
mount_flags = "--read-only --dir-cache-time 10m"
Keep cloud account details in rclone.conf; use these files only for Mountlet
behavior.
Credentials
rclone.conf can contain OAuth tokens and provider credentials. Treat exported
bundles as sensitive files.
- Do not share real
rclone.conffiles. - Do not share
client_secret*.jsonfiles. - Store backups outside application install directories.
- Review exported bundles before copying them to another machine.
Status
The current public target is Linux CLI use. The desktop tray is an early preview for the next product layer.
See the changelog for version history.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mountlet-0.2.0.tar.gz.
File metadata
- Download URL: mountlet-0.2.0.tar.gz
- Upload date:
- Size: 36.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c136ba5c38a75e8c29b95195b7b58627faca018ff07dfa1f7d9f608f61a920cf
|
|
| MD5 |
895d506e9f7998a212f47739003de308
|
|
| BLAKE2b-256 |
fb9b557ff4d813521da416eb520f54b9f3ff065af6c6840063f63d55adad42a8
|
Provenance
The following attestation bundles were made for mountlet-0.2.0.tar.gz:
Publisher:
python-publish.yml on eric-holt/mountlet
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mountlet-0.2.0.tar.gz -
Subject digest:
c136ba5c38a75e8c29b95195b7b58627faca018ff07dfa1f7d9f608f61a920cf - Sigstore transparency entry: 1696341676
- Sigstore integration time:
-
Permalink:
eric-holt/mountlet@50121e5c240c603402b51a2d5ada027e656955c0 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/eric-holt
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@50121e5c240c603402b51a2d5ada027e656955c0 -
Trigger Event:
push
-
Statement type:
File details
Details for the file mountlet-0.2.0-py3-none-any.whl.
File metadata
- Download URL: mountlet-0.2.0-py3-none-any.whl
- Upload date:
- Size: 30.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b863b4ba71713bd937fdde685591545e1bb81f777771d80809d6dc12090f7c98
|
|
| MD5 |
9e44aac4d80d76ddb82cb69b08338e05
|
|
| BLAKE2b-256 |
3e005c1d6872cfc98948ccf882b0bae2056353af796ec0d1cc50c9f32a4a0a63
|
Provenance
The following attestation bundles were made for mountlet-0.2.0-py3-none-any.whl:
Publisher:
python-publish.yml on eric-holt/mountlet
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
mountlet-0.2.0-py3-none-any.whl -
Subject digest:
b863b4ba71713bd937fdde685591545e1bb81f777771d80809d6dc12090f7c98 - Sigstore transparency entry: 1696341743
- Sigstore integration time:
-
Permalink:
eric-holt/mountlet@50121e5c240c603402b51a2d5ada027e656955c0 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/eric-holt
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
python-publish.yml@50121e5c240c603402b51a2d5ada027e656955c0 -
Trigger Event:
push
-
Statement type: