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 ssh All types of cloud storage currently supported are listed in :ref:`supported_cloud_storage`. To unmount a directory, run:: solidipes unmount -p Mounting information is saved in ``.solidipes/cloud.yaml``. To mount again a directory that has already been mounted before, just run:: solidipes mount -p 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 -c s3 s3 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 ssh 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 nfs 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 smb 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 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.