Installation notes and guidelines
Ingress
Our install requires a FQDN or domain name entered when installing the chart. This doesn’t mean you need Traefik however we support only installs using FQDN with valid certificates + Traefik installed
CSRF Error
Starting with Seafile 11, the defaults fail CSRF verification, and you may see the error message when logging in.

To fix this, the following must be added to your seahub_settings.conf file. It is found inside /shared/conf. We recommedend enabling the Code-server addon or mounting the container

Add an entry for: CSRF_TRUSTED_ORIGINS = ["https://seafile.YOURDOMAINHERE.com"]

Storage
Seafile uses Block storage so files/folders uploaded to Seafile aren’t visible by default when mounting the persisted storage. For more information see the this post on the Seafile Forums. As well, Seafile uses init scripts which need to be run as root so if hostpath is used (such as using HDDs) then make sure your storage is owned by root.
Memcached Log Spam and fixes
Unfortunately there’s no easy solution at the moment to add memcached automatically without user intervention (redis support is also coming soon to Seafile) so if users wish to use memcached (isn’t required) then the following steps must be followed
-
Add
dependencytrain to TrueCharts catalog and add/installmemcachedchart -
Edit
CACHES->defaultinsideseahub_settings.pyto addmemcached.ix-memcached.svc.cluster.localinstead ofmemcachedand you can delete the locmem.

Or
- Simply delete the
CACHESsection, while not optimal for large installs is truly used with 50+ users according to Seafile docs.
Either of these steps will prevents the logs filling up with:
2023-11-15 03:54:55,368 [ERROR] django.pylibmc:167 set_many MemcachedError: error 47 from memcached_set_multi: SERVER HAS FAILED AND IS DISABLED UNTIL TIMED RETRYTraceback (most recent call last): File "/usr/local/lib/python3.10/dist-packages/django_pylibmc/memcached.py", line 165, in set_many return super(PyLibMCCache, self).set_many(*args, **kwargs) File "/opt/seafile/seafile-server-11.0.1/seahub/thirdpart/django/core/cache/backends/memcached.py", line 127, in set_many failed_keys = self._cache.set_multi(pylibmc.ServerDown: error 47 from memcached_set_multi: SERVER HAS FAILED AND IS DISABLED UNTIL TIMED RETRYWebDAV
By default WebDAV is disabled by default, as per upstream docs. Here’s some simple instructions to modify your seafdav.conf to enable WebDAV if you wish to use it with Traefik.
- Enter Seafile Pod Shell

- Use the CLI to enter the Seafile WebDAV (
seafdav.conf) config file

- Use vi commands to edit the
Enabledtotrueand change the share name as desired (default is/seafdav).
Use
ito insert text and and:wq, andESC keyto exit insert mode

- Restart Seafile and your WebDAV share will be accessible using your domain.com/seafdav

FUSE Extension
The FUSE extension isn’t supported by default due to privileges required by the extension and non-standard mounts, so no support tickets will be accepted for using/enabling it.