Package Details: seafile-server 6.2.5-5

Git Clone URL: https://aur.archlinux.org/seafile-server.git (read-only)
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: 13
Popularity: 0.359229
First Submitted: 2017-01-07 15:22
Last Updated: 2018-02-26 11:09

Latest Comments

Joffrey commented on 2018-02-26 11:20

@all Some dependencies have been updated. The stability can not be guaranteed, you can wait the next update.

Captain_Rage commented on 2018-02-15 20:41

@cybertron See the recent comment for the seahub package.

cybertron commented on 2018-02-15 18:37

What is the acutal upgrade way? I used the seahub-preupgrade function after upgrading the arch packages but this function does not exsist anymore?

Joffrey commented on 2018-02-02 13:45

Major changes for v6.2.5-2 see ChangeLog : pacman -Qc seafile-server

After upgrade you'll must restart the daemon

klemens commented on 2018-01-27 20:40

The 6.2.5 release is currently broken: The updated seaserv python lib in seafile-server depends on the get_group_repos_by_user function to the seafile python lib added in e16e5401e, but the seafile lib is packaged in the seafile package and not seafile-server. However, this change is not included in seafile version 6.1.4 (it is not even anywhere in the repo and in the seafile-server repo it is only in the 6.2 branch and not in master, really confusing).

I temporarily "fixed" it by manually replacing rpcclient.py with the one from seafile-server…

pvagner commented on 2018-01-03 13:04

Either I am too stupid or this is all just a nightmare. I have built and installed all the packages including seahub and seafile-server. By reading the wiki page and remembering my folder structure from before the seahub has been installed as a package I had the following directory structure: /srv/seafile for holding as many subfolders as I plan to run seafile sites on this machine. So it will include at least one folder e.g. files.domain.tld. Inside that folder there should be folders such as ccnet, seafile-data, seafile-server and conf. Seahub files are now part of an installed package inside /usr/share/seafile-server/seahub. No mather how hard I'm trying either on my own or by following advices you are trying to give to me the mysql setup is leading to the situation where the scripts are expecting an /usr/share/seafile-server/seahub copy inside /srv/seafile/files.domain.tld/seafile-server/seahub. Joffreys approach appears to be most straighforward however It still does not work for me. I can create these empty folders /srv/seafile/files.domain.tld/seafile-server/runtime /srv/seafile/files.domain.tld/seafile-server/seahub copy /usr/share/seafile-server/scripts/setup-seafile-mysql.* into /srv/seafile/files.domain.tld/seafile-server and run setup-seafile-mysql.sh. The database and ccnet config gets created however it finishes with a python traceback looking for /srv/seafile/files.domain.tld/seafile-server/seahub/tools/secret_key_generator.py. I will be slowly tinkering with it occassionally and by 2022 I might be able to figure it out. I think this is not meant to be runing in a kind of multi site setup. I do fail to understand what an improvement seahub packaging brings when I do have to copy it to site specific folder anyway.

eolianoe commented on 2017-12-21 17:47

@all: sorry for the delay with the answers to e-mails and comments, real life is a bit busy for now. Expect an update of all seafile packages by the beginning of January.

Joffrey commented on 2017-12-21 10:24

@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

@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

@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

@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

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

@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

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

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

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

Captain_Rage commented on 2017-09-27 18:50

I'm having trouble getting Seafile server to run after upgrading to 6.2.2. I can't find the location where 'seafile-server-6.2.2-server.tar.gz' gets downloaded. Where is it supposed to go?

Joffrey commented on 2017-09-23 22:32

In "seafile-server@.service" User=seafile must be placed in [Unit] section not in [Service]

Missing depends for setup-seafile-mysql.sh:
- python2-setuptools
- python2-pillow
- mysql-python

thanks

Captain_Rage commented on 2017-09-23 17:36

Since 6.2, the official documentation says: "From 6.2, It is recommended to use WSGI mode for communication between Seahub and Nginx/Apache". Is this reflected in our default systemd units? The recommended way to start seahub (using WSGI) is described in https://manual.seafile.com/changelog/server-changelog.html

