Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Confused about Seafile Container versions & updates

Featured Replies

When I installed my Unraid system, I made the choice for numerous Docker containers. One of which was Seafile, that I had previously used in a non-Docker install. The migration was considerable, and ultimately I used a new 2nd instance, then replicated data manually between them. I do not want, nor see the need to, repeat this effort.

 

I chose the then-`Official` Seafilie-Official image offered by `piranha771`, which I think is now no longer being maintained. In the Apps section, it displays "Not Available" for updates. It is currently running v.11.0.9. I have posted an `Issue` on their Github repo, though I do not expect any follow up.

 

This repo is pulling from `seafileltd/seafile-mc`, which I see on Docker Hub was updated this current month (March 2025). Why can I not update my container? There are updates available.

 

The alternative Seafile containers (listed below) also use the same repo. How are they able to keep updated? Is this some unique Unraid thing?

 

@Fantucie   --> Image is simply called `Seafile`, uses `seafileltd/seafile`

@dglb99     --> Image is called `seafile-10` (pulling image `seafileltd/seafile-mc:10.0-latest`) and `seafile-11` (pulling `seafileltd/seafile-mc:11.0-latest`)

 

Finally, can I "swap" from the current `piranha-771` image to any of these alternatives just be repointing my local files? I run MariaDB in its own Unraid container, that I provide the config for in the existing container config, so should be easy to replicate. No clue about file structures though!

 

 

 

  • Replies 60
  • Views 22.3k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • MowMdown
    MowMdown

    @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_settin

  • tomkenobi
    tomkenobi

    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 Docke

  • MowMdown
    MowMdown

    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

Posted Images

  • Author

Running a Portainer container, I can see this Image. What would occur if I manually pulled the latest image? Then restarted the container? Does Seafile internal upgrade mechanisms to support this? I recall in the past they had combinations of Shell scripts for version upgrades when I ran it before Docker.

 

Second, what would happen if I just edit this container's config to point to the alternate `seafileltd/seafile-mc` repo image? Will it destroy the existing data?? Has anyone tried this? I guess the environment variables passed around would need to be validated?

Hi explosionhole!

 

Thanks for opening this thread! I just installed Seafile yesterday via the CA docker build seafile-11. I'm still trying around with it. Had some hard time getting it running first. On the Android client I couldn't upload at all. A simple reinstall solved it. Now I'm having problems - Android uploads break after appr. 1,5 GB. I pulled the Seafile PE docker image. But it's working so far except that Android upload thing.

 

So I'd really love to get Seafile PE 12 up and running. Then I would test it next to Resilio Sync to then finally decide which I'd use in the future for syncing everything together.

 

So I'll follow this thread for sure.

 

Best regards,

Tom

  • Author
59 minutes ago, tomkenobi said:

Hi explosionhole!

 

Thanks for opening this thread! I just installed Seafile yesterday via the CA docker build seafile-11. I'm still trying around with it. Had some hard time getting it running first. On the Android client I couldn't upload at all. A simple reinstall solved it. Now I'm having problems - Android uploads break after appr. 1,5 GB. I pulled the Seafile PE docker image. But it's working so far except that Android upload thing.

 

So I'd really love to get Seafile PE 12 up and running. Then I would test it next to Resilio Sync to then finally decide which I'd use in the future for syncing everything together.

 

So I'll follow this thread for sure.

 

Best regards,

Tom

Glad you are on the Seafile story - I have used for many years, and think it offers many great features. My libraries are now over 120GB, but I do not focus on huge files for this purpose. Mostly PDFs, JPGs, PNGs. The largest files tend to be media, which I continue to use more basic SMB, even NFS, shares.

 

My experience, the desktop clients are most reliable, especially with huge files.

 

You're welcome to join in on on this thread, but it is a bit different. More Docker shenanigans, swapping between repo images, by only repointing the container to the same underlying storage / file structure. But also ensuring that as container versions are upgraded, Seafile's internal update scripts / configs are applied, if this is still relevant.

 

There is a whole backup/restore function in their documentation, but I don't think it resolves my issue with switching between image repos, except (I guess) if I initially swap to exact same server version, do my restore, then upgrade that container image.

  • Author

