Package Details: seafile-server 11.0.8-1

Git Clone URL: https://aur.archlinux.org/seafile-server.git (read-only, click to copy)
Package Base: seafile-server
Description: Seafile server core
Upstream URL: https://github.com/haiwen/seafile-server
Licenses: AGPL3
Conflicts: seafile
Submitter: eolianoe
Maintainer: Joffrey
Last Packager: Joffrey
Votes: 18
Popularity: 0.000000
First Submitted: 2017-01-07 15:22 (UTC)
Last Updated: 2024-04-20 09:42 (UTC)

Pinned Comments

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 8 Next › Last »

Joffrey commented on 2017-12-21 10:24 (UTC) (edited on 2018-01-23 05:58 (UTC) by Joffrey)

@pvagner You do not have too much interest to use a seahub for all your instances, if I understood correctly, because the upgrade must be done manually.

For a MySQL install, I have made a patch:

--- a/scripts/setup-seafile-mysql.py
+++ b/scripts/setup-seafile-mysql.py
@@ -304,14 +304,13 @@
-        self.bin_dir = os.path.join(self.install_path, 'seafile', 'bin')
+        self.bin_dir = '/usr/bin'
         self.central_config_dir = os.path.join(self.top_dir, 'conf')
         Utils.must_mkdir(self.central_config_dir)

     def check_pre_condiction(self):
         def error_if_not_exists(path):
             if not os.path.exists(path):
                 Utils.error('"%s" not found' % path)

         paths = [
-            os.path.join(self.install_path, 'seafile'),
             os.path.join(self.install_path, 'seahub'),
             os.path.join(self.install_path, 'runtime'),
         ]
--- a/tools/seafile-admin
+++ b/tools/seafile-admin
@@ -864,3 +864,10 @@
+    # seahub.db is useless with MySQL and crash the startup!
+    with open(files[3], 'r') as f:
+        for line in f:
+            if 'DATABASES' in line:
+                del(files[2])
+                break
+
     for fpath in files:
         if not os.path.exists(fpath):
             error('%s not found' % fpath)

It works very well free to you to use it now. But I would like that we can discuss to find good solutions for to be introduced in the PKGBUILD :)

It miss an active maintainer for this package. A big thank at @eolianoe who brought a lot of contributions to this package, but now the package is outdated since 1 month and email without answers...

I use seafile-server with MariaDB in production and I hope to see in the future seafile in community repository ;)

pvagner commented on 2017-12-19 19:28 (UTC)

@klemens I will try your suggestion however I am still very confused. I've installed seafile-server and seahub packages. I do have scripts and seahub folder inside /usr/share/seafile-server . These are owned by root so seafile user can't write into these folders. It's clear seahub python scripts have to be compiled into pyc or pyo files and language files have to be compiled into gettext mo files. When creating instance specific folders inside /srv/seafile/seafile.whatever.tld the suggestion is to create yet another seafile-server folder with seahub inside or how to do it properly and ideally as efficiently as possible? Might it be possible just doing a bind mount or something similar to use the exact same seahub folder for all the instances? Or am I missing something else?

klemens commented on 2017-12-18 15:52 (UTC)

@pvagner: I haven't tested this completely, as I am using postgresql, but I just played around a bit with the setup-seafile-mysql.{sh,py} scripts:

I first created the instance folder /srv/seafile/test.tld and in it a seafile-server folder like described in the wiki. Then I used the seahub-preupgrade script included in the seahub package to copy seahub and the upgrade scripts into it. Then I copied setup-seafile-mysql.{sh,py} into /srv/seafile/test.tld/seafile-server, but it complained that it could not find seafile and runtime, which can be fixed by just creating these tow folders. Afterwards the script ran fine until it actually wanted to connect to some mysql server, which I don't have.

I am not entirely sure if the seahub copy (reflink on btrfs and possibly xfs) is really necessary. The media/CACHE/ folder only contains some compiled css file in my instance, which possibly can be moved into another folder (like seahub-data). All other generated data is already stored outside.

pvagner commented on 2017-12-18 13:54 (UTC)

@klemens So for mysql setup we have to copy the seafile-server folder to instance specific folder and also copy seahub into that? Do we need instance specific seahub copy for each seafile-server instance? Is there no better way?

klemens commented on 2017-12-15 00:28 (UTC) (edited on 2017-12-15 00:29 (UTC) by klemens)

I packaged seafdav to enable the webdav-support in seafile: python2-wsgidav-seafile. This should work out of the box by configuring dav like described in the seafile manual.

@eolianoe: Feel free to also add this as an optional dependency. I can add you as a co-maintainer if you want.

Joffrey commented on 2017-12-14 10:46 (UTC) (edited on 2017-12-14 15:48 (UTC) by Joffrey)

@klemens You are right for the service it's an error. I have tested on another service and it's launched with the user despite the error... Sorry at @all :/ , I have signaled my error at @eolianoe by mail.

For an installation with MySQL the current package struct is problematic for running scripts. I use an alternative PKGBUILD to maintain seafile-server and seahub with a MySQL installation.

https://github.com/jojotango/packages/tree/master/seafile-server

https://github.com/jojotango/packages/tree/master/seahub

It's without any warranty, but it can help :)

klemens commented on 2017-12-13 16:25 (UTC)

I am not sure what problem @joffrey had, but the User-directive definitely belongs into the Service-section. Putting it into Unit means the service is started as root!

I also think mysql-python and ffmpeg should be optional dependencies, as seafile runs fine using only sqlite or postgresql and ffmpeg is only needed when creating video thumbnails and pulls in quite a large number of dependencies.

@pvagner: The scripts use paths relative to their own location to find the seafile installation which doesn't work when installed globally. But you can copy them to a local folder and manually adjust the path definitions at the top of the file. Most of them work fine afterwards.

pvagner commented on 2017-10-24 10:15 (UTC)

How have the initial setup instructions changed after packaging seahub? I can't find out how to run setup-seafile-mysql.sh script when seahub is installed system wide inside /usr/share/seafile-server.

eolianoe commented on 2017-09-27 19:15 (UTC)

@Captain_Rage: in the directory where you execute 'makepkg', that didn't change from the other version