eolianoe commented on 2017-07-09 18:09

@LNHRT: IMHO seafile-server can be used without seahub but not the contrary.

@Captain_Rage: Many thanks for the feedback. I need to find a machine and free time to install my own instance.

Captain_Rage commented on 2017-07-08 17:57

@eolianoe: Moving/removing /lib/usr/seafile/seafileenv and installing the seahub package afterwards worked like a charm. Thanks for the info!

LNHRT commented on 2017-07-03 11:46

Wouldn't it be better to make seahub as a dependency of seafile-server?

DasGurke commented on 2017-07-02 18:38

If anyone else is receiving an error along the lines of `libevent-2.0.so.5: cannot open shared object file: No such file or directory`, you need to rebuild quite a few seafile-packages because there was a new version of `libevent` released. I rebuilt `libevhtp-seafile ccnet-server ccnet seafile-server` and got my server running again.

eolianoe commented on 2017-06-14 12:54

@theeeflash: could you give more details about the error? And if it's related to libevhtp-sefile, please comment on the right page.

theeeflash commented on 2017-06-14 11:49

libevhtp-seafile verification failed

Captain_Rage commented on 2017-05-25 19:55

Thanks alot, @LNHRT!! Running 'pip2 install requests' inside the Seafile enviroment did indeed fix the problem. Much obliged! @eolianoe: You might want to add a line for installing 'requests' side the Seafile environment also. Cheers!

LNHRT commented on 2017-05-25 16:01

I also had the "Unhandled Exception" message in Seahub. Since i installed pip requests (pip2 install requests) the webinterface works again.

Captain_Rage commented on 2017-05-22 16:16

@eoalianoe: Thank you for the update. I tried it, and sincerely believe that it is correct and SHOULD work, however, it does not. I tried to reinstall the package three times and never did moviepy get installed through pip2 into seafileenv. This is very strange, since I can see that you added a line for that in the PKGBUILD. I think the problem might be rooted deeper on the Raspberry Pi. Here is a report that moviepy is misbehaving on the Raspberry Pi: https://github.com/Zulko/moviepy/issues/322#issuecomment-253336571
Atleast the good news it that the dependencies are updated for the remaining architectures and that people are trying to figure out how to solve the Raspberry Pi specific problem. Will keep you updated on how the issue solving unfolds.
EDIT:
moviepy was installed all along. Sorry for the misinformation, I didn't pay attention. Like LNHRT wrote, the problem was a missing dependency ('pip2 install requests' inside the Seafile enviroment solved it for me). Thanks!

eolianoe commented on 2017-05-22 08:48

@Captain_Rage: sorry, I didn't see those new deps, could you try the new release? I need to find some time to get a proper PKGBUILD for seahub rather than the tricky 'seafile-server.install'

Captain_Rage commented on 2017-05-20 05:59

Getting an "Unhandled Exception

An unhandled exception was thrown by the application." after upgrading to 6.1.0-1 (armv6h). Looks like additional dependencies were added and I'm not sure whether the PKGBUILD reflects that.

EDIT:
Namely, package ffmpeg. Also, pip should get pillow (which it already has?) and moviepy.
EDIT2:
Looks like people in the official forum are having this problem. It's not written exactly how to fix it (with regards to the Arch version), only in general, but it seems to have something to do with the aforementioned new dependencies.
https://forum.seafile.com/t/seafile-server-6-1-0-beta-for-raspberry-pi-is-ready-12-05-2017/2770/11
EDIT3:
Refer to the official information:"Note for upgrade - If you upgrade from 6.0, you need to install ffmpeg package to let the video thumbnail work correctly". It is written which package (ffmpeg for Arch) and pip dependcies are needed:
https://forum.seafile.com/t/seafile-version-6-1-0-beta-is-ready-for-testing/2758/4
EDIT4:
Turns out it was a missing dependcy: requests had to be installed in seafileenv ('pip2 install requests', inside said environment). Thanks alot LNHRT for figuring it out!

