Seafile Server 7.1.4 for Raspberry Pi is ready! 23.05.2020

I think I found it !! When I execute ./setup-seafile.sh, there is no more the question regarding seafile data dir. It’s mandatory the default one ./SeaFile/seafile-data. I don’t take care about that point last night (too tired). But the system drive is too small for my data (I use for that an external drive). I must reinstall everything. Could you update the script ?

Great, that’s important for the next time.

Unfortunetely no. I’m just a community member without any relation with Seafile Ltd… I’m not amending the original source code from Seafile or any of his scripts. If there is an issue with the script/code, you should report it directly to the seafile developers. Open a new issue and ask for that. You should tell them why is wrong in your opinion and what would you expect from the script.

I had not to much of time to look in that @hermes73. Can you check the time date of the release that you downladed? I want to be sure you have not an old one,because they were compiled with the master tag instead of for v7.1.4-server for seafile-server branch. The other possibility is to use the seaf-fuse from 7.0.5, like you have done on the past until this is clarified. Short question, do you only use with fuse ./seaf-fuse start <mountpoint> for start the script? I rememeber from the past, that I was playing a lot to map properly the user. There is an old community manual, if not remember bad, from @saljut7, based on our tests and findings.

@jobenvil Thank you for the helpful hint. Indeed I deployed not the newest release variant. So I downloaded again and now everything is working, including seaf-fuse. :slight_smile: Thank you for help - I really appreciate your work! :+1:

oh, really good news. I’m happy amd thanks for the feedback @hermes73 ! :heart_eyes:

It‘s still possible to use another location for the data folder, but you have to create a symlink: Seafile server 7.1.3 is ready! - #14 by daniel.pan

Hi there,

thanks for working on a raspi-build for Seafile.

I am trying to deploy seafile-server-7-1-4-buster into a debian-buster container on raspberry pi 3 with latest raspbian (my current seafile 7.0.5 is running like this).

I followed the manual and installed all required dependencies:
apt-get install python3 python3-setuptools python3-pip -y
pip3 install --timeout=3600 Pillow pylibmc captcha jinja2 sqlalchemy django-pylibmc django-simple-captcha python3-ldap

and did set the Symlink as mentioned above.

Starting seahub didn work, but I got no error-log. So I installed Pillow:
pip3 install -U Pillow -t /home/seafile/seafile-server-latest/seahub/thirdpart

Now I can start seafile and seahub, but when i try to contact the url, i get errors in seahub.log. Don’t know, what dependecies are missing, maybe some crypto-libs …?

Any Idea?

seahub.log:
2020-05-27 07:57:53,044 [ERROR] django.request:132 handle_uncaught_exception Internal Server Error: / Traceback (most recent call last): File "/home/seafile/seafile-server-7.1.4/seahub/thirdpart/django/core/handlers/exception.py", line 41, in inner response = get_response(request) File "/home/seafile/seafile-server-7.1.4/seahub/thirdpart/django/core/handlers/base.py", line 244, in _legacy_get_response response = middleware_method(request) File "/home/seafile/seafile-server-7.1.4/seahub/thirdpart/django/middleware/locale.py", line 24, in process_request i18n_patterns_used, prefixed_default_language = is_language_prefix_patterns_used(urlconf) File "/home/seafile/seafile-server-7.1.4/seahub/thirdpart/django/conf/urls/i18n.py", line 29, in is_language_prefix_patterns_used for url_pattern in get_resolver(urlconf).url_patterns: File "/home/seafile/seafile-server-7.1.4/seahub/thirdpart/django/utils/functional.py", line 35, in __get__ res = instance.__dict__[self.name] = self.func(instance) File "/home/seafile/seafile-server-7.1.4/seahub/thirdpart/django/urls/resolvers.py", line 407, in url_patterns patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module) File "/home/seafile/seafile-server-7.1.4/seahub/thirdpart/django/utils/functional.py", line 35, in __get__ res = instance.__dict__[self.name] = self.func(instance) File "/home/seafile/seafile-server-7.1.4/seahub/thirdpart/django/urls/resolvers.py", line 400, in urlconf_module return import_module(self.urlconf_name) File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1014, in _gcd_import File "<frozen importlib._bootstrap>", line 991, in _find_and_load File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 671, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 783, in exec_module File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "/home/seafile/seafile-server-7.1.4/seahub/seahub/utils/rooturl.py", line 41, in <module> url(r'^%s' % settings.SITE_ROOT[1:], include(settings.SITE_ROOT_URLCONF)), File "/home/seafile/seafile-server-7.1.4/seahub/thirdpart/django/conf/urls/__init__.py", line 50, in include urlconf_module = import_module(urlconf_module) File "/usr/lib/python3.8/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1014, in _gcd_import File "<frozen importlib._bootstrap>", line 991, in _find_and_load File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 671, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 783, in exec_module File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed File "/home/seafile/seafile-server-7.1.4/seahub/seahub/urls.py", line 91, in <module> from seahub.api2.endpoints.webdav_secret import WebdavSecretView File "/home/seafile/seafile-server-7.1.4/seahub/seahub/api2/endpoints/webdav_secret.py", line 14, in <module> from seahub.utils.hasher import AESPasswordHasher File "/home/seafile/seafile-server-7.1.4/seahub/seahub/utils/hasher.py", line 4, in <module> from Crypto.Cipher import AES File "/home/seafile/seafile-server-7.1.4/seahub/thirdpart/Crypto/Cipher/__init__.py", line 27, in <module> from Crypto.Cipher._mode_ecb import _create_ecb_cipher File "/home/seafile/seafile-server-7.1.4/seahub/thirdpart/Crypto/Cipher/_mode_ecb.py", line 35, in <module> raw_ecb_lib = load_pycryptodome_raw_lib("Crypto.Cipher._raw_ecb", """ File "/home/seafile/seafile-server-7.1.4/seahub/thirdpart/Crypto/Util/_raw_api.py", line 303, in load_pycryptodome_raw_lib raise OSError("Cannot load native module '%s': %s" % (name, ", ".join(attempts))) OSError: Cannot load native module 'Crypto.Cipher._raw_ecb': Trying '_raw_ecb.cpython-38-arm-linux-gnueabihf.so': /home/seafile/seafile-server-7.1.4/seahub/thirdpart/Crypto/Util/../Cipher/_raw_ecb.cpython-38-arm-linux-gnueabihf.so: cannot open shared object file: No such file or directory, Trying '_raw_ecb.abi3.so': /home/seafile/seafile-server-7.1.4/seahub/thirdpart/Crypto/Util/../Cipher/_raw_ecb.abi3.so: cannot open shared object file: No such file or directory, Trying '_raw_ecb.so': /home/seafile/seafile-server-7.1.4/seahub/thirdpart/Crypto/Util/../Cipher/_raw_ecb.so: cannot open shared object file: No such file or directory

