Seafile
At a glance
Section titled “At a glance”| Capability | Support |
|---|---|
| rclone support tier | Tier 3: Supported |
| Checksums | None |
| Modification times | Not kept: files show their upload time |
| Case-insensitive names | No |
| Duplicate names allowed | No |
| Server-side copy | Yes |
| Server-side move and rename | Yes |
| Folder move and rename | Yes, in one step |
| Free space reporting | Yes |
| Empty folders | Yes |
| Change notifications | No |
| Uploads of unknown size | Yes |
| Public links | Yes |
This is a backend for the Seafile storage service:
- It works with both the free community edition or the professional edition.
- Seafile versions 6.x, 7.x, 8.x and 9.x are all supported.
- Encrypted libraries are also supported.
- It supports 2FA enabled users
- Using a Library API Token is not supported
Setup notes
Section titled “Setup notes”In CloudMount you add this drive from the Add drive screen, and the wizard asks for the options listed under Options. The notes below come from rclone’s setup guide.
Configuration in root mode
Section titled “Configuration in root mode”Here is an example of making a seafile configuration for a user with no two-factor authentication. First run
rclone configThis will guide you through an interactive setup process. To authenticate you will need the URL of your server, your email (or username) and your password.
No remotes found, make a new one\?n) New remotes) Set configuration passwordq) Quit confign/s/q> nname> seafileType of storage to configure.Enter a string value. Press Enter for the default ("").Choose a number from below, or type in your own value[snip]XX / Seafile \ "seafile"[snip]Storage> seafile** See help for seafile backend at: https://rclone.org/seafile/ **
URL of seafile host to connect toEnter a string value. Press Enter for the default ("").Choose a number from below, or type in your own value 1 / Connect to cloud.seafile.com \ "https://cloud.seafile.com/"url> http://my.seafile.server/User name (usually email address)Enter a string value. Press Enter for the default ("").user> me@example.comPasswordy) Yes type in my own passwordg) Generate random passwordn) No leave this optional password blank (default)y/g> yEnter the password:password:Confirm the password:password:Two-factor authentication ('true' if the account has 2FA enabled)Enter a boolean value (true or false). Press Enter for the default ("false").2fa> falseName of the library. Leave blank to access all non-encrypted libraries.Enter a string value. Press Enter for the default ("").library>Library password (for encrypted libraries only). Leave blank if you pass it through the command line.y) Yes type in my own passwordg) Generate random passwordn) No leave this optional password blank (default)y/g/n> nEdit advanced config? (y/n)y) Yesn) No (default)y/n> nRemote configTwo-factor authentication is not enabled on this account.--------------------[seafile]type = seafileurl = http://my.seafile.server/user = me@example.compass = *** ENCRYPTED ***2fa = false--------------------y) Yes this is OK (default)e) Edit this remoted) Delete this remotey/e/d> yThis remote is called seafile. It’s pointing to the root of your seafile
server and can now be used like this:
See all libraries
rclone lsd seafile:Create a new library
rclone mkdir seafile:libraryList the contents of a library
rclone ls seafile:librarySync /home/local/directory to the remote library, deleting any
excess files in the library.
rclone sync --interactive /home/local/directory seafile:libraryConfiguration in library mode
Section titled “Configuration in library mode”Here’s an example of a configuration in library mode with a user that has the two-factor authentication enabled. Your 2FA code will be asked at the end of the configuration, and will attempt to authenticate you:
No remotes found, make a new one\?n) New remotes) Set configuration passwordq) Quit confign/s/q> nname> seafileType of storage to configure.Enter a string value. Press Enter for the default ("").Choose a number from below, or type in your own value[snip]XX / Seafile \ "seafile"[snip]Storage> seafile** See help for seafile backend at: https://rclone.org/seafile/ **
URL of seafile host to connect toEnter a string value. Press Enter for the default ("").Choose a number from below, or type in your own value 1 / Connect to cloud.seafile.com \ "https://cloud.seafile.com/"url> http://my.seafile.server/User name (usually email address)Enter a string value. Press Enter for the default ("").user> me@example.comPasswordy) Yes type in my own passwordg) Generate random passwordn) No leave this optional password blank (default)y/g> yEnter the password:password:Confirm the password:password:Two-factor authentication ('true' if the account has 2FA enabled)Enter a boolean value (true or false). Press Enter for the default ("false").2fa> trueName of the library. Leave blank to access all non-encrypted libraries.Enter a string value. Press Enter for the default ("").library> My LibraryLibrary password (for encrypted libraries only). Leave blank if you pass it through the command line.y) Yes type in my own passwordg) Generate random passwordn) No leave this optional password blank (default)y/g/n> nEdit advanced config? (y/n)y) Yesn) No (default)y/n> nRemote configTwo-factor authentication: please enter your 2FA code2fa code> 123456Authenticating...Success!--------------------[seafile]type = seafileurl = http://my.seafile.server/user = me@example.compass =2fa = truelibrary = My Library--------------------y) Yes this is OK (default)e) Edit this remoted) Delete this remotey/e/d> yYou’ll notice your password is blank in the configuration. It’s because we only need the password to authenticate you once.
You specified My Library during the configuration. The root of the remote is
pointing at the root of the library My Library:
See all files in the library:
rclone lsd seafile:Create a new directory inside the library
rclone mkdir seafile:directoryList the contents of a directory
rclone ls seafile:directorySync /home/local/directory to the remote library, deleting any
excess files in the library.
rclone sync --interactive /home/local/directory seafile:--fast-list
Section titled “--fast-list”Seafile version 7+ supports --fast-list which allows you to use fewer
transactions in exchange for more memory. See the rclone
docs for more details.
Please note this is not supported on seafile server version 6.x
Restricted filename characters
Section titled “Restricted filename characters”In addition to the default restricted characters set the following characters are also replaced:
| Character | Value | Replacement |
|---|---|---|
| / | 0x2F | / |
| “ | 0x22 | " |
| \ | 0x5C | \ |
Invalid UTF-8 bytes will also be replaced, as they can’t be used in JSON strings.
Seafile and rclone link
Section titled “Seafile and rclone link”Rclone supports generating share links for non-encrypted libraries only. They can either be for a file or a directory:
$ rclone link seafile:seafile-tutorial.dochttp://my.seafile.server/f/fdcd8a2f93f84b8b90f4/or if run on a directory you will get:
$ rclone link seafile:dirhttp://my.seafile.server/d/9ea2455f6f55478bbb0d/Please note a share link is unique for each file or directory. If you run a link command on a file/dir that has already been shared, you will get the exact same link.
Compatibility
Section titled “Compatibility”It has been actively developed using the seafile docker image of these versions:
- 6.3.4 community edition
- 7.0.5 community edition
- 7.1.3 community edition
- 9.0.10 community edition
Versions below 6.0 are not supported. Versions between 6.0 and 6.3 haven’t been tested and might not work properly.
Each new version of rclone is automatically tested against the latest docker image
of the seafile community server.
Options
Section titled “Options”Standard options
Section titled “Standard options”The wizard asks for these when you add the drive.
URL of seafile host to connect to.
Type: string · Required
Choices:
https://cloud.seafile.com/: Connect to cloud.seafile.com.
User name (usually email address).
Type: string · Required
Password.
NB Input to this must be obscured - see rclone obscure.
Type: string
Two-factor authentication (‘true’ if the account has 2FA enabled).
Type: bool · Default: false
library
Section titled “library”Name of the library.
Leave blank to access all non-encrypted libraries.
Type: string
library_key
Section titled “library_key”Library password (for encrypted libraries only).
Leave blank if you pass it through the command line.
NB Input to this must be obscured - see rclone obscure.
Type: string
Advanced options
Section titled “Advanced options”The wizard shows these under Advanced options. Most drives work without changing any of them.
create_library
Section titled “create_library”Should rclone create a library if it doesn’t exist.
Type: bool · Default: false
encoding
Section titled “encoding”The encoding for the backend.
See the encoding section in the overview for more info.
Type: Encoding · Default: Slash,DoubleQuote,BackSlash,Ctl,InvalidUtf8,Dot
description
Section titled “description”Description of the remote.
Type: string