eolianoe commented on 2017-04-26 10:15

@j1simon: sorry, I enabled again the libevhtp dep

j1simon commented on 2017-04-26 09:12

Error at compile time:
....
http-server.c:15:19: fatal error: evhtp.h: No such file or directory
#include <evhtp.h>
^
compilation terminated.
make[3]: *** [Makefile:692: http-server.o] Error 1
make[3]: *** Waiting for unfinished jobs....
upload-file.c:15:19: fatal error: evhtp.h: No such file or directory
#include <evhtp.h>
^
compilation terminated.
make[3]: *** [Makefile:692: upload-file.o] Error 1
access-file.c:14:19: fatal error: evhtp.h: No such file or directory
#include <evhtp.h>
^
compilation terminated.
make[3]: *** [Makefile:692: access-file.o] Error 1
....

eolianoe commented on 2017-04-05 08:11

@oi_wtf: Thanks for the patch, I will apply it when openssl goes out of testing

oi_wtf commented on 2017-04-04 22:23

For openssl-1.0 the changes in this patch[1] and
'export PKG_CONFIG_PATH=/usr/lib/openssl-1.0/pkgconfig'
before the './autogen.sh' line are needed to fix build errors.

[1] https://gist.github.com/brainpower/fd1e75fc50d9852d0369e27cee32fadb

Captain_Rage commented on 2017-02-25 15:39

@cybertron

You can add the line 'SEAFILE_VERSION= '6.0.8'' to conf/seahub_settings.py as a workaround (not an elegant solution, but it will change the version number on the page to whatever you choose).

cybertron commented on 2017-02-18 18:53

if I check the "about" link at the frontend footer it says I got server 5.1 running but should ne 6.0.8 o.O

eolianoe commented on 2017-02-17 09:11

@MichiMunich, checksums changed. I reported upstream in order to fix that.

LNHRT commented on 2017-02-17 07:55

the sha256sum for seafile-server-6.0.8-server.tar.gz seems to be wrong

cybertron commented on 2017-01-27 19:58

Its a little bit crap that software isn't it?
I try to migrate my local seafile-server from raspi to alarm and the environment is realy scary o.O

Captain_Rage commented on 2017-01-11 11:27

When installing 6.0.7-3 some pipe is broken:

:: Processing package changes...
New python executable in /usr/lib/seafile/seafileenv/bin/python2
Also creating executable in /usr/lib/seafile/seafileenv/bin/python
Installing setuptools, pip, wheel...
error: command terminated by signal 13: Broken pipe

When downgrading to 6.0.7-2 everything istalls without error. Do I need to recompile any other package when upgrading from 6.0.7-2 to 6.0.7-3?

eolianoe commented on 2017-01-11 08:53

@jaltek: you are right the real dependency is only 'ccnet-server'. In fact this dependency is already resolved as 'seafile' needs 'ccnet' to get the cli client working.
The layout was improved and it's more easy to understand, now I need to really package 'seahub'.

jaltek commented on 2017-01-11 07:41

Hi eolianoe,

the seafile layout (upstream) is really confusing :)
According to the server manual[1], the dependencies for seafile-server should be ccnet-server and seahub. Do you have intentionally set ccnet as dependency and not ccnet-server?

Cheers!

[1]: https://manual.seafile.com/build_seafile/server.html#components-of-the-seafile-server

Captain_Rage commented on 2017-01-10 13:58

Works nicely here!

eolianoe commented on 2017-01-08 11:28

@fluke: should be fixed now

fluke commented on 2017-01-08 08:14

Both seafile and seafile-server include libseafile.so lib:

error: failed to commit transaction (conflicting files)
seafile-server: /usr/lib/libseafile.so exists in filesystem
seafile-server: /usr/lib/libseafile.so.0 exists in filesystem
seafile-server: /usr/lib/libseafile.so.0.0.0 exists in filesystem

$ pacman -Qo /usr/lib/libseafile.so
/usr/lib/libseafile.so is owned by seafile 6.0.2-2