I followed the Seafile documentation to backup the folder structure and MariaDB's (cc_net, seafile_db, seahub_db). I did this manually, it could easily be scripted. I don't do this, as my Unraid backup process simply copies this live data folder structure with Duplicati (as a VM) and also a User.Script with the equivalent MariaDB `mysqldump --all-databases` command.

 

Then I clicked into my `Seafile-Official` container item, toggled to the `Advanced View` (top right of the page), then edited the `Repository` value to:

 

seafileltd/seafile-mc:11.0-latest

 

Scrolled to the bottom, and clicked Apply. This worked, and downloaded the latest version for v11, which is `11.0.13`. Reading the Seafile docs again, the container itself contains the internal upgrade scripts, and watching the container's logs when it first upgraded, I saw it pick up the appropriate upgrade script. I also note the Unraid Docker page now shows this container as `up to date` again. So it is just a change in the tagging text that has occurred.

 

This same behaviour will occur when upgrading between MAJOR versions. v12.0.10 is available, but it seems on the forums there are some known issues which should be addressed in v12.0.11, which I will wait for.

 

When I do this, all I need to do is update the above Repository line to the equivalent for `12.0-latest`.

 

 

 

Thank you for all the additional information. I'm really looking forward to see development regarding Seafile on Unraid. I'll also go back from PE to CE as I relly do not need those additional features as I mainly use it for myself. I'm pretty sure there will be no other user than myself.

 

You will probably already know this video by AlienTech42. 

 

Down in the comments there is also Seafile 12 mentioned. So I guess good news will be seen soon.

 

For me, as I'm still experimenting with it, I do not have lots of data right now. And I hope there will be an easy method for upgrading from 11 to 12. I of course read the docs regarding upgrading using docker compose or installing 12 from scratch. But I'm not an expert and I use Unraid only for a very short time. So I don't want to risk breaking anything on the running system.

  • 3 weeks later...

I have not tested if you can jump from the old docker image used on Fantucie's template to one of the newer images on my templates.  I would recommend starting from a fresh install, but if you have a lot of data, manually changing the repository to go up one major version at a time is how I would do it.

 

Here is where I try to keep all my Seafile notes/steps to install and maintain if you're having issues.

 

Version 12 had a lot of changes made, and we cannot simply change the tag from ``11`` to ``12``.  I have not had the time to figure out the best way to install version 12 and update the template yet.  If anyone does get it running, let me know, I'm happy to update the template.

 

 

  • Author
23 hours ago, dglb99 said:

I have not tested if you can jump from the old docker image used on Fantucie's template to one of the newer images on my templates.  I would recommend starting from a fresh install, but if you have a lot of data, manually changing the repository to go up one major version at a time is how I would do it.

 

Here is where I try to keep all my Seafile notes/steps to install and maintain if you're having issues.

 

Version 12 had a lot of changes made, and we cannot simply change the tag from ``11`` to ``12``.  I have not had the time to figure out the best way to install version 12 and update the template yet.  If anyone does get it running, let me know, I'm happy to update the template.

 

 

 

Thanks for the contribution, @dglb99. For the purposes of this discussion, why can't you update the tags? Who has tried it? What was their outcome?

 

I assume a full data backup should allow to either:

- restore the data into a new container running an older container version, or

- duplicate the backup data, and create 2nd container at the new version. Then delete the copied data if everything is working

 

I have had no time to even start or try...

 

20 hours ago, explosionhole said:

For the purposes of this discussion, why can't you update the tags? Who has tried it? What was their outcome?

I have tried it.  Seafile will fail to start.  Logs will say something to the effect of, "cannot find .env file".  If you ever go through the Seafile documentation, you'll see all their docker instructions are for docker compose only.  I tried briefly, but was not able to pass through a .env file using an unRAID template, which utilizes docker run.  In theory docker compose and docker run can do the same thing, but I don't have enough experience to know how to translate one from the other very well.

Versions 11 and lower did not require a .env file.  That change was introduced in version 12.

@explosionhole and @tomkenobi I was able to get seafile 12 running last night.  You should see a new template in the app store now.  I have it marked as Beta though since I have not upgraded my main seafile instance yet, and fully tested version 12 for myself.  There may be config issues you have to resolve in your ``seafile.conf`` and ``seahub_settings.py`` but I'm not sure.

23 hours ago, dglb99 said:

@explosionhole and @tomkenobi I was able to get seafile 12 running last night.  You should see a new template in the app store now.  I have it marked as Beta though since I have not upgraded my main seafile instance yet, and fully tested version 12 for myself.  There may be config issues you have to resolve in your ``seafile.conf`` and ``seahub_settings.py`` but I'm not sure.

Hi dglb99, quick question to you as the maintainer of the unraid template : updating a working seafile 11 to 12 will not work as is right ? I've read the seafile provides a script to facilitate this update, but I fail to understand how to run that inside my running container, then pushing changing the "11" to "12" tag. Is it something you can add to the template ? like to sort of Yes/No "I'm want to update from seafile 11" ?

Not something I can add to the template for a variety of reasons unfortunately.
 

Seafile will detect that you’ve pulled a different version docker image and run the update scripts automatically. It’s pretty good about that in my experience. 

 

If you pull the latest version 12 docker image without changing anything else in your template it won’t work. You need to pass through a JWT secret key. 
 

you can either add it to your existing template or use the new one and fill out type previously used variables (location, password, etc.)

 

I’d recommend setting up a test environment to try it on first before updating your actual seafile server.  I haven’t updated my primary server yet, but each time I’ve setup a new version 12 instance or updated a new 11 instance to 12 it seemed to start fine. 

  • Author

Yeah, I've seen the internal container handles version updates very well in the past.

 

The DotEnv (`.env`) file is only a different method to pass in environment variables, so no reason it should not work as is(?) So long as the same variables (and syntax) are used, I'd expect it to work. Unless v12 adds new or changed ENV VARs...

 

Or maybe it does a filesystem check of the DotEnv file.

 

Sorry, not actually tried any of this. But if you got a running version that would suggest the config's work... What other tests / checks are necessary to upgrade from a "beta" status? 

v12 did change the environment variables.  Only the "JWT_PRIVATE_KEY" variable should be the new required one.  The way the error message was worded I thought (and I believe many overs did as well) that it was actually doing a filesystem check for the .ENV file.  Turns out that is not the case though, and passing it through using the unraid template works fine.

 

As far as removing the "beta" status, when I move my production server to version 12 and have no issues, or hear back from some other people that it is working fine for them I'll remove it.  Even though the server started, I have not tested it behind my reverse proxy yet, mobile app access, etc.  Hope that clears some questions up for you.

Hi @dglb99!

 

Thank you so much for jumping into this thread. I’ve only now found the time to give it a try. Unfortunately, I’m getting a 502 error and I’m not sure why. As far as I can tell, I followed the same procedure I used for Seafile 11.

 

Since I only want to switch once everything works, I stopped the existing Seafile 11 and MariaDB Docker containers and created a new MariaDB instance for Seafile 12.

Accordingly, I named the new container "seafile12-mariadb" and adjusted everything else to match. See screenshots below:

 

grafik.thumb.png.70e8254bd2bece88c30afb4a8d8d07f7.png

 

grafik.thumb.png.f896ee2ce02a1942390aaf23006f4311.png

 

Here are the settings for the MariaDB docker container:

grafik.thumb.png.bc620f62623a9349841ad3572fd14422.png

 

grafik.thumb.png.b51105eb0f8d61a659314893c4cc4578.png

 

And here the settings for seafile-12 docker container:

grafik.thumb.png.c713b25a63f80c7b2daa38da4d9a73ad.png

 

By the way, I already had issues with Seafile 11 not working properly with seafile-net, so I used an already existing custom Docker network instead. I did the same thing here.

 

I’d really appreciate your support with troubleshooting this. I’m sure it’s something on my end, but I just can’t find the solution. Please let me know which additional info or screenshots you might need.

 

Thanks a lot in advance!

 

Best regards

Tom

 

And here's the container log after starting the seafile-12 container:

grafik.thumb.png.05408a0dbcbb3f970eb0e4e3755adc8b.png

Edited by tomkenobi
Adding container log

I have now also renamed the SQL from seafile12-mariadb to seafile-mariadb and also renamed the container to seafile-mariadb. Now everything seems to be exactly as it was setup for seafile-11 before. I'm getting this error now when staring the seafile-12 container. Thias also happened before renaming this:

 

grafik.thumb.png.fb970a2f457a45ff479dc9af3c571438.png

 

