April 28, 20251 yr Community Expert @tomkenobi I got seafile 12 working, you need to download and install the memcached docker container by A75G and add it to the seafile custom docker network you created. Or if you don't want to install memcached in a docker you can just edit the seahub_settings.py and change this CACHES = { 'default': { 'BACKEND': 'django_pylibmc.memcached.PyLibMCCache', 'LOCATION': 'memcached:11211', }, to this CACHES = { 'default': { 'BACKEND': 'django_pylibmc.memcached.PyLibMCCache', 'LOCATION': 'localhost:11211', }, Also, if you run into the issue I did where the admin account will not let you login, you need to get into the container console and run the reset-admin.sh script and set the admin email and password. Located in the /seafile-server-latest/ directory. You should be able to login after that. @dglb99 There seems to be a configuration issue that the default admin email is defaulting to the [email protected] and not respecting the template. Edited April 28, 20251 yr by MowMdown
April 28, 20251 yr @MowMdown, you're right about the template admin email not being respected. Looks like they changed the docker environment variables for the initial email and password. I've updated the template to the correct variables. This should fix the issue you've been having @tomkenobi. I wasn't having any issues with memcached on the fresh install I was testing with. My seahub_settings.py look like your first entry, as does my main server now running version 12. Both were not using memcached so I'm not sure what's going on there.
April 28, 20251 yr Community Expert On 4/28/2025 at 3:59 PM, dglb99 said: @MowMdown, you're right about the template admin email not being respected. Looks like they changed the docker environment variables for the initial email and password. I've updated the template to the correct variables. This should fix the issue you've been having @tomkenobi. I wasn't having any issues with memcached on the fresh install I was testing with. My seahub_settings.py look like your first entry, as does my main server now running version 12. Both were not using memcached so I'm not sure what's going on there. Edit: See my comment below Edited April 30, 20251 yr by MowMdown
April 29, 20251 yr If it makes you feel any better someone opened an issue last week about requiring the memcached container and having to edit the seahub_settings.py file as well for it to start. https://github.com/chirmstream/unraid-templates/issues/12
April 30, 20251 yr Community Expert Now that the admin login is fixed im going to test out a fresh install to see if the memcached thing is still an issue. Ive removed as well to test. Test complete: it appears it was just the admin email/password issue, not memcached. Edit 2: However, if memcached is not configured, instead of getting the "Invalid Login" page, the user is instead presented with the "Page Unavailable" screen. This would explain the behavior I expereinced because I could not login due the admin/password bug. The two options to remedy this are to either install memcached and add it to the seafile-net docker network OR to remove the CACHES {} portion from the seahub_settings.py (setting it to localhost does not fix it) Edited April 30, 20251 yr by MowMdown
May 1, 20251 yr Thanks for following up @MowMdown — and you're right about the versioning point in Filerun, credit where it's due. I'm not entirely against closed-source software, but I definitely prefer open-source solutions whenever possible. The ability to sync with Google Cloud might be useful for some, but it's a hard no for me. One of the main reasons I run my own server is to stay independent from Big Data services like Google or Meta. So any kind of built-in integration with those platforms is actually a dealbreaker in my case. Also, as far as I know, FileRun requires a recurring subscription. I'm totally fine with paying for good software — after all, I paid for Unraid too — but €99 per year is simply too much for my personal use. I might consider a one-time fee of €200 or so, but as it stands, I can’t even properly test it because it seems to require a license key right from the start. By the way, I haven’t made any progress with installing Seafile 12 yet. I’ve done some digging, but couldn’t find anything related to the error I’m getting. Still, I’m sticking with it and will keep troubleshooting. Edited May 1, 20251 yr by tomkenobi Clarification: This reply refers to FileRun
May 1, 20251 yr So, I’ve got some good news! I honestly have no idea what I might have done differently this time. I deleted both Docker containers and their images again, wiped all files and folders under the share mnt/user/seafile, and also removed the seafile-mariadb directory from appdata. Then I reinstalled MariaDB — following @dglb99 instructions precisely, removing all variables except for MYSQL_ROOT_PASSWORD. I left everything else unchanged. For the Seafile 12 container, I entered all the same settings as before. The only minor change was that I left the password at the default asecret for now. But I’m absolutely sure that wasn’t the issue earlier. Checked the logs during deployment — everything looked fine. Then I went to the WebUI, entered user/pass, and fully expected to be redirected to the error page again. But nope — I’m in! The issue must have been on my end, but honestly, I have no clue where or what it was. Before I also wanted to check @MowMdown's tip editing the seahub_settings.py part for memcached. But I didn't have to as it works now without. Here's mine - unchanged and everything works: Huge thanks to everyone here who offered support! Edited May 1, 20251 yr by tomkenobi
May 1, 20251 yr Apologies — I missed a few posts because I was away on a short vacation last weekend. Everything from Monday onward kind of slipped through the cracks for me. Due to work, I only got the chance to catch up here today. Yes, that must have been the issue — the username and password weren’t being applied properly. Please disregard my last post regarding that. The updated template resolved the issue. Huge thanks, @dglb99!
May 1, 20251 yr Since I'm already on a roll, I decided to give Seafile Pro a try as well. I initially followed the guide by @dglb99, and while registering at customer.seafile.com, I found out that starting from version 12, the Docker images are available on Docker Hub and no login credentials are required anymore. I'll test it out right now — and if everything works, I’ll update this post shortly. I tested it. First, I used seafileltd/seafile-pro-mc:12.0.12 as the image source, and that version was installed as expected. On another attempt, I tried seafileltd/seafile-pro-mc:12.0-latest, which pulled version 12.0.11 instead. I’ve decided to stick with that for now. If I run into any issues, I’ll report back here. But it looks like I’ve finally reached my goal. I'm still in the process of organizing data from various sources into a clean folder structure, roughly separating archive folders from those I want to sync. The sync folders — which are located in a dedicated share on my Unraid server — will be synced to my PC using the Seafile Sync Client, each as its own library. Both main directories — archive and sync — will then be backed up regularly via rsync to a separate Synology DS. I believe this setup should be fairly solid. I’ll leave the encrypted data that Seafile stores in its own share as-is — basically treating it as an additional "backup".
May 1, 20251 yr Community Expert Just to recap the events and issues: 1. The first run admin credentials issue was fixed, this allows the user to login with the supplied credentials. Previously this was not possible. 2. The memcached docker requirements IS still an issue. If memcached is not installed or part of the seafile-net custom docker network you will get "Page Unavailable" errors if you do any action in which may throw an error. For example, log in with the wrong credentials. To fix the #2 issue the user either needs to remove the CACHES{} backend from the seahub_settings.py config file OR install memcached and include it in the seafile-net docker network.
May 1, 20251 yr Thanks for the clear summary! That explains exactly what I ran into — especially the part about the "Page Unavailable" error when using wrong credentials. I didn't realize it was tied to the memcached config. I just tested it myself using intentionally wrong login credentials — and you're absolutely right. It brings me back to the error page. I’ll give your suggestion a try. Also, something I noticed with the Pro version: search doesn't work at all out of the box. It seems you need to install either Elasticsearch or Seasearch. That looks a bit tricky to set up — at least for me. I've now installed memcached, and it works as expected — even when entering incorrect login credentials. Thanks a lot for your help @MowMdown! As you mentioned, changing the seahub_settings.py to use memcached > localhost didn’t work for me either. But I didn’t go any further trying to remove the entire block — since everything is working fine now with memcached running. Edited May 1, 20251 yr by tomkenobi After testing out
May 1, 20251 yr I’ve now switched back to the Community Edition. I followed the guide by @dglb99, and the log shows the following: So it looks like everything worked I guess. Search is now functioning again within the libraries. Honestly, I don’t really need most of the features from the Pro version. Sure, full-text search would be a great feature, and I could probably make good use of fine-grained folder permissions as well — but that’s really just nitpicking at a high level.
May 6, 20251 yr Update – Thanks to the instructions on GitHub, I’ve now successfully integrated OnlyOffice as well. However, it only worked externally once I made the service accessible from outside. Apparently, there are ways to do it differently, but this seemed like the simpler method. Something went wrong during my first attempt, though I’m not sure what exactly. On the second try, I skipped this step: If I understand the OnlyOffice welcome page correctly, this command is only necessary if no secret key was set during deployment. Since I did set a 40-character JWT secret key (replacing the 'secret123'), I believe this approach should be fine. I’ll test it again when I’m back at my desk and see if I can figure it out, what went wrong on my first approach. I think I may have mixed something up when using the following command, and in the end, I entered the wrong key in the seahub_settings.py file. I'm a bit confused about what is meant by 'random secret', 'custom secret' and 'default secret'. To my understanding I set a 'custom secret' within the Unraid Docker template (and by doing this replacing a 'default secret'?). This 'custom secret' I wrote into the seahub_settings.py. As for Seafile Pro, I’ll definitely give it another shot. Instead of Elasticsearch – which, according to the Seafile developers, is going to be phased out – I’m planning to try Seasearch. Hopefully I can get that working, too. Full-text search within documents is a real advantage over simple file name search.
May 9, 20251 yr On 5/6/2025 at 8:11 AM, tomkenobi said: Update – Thanks to the instructions on GitHub, I’ve now successfully integrated OnlyOffice as well. However, it only worked externally once I made the service accessible from outside. Apparently, there are ways to do it differently, but this seemed like the simpler method. Something went wrong during my first attempt, though I’m not sure what exactly. On the second try, I skipped this step: If I understand the OnlyOffice welcome page correctly, this command is only necessary if no secret key was set during deployment. Since I did set a 40-character JWT secret key (replacing the 'secret123'), I believe this approach should be fine. I’ll test it again when I’m back at my desk and see if I can figure it out, what went wrong on my first approach. I think I may have mixed something up when using the following command, and in the end, I entered the wrong key in the seahub_settings.py file. I'm a bit confused about what is meant by 'random secret', 'custom secret' and 'default secret'. To my understanding I set a 'custom secret' within the Unraid Docker template (and by doing this replacing a 'default secret'?). This 'custom secret' I wrote into the seahub_settings.py. As for Seafile Pro, I’ll definitely give it another shot. Instead of Elasticsearch – which, according to the Seafile developers, is going to be phased out – I’m planning to try Seasearch. Hopefully I can get that working, too. Full-text search within documents is a real advantage over simple file name search. I am trying to set up OnlyOffice integration into Seafile. I can't hit office.mydomain.com just fine.. when I open a document I can't do anything, I just get a blank screen.
May 9, 20251 yr Community Expert @tomkenobi @presence06 Step 1. Install OnlyOfficeDocumentServer docker. Step 2. Have a reverse proxy setup and add a proxy host/config for only office. Step 3. Edit seahub_settings.py and add the following and replace "onlyoffice.example.com" with your reverse proxy url. The JWT secret key has to match the key you created for the onlyoffice docker. ENABLE_ONLYOFFICE = True VERIFY_ONLYOFFICE_CERTIFICATE = False ONLYOFFICE_APIJS_URL = 'https://onlyoffice.example.com/web-apps/apps/api/documents/api.js' ONLYOFFICE_FILE_EXTENSION = ('doc', 'docx', 'ppt', 'pptx', 'xls', 'xlsx', 'odt', 'fodt', 'odp', 'fodp', 'ods', 'fods') ONLYOFFICE_EDIT_FILE_EXTENSION = ('docx', 'pptx', 'xlsx') ONLYOFFICE_FORCE_SAVE = True ONLYOFFICE_JWT_SECRET = 'your-onlyoffice-jwt-key-here' Step 4. Restart Seafile. Edited May 10, 20251 yr by MowMdown
May 10, 20251 yr Thanks, @MowMdown , for listing everything so clearly again. OnlyOffice works perfectly for me. I thought about giving Seafile 12 Pro another try. I really like the extended role management in this version. I have a specific use case where I want to share a library—not via a share link, but with a user. However, that user should not be allowed to create their own library. This is only possible with the guest role. Additionally, I find the more detailed folder sharing options quite useful. And last but not least, I find the document search feature very useful. However, for that, I need Elasticsearch or Seasearch. If I understand correctly, Seafile plans to fully transition to Seasearch in the future, so it makes sense to focus on that. Well—Seafile 12 Pro works flawlessly for me, including OnlyOffice. However, I’m having trouble installing Elasticsearch or Seasearch. I don’t quite understand which variables are mandatory when creating the container. For Elasticsearch, there are a few pre-configured versions available under Apps. I followed this guide: https://manual.seafile.com/latest/setup/migrate_ce_to_pro_with_docker. Starting from a clean installation of Seafile 12 CE, I first adjusted the source to 'seafileltd/seafile-pro-mc:12.0-latest' for the seafile container. Next, I took the elasticsearch container by d8sychain and adjusted the source to 'elasticsearch:8.15.0' and added the variable 'SEAFILE_ELASTICSEARCH_VOLUME'. I also created a subfolder within my Seafile share and configured it accordingly (hopefully): I’m not even sure if this was correct. But then it gets even more complicated for me (since I still lack some fundamental Docker knowledge—yes, unfortunately, that’s the case...). According to the guide, I need to adjust the seafile-server.yml. I understand that, in principle, all these variables/paths can be configured via Unraid’s built-in tools. However, I’m not sure which ones are essential and which are not. elasticsearch: image: ${SEAFILE_ELASTICSEARCH_IMAGE:-elasticsearch:8.15.0} container_name: seafile-elasticsearch environment: - discovery.type=single-node - bootstrap.memory_lock=true - "ES_JAVA_OPTS=-Xms2g -Xmx2g" - "xpack.security.enabled=false" ulimits: memlock: soft: -1 hard: -1 mem_limit: 4g volumes: - "${SEAFILE_ELASTICSEARCH_VOLUME:-/opt/seafile-elasticsearch/data}:/usr/share/elasticsearch/data" networks: - seafile-net And when I look at the .env file, nothing stands out as missing somewhere in my setup: COMPOSE_FILE='seafile-server.yml,caddy.yml,seadoc.yml' COMPOSE_PATH_SEPARATOR=',' # Seafile & Basic services ## Images SEAFILE_IMAGE=seafileltd/seafile-pro-mc:12.0-latest SEAFILE_DB_IMAGE=mariadb:10.11 SEAFILE_MEMCACHED_IMAGE=memcached:1.6.29 SEAFILE_ELASTICSEARCH_IMAGE=elasticsearch:8.15.0 SEAFILE_CADDY_IMAGE=lucaslorentz/caddy-docker-proxy:2.9-alpine ## Persistent Storage SEAFILE_VOLUME=/opt/seafile-data SEAFILE_MYSQL_VOLUME=/opt/seafile-mysql/db SEAFILE_ELASTICSEARCH_VOLUME=/opt/seafile-elasticsearch/data SEAFILE_CADDY_VOLUME=/opt/seafile-caddy ## Database SEAFILE_MYSQL_DB_HOST=db SEAFILE_MYSQL_DB_USER=seafile SEAFILE_MYSQL_DB_PASSWORD=PASSWORD ## Scheme SEAFILE_SERVER_HOSTNAME=seafile.example.com SEAFILE_SERVER_PROTOCOL=http ## Startup parameters TIME_ZONE=Etc/UTC JWT_PRIVATE_KEY= ## Initial variables (can be removed after firstime startup) ### Database root password INIT_SEAFILE_MYSQL_ROOT_PASSWORD=ROOT_PASSWORD ### Seafile admin user [email protected] INIT_SEAFILE_ADMIN_PASSWORD=asecret ### S3 INIT_S3_STORAGE_BACKEND_CONFIG=false INIT_S3_COMMIT_BUCKET=<your-commit-objects> INIT_S3_FS_BUCKET=<your-fs-objects> INIT_S3_BLOCK_BUCKET=<your-block-objects> INIT_S3_KEY_ID=<your-key-id> INIT_S3_SECRET_KEY=<your-secret-key> INIT_S3_USE_V4_SIGNATURE=true INIT_S3_AWS_REGION=us-east-1 INIT_S3_HOST=s3.us-east-1.amazonaws.com INIT_S3_USE_HTTPS=true # SeaDoc service ENABLE_SEADOC=true SEADOC_IMAGE=seafileltd/sdoc-server:1.0-latest SEADOC_VOLUME=/opt/seadoc-data # Notification server NOTIFICATION_SERVER_IMAGE=seafileltd/notification-server:12.0-latest NOTIFICATION_SERVER_VOLUME=/opt/notification-data # SeaSearch ## Image #SEASEARCH_IMAGE=seafileltd/seasearch-nomkl:latest # Apple's Chip SEASEARCH_IMAGE=seafileltd/seasearch:latest ## Storage SS_STORAGE_TYPE=disk # disk (local storage), s3, oss ### Local storage mode SS_DATA_PATH=/opt/seasearch-data # Persistent storage path SS_MAX_OBJ_CACHE_SIZE=10GB ### S3 mode SS_S3_USE_V4_SIGNATURE=false SS_S3_ACCESS_ID=<your access id> SS_S3_ACCESS_SECRET=<your access secret> SS_S3_ENDPOINT=s3.us-east-1.amazonaws.com SS_S3_BUCKET=<your bucket name> SS_S3_USE_HTTPS=true SS_S3_PATH_STYLE_REQUEST=true SS_S3_AWS_REGION=us-east-1 SS_S3_SSE_C_KEY=<your SSE-C key> ## Log SS_LOG_TO_STDOUT=false SS_LOG_OUTPUT=true SS_LOG_LEVEL=info ## Initial variables (can be removed after firstime startup SeaSearch service) INIT_SS_ADMIN_USER=<admin-username> INIT_SS_ADMIN_PASSWORD=<admin-password> And finally, I just need to add the configuration to seafevents.conf. [INDEX FILES] es_host = elasticsearch es_port = 9200 enabled = true interval = 10m So far, so good. But after that is where I get stuck. And I’m already very confused at this point. Somewhere it's pointed out that you can manually update the indexing of Elasticsearch. So I slipped inside the seafile docker container and did the following: But as you can see there is no such file or directory. If everything was done right I should find something here. Also the subfolder on the share for elasticsearch stays empty. Here I am, stuck and unsure how to proceed. Maybe I still need to make some adjustments to the Seafile Docker container, but that’s where I’ve been struggling for quite a while. Has anyone managed to get Elasticsearch or, even better, Seasearch up and running? If so, I would really appreciate any help. Maybe it would make sense to use the Docker Compose plugin for Unraid altogether. All the templates are available on the Seafile website—the docker-compose.yml and the .env file. However, I’m sure there are some pitfalls with that approach as well. Has anyone already tried this? Hi @presence06! Great that you found this thread. Have you had any success getting OnlyOffice to work yet? If not, feel free to share some screenshots of your containers and their settings. I’m sure we can figure it out together. Best regards, Tom Edited May 10, 20251 yr by tomkenobi Forgot one part
May 10, 20251 yr Quick update: I somehow managed to get Seasearch up and running. I took a detailed look at the seasearch.yml file and manually added all the variables that seemed necessary into a completely new Docker template on Unraid. I have no idea which of the variables might be redundant. Maybe someone with a more trained eye could take a look and comment. Here are the entries I added to seafevents.conf: I wasn't entirely sure about the value for seasearch_url, so I just tried it this way. The first sign of success was that, unlike my previous attempts with Elasticsearch, the local folder actually started filling up with data. After about 10-15 minutes, I was able to see relevant search results in Seafile. However, it doesn’t seem like the contents of the files themselves are being indexed yet. I'll keep an eye on that. But for now, I consider this a success, even though it took me more than half a day to get it working. Best regards, Tom
May 11, 20251 yr Hello everyone! At this point, I would like to post an off-topic contribution. I just wanted to briefly mention a relatively new project that I just found out about today. https://github.com/opencloud-eu/opencloud https://opencloud.eu It's based on oCIS, and part of the original developer team moved to the Heinlein Group after the sale of OwnCloud. The Heinlein Group is also responsible for mailbox.org and OpenTalk. I have a lot of respect for Peer Heinlein. His companies follow a very clear line with a strong focus on data protection and open source. I believe that there will soon be good guides available for Unraid as well. For me, it's still a bit too advanced, mainly because Traefik is integrated by default. I’m afraid I wouldn’t be able to get it up and running at the moment. Some of the highlights are: Foundation: OpenCloud is a fork of oCIS, written in Go, utilizing a microservices architecture for enhanced scalability and performance. Database-Free Design: By eliminating the need for a traditional database, OpenCloud simplifies backups and reduces complexity. Key Features: - Integration with Collabora Online for real-time document editing. - Introduction of "Spaces" for collaborative team folders. - Advanced search capabilities, including OCR for scanned documents. - "File Native Backup" using PosixFS, allowing straightforward file system backups without additional tools. The approach without using a database is particularly interesting, and I think this project has great potential for the future. There’s also a video (unfortunately only in German) from a Linux conference where two of the developers talk about OpenCloud. Please consider this just a heads-up about a new product that is currently being developed rapidly and will soon become a solid alternative to NextCloud. I will definitely keep an eye on it. Best regards, Tom
May 12, 20251 yr I keep getting this when starting OnlyOffice, I can hit office.mydomain.com just fine and I get the "Server installed". when I try to open a document I just get a white screen, no errors in Seafile or OnlyOffice. Wondering if it's not my proxy config maybe? I am using Swag. server { listen 443 ssl; listen [::]:443 ssl; server_name office.*; include /config/nginx/ssl.conf; client_max_body_size 0; location / { include /config/nginx/proxy.conf; resolver 127.0.0.11 valid=30s; set $upstream_app OnlyOfficeDocumentServer; set $upstream_port 2443; set $upstream_proto https; proxy_pass $upstream_proto://$upstream_app:$upstream_port; proxy_max_temp_file_size 2048m; } } My proxy config, I've tried serverIP, docker name, port for HTTP 8585 and I've tried HTTPS port 2443. Same result.
May 12, 20251 yr Community Expert Question 1. Are you using a custom docker network? For example from swag, they ask you to use "proxy-net" and both container would be included in "proxy-net" 15 minutes ago, presence06 said: resolver 127.0.0.11 valid=30s; Im not sure what this is for, I personally do not use it. 15 minutes ago, presence06 said: set $upstream_port 2443; set $upstream_proto https; HTTP with 8585 or whatever should be fine. no need to use https here. This is MY swag config: server { listen 443 ssl; listen [::]:443 ssl; server_name office.*; client_max_body_size 0; location / { include /config/nginx/proxy.conf; include /config/nginx/resolver.conf; set $upstream_app 10.0.0.2; set $upstream_port 8585; set $upstream_proto http; proxy_pass $upstream_proto://$upstream_app:$upstream_port; } } All my dockers are using a bridge network, I do not use br0 for anything. Edited May 12, 20251 yr by MowMdown
May 12, 20251 yr 20 minutes ago, MowMdown said: Question 1. Are you using a custom docker network? For example from swag, they ask you to use "proxy-net" and both container would be included in "proxy-net" Im not sure what this is for, I personally do not use it. HTTP with 8585 or whatever should be fine. no need to use https here. This is MY swag config: server { listen 443 ssl; listen [::]:443 ssl; server_name office.*; client_max_body_size 0; location / { include /config/nginx/proxy.conf; include /config/nginx/resolver.conf; set $upstream_app 10.0.0.2; set $upstream_port 8585; set $upstream_proto http; proxy_pass $upstream_proto://$upstream_app:$upstream_port; } } All my dockers are using a bridge network, I do not use br0 for anything. both containers are on my proxy-net network. I tried your swag config, same thing. It's like it wants to open but doesn't.
May 12, 20251 yr Community Expert 26 minutes ago, presence06 said: both containers are on my proxy-net network. I tried your swag config, same thing. It's like it wants to open but doesn't. If you straight up copied my swag config, you need to replace 10.0.0.2 with the container name or the IP of your host machine.
May 12, 20251 yr Hi all! Just a quick screenshot from the OnlyOffice log, as I remember to have something similar. Se here: But everythings works. I can edit all types of files, they get locked in Seafile during this, I can all save them. Also on my phone. So this is probably not a big deal. At least for me as I do not understand this log. Maybe someone can help me out. But it works. Regarding reverse proxy I use Nginx Proxy Manager. So I can't say anything about Swag.
May 12, 20251 yr Community Expert @tomkenobi & @presence06 Delete the log from OnlyOffice appdata folder and test again. This log is persistent and not rotated so these could be old error logs Also in my onlyoffice nginx proxy config I commented out/removed this line include /config/nginx/ssl.conf; as it causes issues if you use nextcloud and/or altered the ssl.conf file in any way. Edited May 12, 20251 yr by MowMdown
May 12, 20251 yr OKay..corrected a few things in the Seahub settings file.. I now get "Connection refused" when trying to open a document.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.