Cloud mount
Solidipes can help you work with files stored in the cloud seamlessly, as if they were on your computer.
Setup a directory linked to cloud storage
To setup a directory linked to cloud storage, use the solidipes mount command. For example, to mount a remote directory using SSH, run:
solidipes mount -p <local-path> ssh <user@host:path>
All types of cloud storage currently supported are listed in Supported cloud storage.
To unmount a directory, run:
solidipes unmount -p <local-path>
Mounting information is saved in .solidipes/cloud.yaml. To mount again a directory that has already been mounted before, just run:
solidipes mount -p <local-path>
without providing any additional information.
Listing current mounts
To list all the directories that are mounted or have been mounted at some point and show their mounting status, run:
solidipes mount -l
Mounting all saved directories
To mount all the directories that have been mounted at some point, run:
solidipes mount -a
Keys and passwords
Private connection information, such as keys or passwords, is stored in the user’s home directory, in ~/.solidipes/cloud.yaml. To save this information in the project directory instead, run the mount command with the -k option (or --public-keys). WARNING: If you publish your study, the keys will be visible to anyone, and everybody will be able to access you cloud directory (potentially with write access).
Converting a local directory to cloud storage
To move the content of a local directory to cloud storage, insert the --convert or -c option in the mount command. For example:
solidipes mount -p <local-path> -c s3 <endpoint-url...
Supported cloud storage
S3
The general command to mount S3 storage is:
solidipes mount -p <local-path> s3 <endpoint-url> <bucket-name> <access-key-id> <secret-access-key>
By default, mounting S3 storage requires JuiceFS, which must be installed manually. To use S3FS instead, run the same command as above with the additional option:
-s s3fs
Unless specified, a directory with a unique random name is created in the cloud storage, and its content is mounted. Private credentials are saved in the user’s home directory, in ~/.solidipes/cloud.yaml.
SSH
The general command to mount a remote directory over SSH is:
solidipes mount -p <local-path> ssh <user@host:path>
The only system implemented to mount SSH storage is SSHFS, which may need to be installed. For example, using apt:
sudo apt install sshfs
We recommend setting up the SSH connection so that it happens using SSH keys rather than passwords.
NFS
The general command to mount a remote directory over NFS is:
solidipes mount -p <local-path> nfs <host:path>
Solidipes uses the mount command to mount NFS storage. You may need to install the NFS client package. For example, using apt:
sudo apt install nfs-common
Since the mount command requires sudo privileges, you will be asked for your local password for mounting and when unmounting with the solidipes unmount command.
SMB
The general command to mount a remote directory over SMB is:
solidipes mount -p <local-path> smb <//host/path>
If you enter the remote target with backslashes, they will probably need to be escaped as \\\\host\\path. To specify a username, add the option:
-u <username>
Solidipes uses the mount command to mount SMB storage. On Linux, it uses the LinuxCIFS utils, which may need to be installed, using for example:
sudo apt install cifs-utils psmisc
As for the NFS type mount, the mount command requires sudo privileges. Therefore, you will be asked for your local password for mounting and when unmounting with the solidipes unmount command.