I also tried accessing the db within the container like this:

grafik.thumb.png.c581ea15a8f0c34cf478da70e0d03fe8.png

So the MYSQL_PASSWORD works. I double checked the password (here MYSQL_ROOT_PASSWORD) I set in the settings for the seafile container, matching everything to the previous setup. Don'T know what I'm missing here.

Back again. Now I did what I for sure didn't do when setting up Seafile 11. I went to https://github.com/chirmstream/unraid-templates/blob/main/seafile-12/seafile-12_guide.md and found the following:

Quote

Go ahead and remove MYSQL_DATABASE, MYSQL_USER, MYSQL_PASSWORD, and REMOTE_SQL. Seafile will connect to Mariadb with the root password and create all necessary users and databases.

Suddenly I got this (again like in Seafile 11):

grafik.png.3976b3399fd06793ed33d495c64465de.png

 

grafik.thumb.png.e5d5a37050e3fb588e7c43298ac678a3.png

 

I can now move on to the WebUI using either the local IP:8080 (I changed from 8081 to 8080 to make sure this wasn't the problem). I use the same credentials as with Seafile 11. But now there's this message showing up:

grafik.png.074e93410bc8e28327a81ef4ed4d84f8.png

 

So I think I already got quite far till this point.

 

 

I'm glad you found my note regarding the database setup.  I've found its much easier to only define the container root password and pass that along to Seafile.  Seafile is smart enough to setup all the database tables and everything on it's own.  I've considered make a mariadb template just for Seafile so that people don't mistakenly fill that stuff out and then give up when it doesn't work, but I think it is 'iffy' on how well that would adhere to the community app store ethos.  They don't want people making a bunch of templates that use the same container.  When you search mariadb there are already a few options so I'm hesitant to add more.

 

From your logs Seafile is working and configured correctly.  What is your reverse proxy setup?  Can you access seafile over LAN (192.168.xx.xx:8082)?  Double check that your reverse proxy is pointing to the correct port for Seafile (8082 from your logs, template screenshot showed 8081). 

 

Once you get to the webui if If you're having problems uploading files you may need to change "SEAFILE_SERVER_PROTOCOL" to http.  My Seafile server is behind NGINX Proxy Manager with Lets Encrypt SSL certificates generated by the proxy manager.  I had issues uploading files until I set "SEAFILE_SERVER_PROTOCOL" to https.  I made that the default setting for the template because I believe this is how most people will setup their server, but if yours is different you might have to change it.

Hi @dglb99!

 

Thanks so much for your quick reply – much appreciated!

 

Honestly, I should have just read more carefully. You clearly pointed out in the description that the four fields in the MariaDB container should be cleared. I didn’t take that seriously enough at first – that’s on me!

 

The Seafile WebUI is reachable both locally over LAN and via a FQDN with https. I’m using NGINX Proxy Manager as well, and everything seems to be configured correctly there. I changed the forward port in the docker container to 8080. MariaDB ist also set to standard 3306. However, after entering the username and password on the login page, I can’t get any further. 

grafik.thumb.png.51a959051d170b6772cc3752d4b2f07c.png

 

At some point I briefly tried setting SEAFILE_SERVER_PROTOCOL to http, but that didn’t change anything – though it’s possible something else wasn’t right at the time. I’ll test it again with that setting and report back once I’ve tried it.

 

Thanks again for your help!

 

Can you confirm you're trying to login to the admin account?  I've noticed, if I type the credentials incorrectly for the admin login it won't say "wrong username/password" or something to that affect and instead redirect me to a blank error page.  Confirm you're using the correct login credentials and if it's still not working since this was a test install I'd nuke it all and start fresh.  Since you're template(s) are setup correctly it should go quickly.

 

Shutdown seafile and seafile-mariadb docker containers.  Delete the appdata folder for mariadb (/mnt/user/appdata/seafile-mariadb for example).  Delete the seafile data folder (/mnt/user/seafile for example).  Delete the seafile template, and check 'yes' for removing the container image.  This way we will pull a fresh container image that we know has not been changed. 

 

Restart your mariadb container.  From the community app store, under previous apps reinstall seafile.  It will still have all of the forms you filled out earlier (database root password, admin email, etc.) so you shouldn't need to touch anything.  

Yeah, I'm pretty sure I didn’t mess up the login. I'm using Bitwarden and copied the credentials straight into the Seafile 12 container – not much room for error. But hey, never say never. Since I haven’t started using Seafile in production yet, I’ve got no problem wiping everything and starting fresh.

 

I’m still in the exploration phase with Unraid – haven’t had the server for that long, but I’m loving it. Lately, I’ve been focused on gathering and organizing all my scattered photo collections. I ditched Google Photos years ago and just recently exported everything from Flickr. After some final checks, I’m ready to delete it all. I ended up choosing Immich, and just yesterday copied about 30,000 photos to Unraid – then backed it all up to an old Synology DS using rsync.

 

Right now, it’s just photos, movies, and TV shows on the server, but that’s going to grow. Seafile really impressed me – it beat out Resilio Sync mainly because I often need to share files externally, and Resilio is a bit clunky for some people. Still, I’m not giving up on it – it’s too good to ignore completely.

 

And yeah, I guess this whole journey is driven by one thing: getting my digital life in order and building a solid backup setup. I’ve been burned before – I was hit by Deadbolt on a QNAP a few years ago. Total nightmare. I got lucky and found a one-off backup, but a lot of personal videos from my sports events were lost. Some might still be on a 20-year-old hard drive that's now dead. Recovery would cost €1,500–2,000. Maybe someday, if I win the lottery.

 

So yeah – lesson learned. Never again without a backup.

Now I finally found some time to delete everything and start completely from scratch.


I installed MariaDB with just the MYSQL_ROOT_PASSWORD set, and installed Seafile 12 exactly according to the instructions.
I always made it successfully to the login page — both locally and through the FQDN set up in NGINX Proxy Manager.


However, every time I try to log in, I end up on the following error page:

 

Page unavailable
Sorry, but the requested page is unavailable due to a server hiccup.
Our engineers have been notified, so check back later.

 

I have no idea what is causing this. I also tried going from https in the container settings to http. The Seafile container log right after deployment shows no errors. Maybe I need to make some adjustments in seafile.conf or seahub_settings.py. I vaguely remember that during my very first attempts with Seafile 11, I had to change something there to make it work.

 

Since I'm heading out on a weekend trip in less than two hours, I'll leave it as it is for now. Maybe I'll get another chance to experiment with it on Monday.

 

Wishing everyone a great weekend!

 

Best regards,
Tom

  • Community Expert
4 hours ago, tomkenobi said:

Page unavailable
Sorry, but the requested page is unavailable due to a server hiccup.
Our engineers have been notified, so check back later.

 


Same issue with me, as soon as I log in I get that same error page.

Honestly between this, nextcloud, and filerun... this is by far the most flaky of the three services I've tried. (I did manage to get version 11 running for a little while)

Edited by MowMdown

Seafile 11 was running without issues on my server. I'm confident that Seafile 12 will work as well.


I wouldn't really compare these three applications directly. I've also looked into FileRun and, of course, I'm familiar with Nextcloud.


The latter feels way too bloated for my needs. Sure, you could strip it down to the essentials, but I'd rather use a product that's focused on doing just one thing: file synchronization — and doing it securely, with encryption on both client and server.


That's not what FileRun offers. It's basically just a nicely designed file browser. On top of that, I also need a mature system for managing shares and users, along with versioning. FileRun simply doesn't provide that.


And since the code is proprietary, FileRun is a no-go for me anyway.

 

  • Community Expert
On 4/26/2025 at 2:41 AM, tomkenobi said:

That's not what FileRun offers. It's basically just a nicely designed file browser. On top of that, I also need a mature system for managing shares and users, along with versioning. FileRun simply doesn't provide that.

 

Not to get too off-topic but It has file syncing, versioning, user management, etc. But you're right it is closed sourced. which I get if you're not for that. It's pretty similar to seafile in a lot of ways but one major advantage is that files aren't chunked and are fully accessible wherever you're keeping them. You can access the files right from the unraid share.

 

for the file-syncing it actually uses the nextcloud desktop sync app. works just the same as "seadrive" does.

 

Supports OnlyOffice, WebDAV, file encryption. google cloud doc sync. It's quite fleshed out. I can create and share files with public links etc.

image.png

image.png

image.png

image.png

Edited by MowMdown

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.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.