OK I found out that pycrypto must be installed like described for Pillow-dependency:

pip3 install -U pycrypto -t /home/seafile/seafile-server-latest/seahub/thirdpart

did the trick

Hello,

i followed this post and the upgrade notes but i still get an error from django / cache even if i commented out the whole CACHE part inside the settings.py.

Error:
Could not find backend ‘django_pylibmc.memcached.PyLibMCCache’: No module named ‘django_pylibmc’

The error message from seahub.log:

    response = middleware_method(request)
  File "/seafile/seafile-server-7.1.4/seahub/seahub/base/middleware.py", line 68, in process_request
    cur_note = cache.get('CUR_TOPINFO') if cache.get('CUR_TOPINFO') else \
  File "/seafile/seafile-server-7.1.4/seahub/thirdpart/django/core/cache/__init__.py", line 99, in __getattr__
    return getattr(caches[DEFAULT_CACHE_ALIAS], name)
  File "/seafile/seafile-server-7.1.4/seahub/thirdpart/django/core/cache/__init__.py", line 80, in __getitem__
    cache = _create_cache(alias)
  File "/seafile/seafile-server-7.1.4/seahub/thirdpart/django/core/cache/__init__.py", line 54, in _create_cache
    "Could not find backend '%s': %s" % (backend, e))
django.core.cache.backends.base.InvalidCacheBackendError: Could not find backend 'django_pylibmc.memcached.PyLibMCCache': No module named 'django_pylibmc'
2020-05-30 20:46:35,577 [ERROR] django.request:135 handle_uncaught_exception Internal Server Error: /
Traceback (most recent call last):
  File "/seafile/seafile-server-7.1.4/seahub/thirdpart/django/core/cache/__init__.py", line 51, in _create_cache
    backend_cls = import_string(backend)
  File "/seafile/seafile-server-7.1.4/seahub/thirdpart/django/utils/module_loading.py", line 20, in import_string
    module = import_module(module_path)
  File "/usr/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 965, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'django_pylibmc'

My seahub_settings.py:

CACHES = {
    'default': {
    'BACKEND': 'django_pylibmc.memcached.PyLibMCCache',
        'LOCATION': '127.0.0.1:11211',
    },
}

(i tried different configs for the CACHE Part)

My settings.py (default) :

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',
        'LOCATION': os.path.join(CACHE_DIR, 'seahub_cache'),
        'OPTIONS': {
            'MAX_ENTRIES': 1000000
        }
    },

    # Compatible with existing `COMPRESS_CACHE_BACKEND` setting after
    # upgrading to django-compressor v2.2.
    # ref: https://manual.seafile.com/deploy_pro/deploy_in_a_cluster.html
    'django.core.cache.backends.locmem.LocMemCache': {
        'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
    },
}

I use the buster image and have updated it from 7.0.5.

Does anyone can help me?
I run this installation since over 5 years now (Thanks to jobenvil for the releases of these rpi versions) and i will not do a fresh installation with a difficult migration of all of my data. Best regards!

What kind of memcached did you have earlier? It looks like there is no memcached backend. Have you tried service memcached status or service memcached restart?

@Nogs_Noggy Have you found the solution or you still digging on it?

Hello,
Many thanks for this link and many thanks for everybody. I finally install SeaFile in production and everything works :heart_eyes:
Have a nice day,

I get ModuleNotFoundError: No module named 'Image' even after running pip3 install -U Pillow -t /var/www/seafile/seafile-server-latest/seahub/thirdpart. Any suggestions?

Ensure you did run the script like as the user who uses seafile. In my case the user is seafile

You mean pip3 install -U Pillow -t /var/www/seafile/seafile-server-latest/seahub/thirdpart (or the upgrade script)?

yes, the pip3 install -U Pillow...

No sorry, that didn’t work, still the same problem.

Then go for pip3 install pillow this will install Pillow for all the users.

I had already done that, of course, to begin with :slight_smile:

pip3 install pillow

Requirement already satisfied: pillow in /usr/local/lib/python3.6/site-packages (7.1.2)

You have something messed up, sorry.