* Package scripts that are shipped by upstream in their binary download
* Includes setup scripts (setup-seafile.sh to use SQLite,
setup-seafile-mysql.{sh,py} to use MySQL) and control scripts
(seafile.sh, seahub.sh)
* Does not include seafile-admin, which is not shipped in upstream's
binary download. Combined with the fact that it hasn't been updated
to Python 3 suggests the script has been abandoned.
* Replace previous init scripts with a simplified script
* Previous init scripts (seafile.init, seahub.init) were modified from
older versions of seafile.sh and seahub.sh, but they haven't kept up
with changes to upstream's scripts
* New init script (seafile-server.init) start/stops both Seafile and
Seahub (there is no need to control them separately) by calling
upstream's control scripts
* Replace previous package config file with new config file
* Options in previous config file (seafile.conf) were mainly for using
Seahub in FastCGI mode. FastCGI was deprecated in Django 1.7 and
removed in 1.9; upstream's control script will only start Seahub
using Gunicorn. (Options for Gunicorn including port number can be
changed by editing /etc/seafile/conf/gunicorn.conf.py.)
* New config file (seafile-server.config) has one option that controls
where the Seafile/Seahub data directories are stored
* Patch scripts/binaries to use standard, system-wide directory
locations
* Script files (wrappers for binaries) in /usr/bin
* Binaries (not meant to be run directly by the user) in /usr/libexec
* Config files in /etc/seafile
* Pid/socket files in /var/run/seafile
* Logs in /var/log/seafile
* Include a new script to create the first admin account
* With upstream's original scripts, the user is required to
interactively create the first admin account when Seahub is started
for the first time
* The user will now use the new script (create-seafile-admin.sh) to
create the first admin account after setup (using setup-seafile.sh
or setup-seafile-mysql.sh) and before starting Seafile/Seahub
* seahub.sh is patched to only check if there is at least one admin
account and exit with an error if there is no admin account
* Remove build config options and add seafile-server-fuse package
* The console option controls whether the console window is shown when
Seafile server is run on Windows. It has no use on Linux.
* The fuse option controls whether seaf-fuse is built. (seaf-fuse is a
FUSE implementation that allows the Seafile database/file system to
be mounted to a local directory.) seaf-fuse is now always built and
is available in a separate package (seafile-server-fuse).
* Add myself as a maintainer
Signed-off-by: Jeffery To <jeffery.to@gmail.com>
Seafile Server on OpenWrt
Installation Notes
First-time Installation
-
Consider where you would like the Seafile data directory (
seafile-data), Seahub data directory (seahub-data), and the Seahub database (seahub.db, if you will be using SQLite) to be stored.This location can be configured in
/etc/config/seafile-server(using the data_dir option); the default is/usr/share/seafile.If you are certain you will use a custom location, set this location in
/etc/config/seafile-serverbefore continuing with the other installation steps. -
Run one of the two setup scripts:
-
To use SQLite:
# setup-seafile -
To use MySQL:
# setup-seafile-mysql
-
-
Create a Seafile admin account:
# create-seafile-admin -
Start Seafile server:
# service seafile-server start
Upgrading
Please run the appropriate upgrade scripts in
/usr/share/seafile/seafile-server/upgrade before using the new
version.
For more information, see https://download.seafile.com/published/seafile-manual/upgrade/upgrade.md.
Note that since version 7.1, configuration files are stored in
/etc/seafile instead of /usr/share/seafile.
If you are upgrading from a version before 7.1:
-
Run the upgrade scripts in
/usr/share/seafile/seafile-server/upgradeup to 7.1. -
Move the
confandccnetdirectories from/usr/share/seafileto/etc/seafile. -
If you are using a custom Seafile data directory location and have set this in
ccnet/seafile.ini:Starting with 7.1, the Seafile data directory location will be taken from
/etc/config/seafile-server, and any setting inccnet/seafile.iniwill be ignored.It is strongly recommended to migrate the custom location setting to
/etc/config/seafile-serverand rename/remove theseafile.inifile.Note that the data_dir option in /etc/config/seafile-server determines the parent path to the Seafile data directory (along with the Seahub data directory and the Seahub database, if you are using SQLite). The actual Seafile data directory must be named
seafile-data.For example, if your Seafile data directory is
/srv/seafile/my-seafile-data:-
Rename the directory to
seafile-data, so now the Seafile data directory is/srv/seafile/seafile-data. -
Move the Seahub data directory (
seahub-data) from/usr/share/seafileinto/srv/seafile. -
If you are using SQLite, move the Seahub database (
seahub.db) from/usr/share/seafileinto/srv/seafile. -
Set the data_dir option in
/etc/config/seafile-serverto the parent path,/srv/seafile. -
Rename or delete
ccnet/seafile.ini.
-
-
Review/update your Seahub settings. In previous versions of the Seahub OpenWrt package, some of Seahub's default settings (in
/usr/share/seafile/seafile-server/seahub/seahub/settings.py) were modified from the defaults shipped by upstream.Starting with 7.1, Seahub's default settings are the same as upstream, with custom settings added to
/etc/seafile/conf/seahub_settings.pyduring setup for new installations.To use the same custom settings in your upgraded installation, add these lines to
/etc/seafile/conf/seahub_settings.py:# Custom settings for OpenWrt USE_I18N = False USER_PASSWORD_MIN_LENGTH = 8 USER_STRONG_PASSWORD_REQUIRED = True -
Continue running the upgrade scripts up to the new version.