Seafile package for YunoHost
Find a file
2019-11-03 12:58:43 +01:00
conf Fix args for some helpers 2019-10-11 21:42:02 +02:00
scripts Improve migration from old package 2019-11-03 12:58:43 +01:00
sources/patches Restrict authentication email domain for seahub 2019-08-01 15:15:29 +02:00
.gitattributes Add .gitattributes 2014-12-09 22:29:25 +01:00
.gitignore Many Fix and set /opt as default install dir 2017-12-09 21:09:19 +01:00
check_process Update manifest and be coherent 2019-10-27 14:58:33 +01:00
LICENSE Add license infos 2015-10-28 15:48:10 +01:00
manifest.json Update manifest and be coherent 2019-10-27 14:58:33 +01:00
README.md Add more info about email for user 2019-08-01 15:15:01 +02:00

Seafile For yunohost

Integration level
Install seafile with YunoHost

This package allow you to install seafile quickly and simply on a YunoHost server.
If you don't have YunoHost, please see here to know how to install and enjoy it.

Overview

Seafile is an open Source Cloud Storage application.

It's a Enterprise file sync and share platform with high reliability and performance. It's a file hosting platform with high reliability and performance. Put files on your own server. Sync and share files across different devices, or access all the files as a virtual disk.

Shipped version: 7.0.4

Screenshots

Cross Platform File Syncing Mobile File Access Seafile Drive client : a new nice way to work with your files File Sharing and Permission Control
Seafile organize files into libraries. Each library can be synced into any desktop computer, including Windows, Mac and Linux. User can also selectively sync any folder. Unsynced files can be accessed via a feature called “cloud file browser”. Seafile has a fantastic performance in file syncing. Tens of thousands of small files can be synced in a minute. Access files via Seafile mobile clients. Both Android and iOS are supported. Cached files can be used offline without the network environment. Users can also backup photos and contacts via the mobile clients. Seafile Drive client let users to extend the local disk space with the massive storage capacity on the Seafile server by mapping storage space on Seafile server as a virtual drive. User can access all files in Seafile immediately, without syncing them. Files can be used offline too. Libraries and folders can be shared to users or groups, with read-only or read-write permissions. Finer-grained permissions can be set to sub-folders after a folder is shared. Files can be shared to external users via sharing links. Sharing links can be protected by passwords and support setting an expiration date.
File Versioning and Snapshot File locking Online editing and co-authoring Audit Log
Seafile keeps versions for files and snapshots for folders. Users can restore a file or folder to an old version easily. Snapshot for folders is a handy way to protect files against ransomware. Using de-duplication technology, file versions are kept in an efficient way with reduced storage occupation. Seafile supports file locking to prevent concurrent editing of files and generating of conflicts files. Users can lock files in web UI or desktop clients. Office files are automatically locked when theyre opened. Seafile supports online editing and co-authoring for office files (including docx/pptx/xlsx) with integrating with Microsoft Office Online Server or Collabora Online server. Seafile also has a built-in preview for videos, audios, PDFs, images and text files. Seafile has following logs to help you monitoring your system : Login log: Users'login log- Traffic log: Recording how much traffic is generated via sharing link for each user - Access log: file access log via syncing clients, mobiles clients and Web interface - Edit log: file editing/modification log - Permission log: logs for file access permission changes

Demo

Documentation

YunoHost specific features

Multi-users support

This app support LDAP and the SSO authentification.

The restriction is that the user ID in this app is an email address. So it's potentially possible to have multiple user account with the same username. By example you can have john@yunohost.org and john@seafile.org. You can see the issue #5 wich describe this problem. You can check that you are not in this case if by going in seafile admin page in the user tab can see all account.

The best configuration is to give to each user an email which contains the domain used by seafile.

To fix this issue seahub don't allow any authentication from a user different than "username@seafile_domain.tld".

Supported architectures

Since seafile 6.3 the i386 architecture is no more supported.

Seafile no longer distribute binary for generic armhf architectures but rpi binary could work.

  • x86-64b - Build Status
  • ARMv8-A - Build Status
  • Jessie x86-64b - Build Status

Additional informations

Change URL

Since now it's possible to change domain or the url of seafile but use it with precaution because it has not been tested enough for a big production installation. For the authentication and user every email for authentication will have the new domain name. For example toto@old_domain.tld will be toto@new_domain.tld.

To do this run : `yunohost app change-url seafile -d new_domain.tld -p PATH new_path

Use a special user and put seafile binary in /opt dir :

In the new package version the install is by default in /opt dir, so it section is only usefull for user how as already installed seafile.

To do this open a console and do this command :

# stop seafile server
sudo service seafile-server stop

# Move all data to opt and change user
sudo mv /var/www/seafile /opt/yunohost/seafile
sudo addgroup seafile --system --quiet
sudo adduser seafile --disabled-login --ingroup seafile --system --quiet --shell /bin/bash --home /opt/yunohost/seafile

# Adapt configuration
sudo sed -i "s@user=www-data@user=seafile@g" /etc/init.d/seafile-server 
sudo sed -i "s@seafile_dir=/var/www/seafile@seafile_dir=/opt/yunohost/seafile@g" /etc/init.d/seafile-server
sudo sed -i "s@alias /var/www/seafile/@alias /opt/yunohost/seafile/@g" /etc/nginx/conf.d/$(sudo yunohost app setting seafile domain).d/seafile.conf

# Set the good user for seafile
sudo chown seafile:seafile -R /opt/yunohost/seafile
sudo chown seafile:seafile -R /home/yunohost.app/seafile-data/

# Restart services
sudo rm -rf /tmp/seahub_cache
sudo systemctl daemon-reload
sudo service nginx reload
sudo service seafile-server start

Install

From command line:

sudo yunohost app install -l seafile https://github.com/YunoHost-Apps/seafile_ynh

Upgrade

From command line:

sudo yunohost app upgrade seafile -u https://github.com/YunoHost-Apps/seafile_ynh

Developers infos

Please do your pull request to the testing branch.

To try the testing branch, please proceed like that.

sudo yunohost app install https://github.com/YunoHost-Apps/seafile_ynh/tree/testing --debug
or
sudo yunohost app upgrade seafile -u https://github.com/YunoHost-Apps/seafile_ynh/tree/testing --debug

License

Seafile server and its desktop clients are published under GPLv2.

Mobile clients are published under the GPLv3.

The Seafile server's web end, i.e. Seahub, is published under the Apache License.

This package is published under MIT License

TODO