(SOLVED) Seafile12 CE is running - using portainer

No, you do not need to change anything in the nginx-config in the seafile-data folder.

Which http request is working?

  1. http://your-dyndns
  2. http://localip:8099

But now that everything is set up again, you should take another look at your .env file.

You now need the setting:
SEAFILE_SERVER_PROTOCOL=https
So that the server knows which address it should be addressed with.
If you need to change it, you can do the following:

  1. Open your Seafile container in Portainer
  2. Click on “Duplicate/Edit” at the top right
  3. Scroll down and click on “Env” under “Advanced container settings”
  4. Change http to https
  5. Click “Deploy the Container” further up on the left-hand side

!Important!
The Domain Names section must contain the domain you want to use to access Seafile.
You have only entered the name of the service there.

This prevents Nginx Proxy Manager from forwarding the address to your destination.

image

You also should close port 81 in your router. So nobody can open your nginx-proxy-manager website.

changes applied still not accepting
still using this 127.0.0.1 8099 in nginx manager, correct?
and in location seafile:80?

seafile app says now "unknown error!
browser says “bad gateway” openresty

I still can access using http and 8099
both in app and browser

If seafile and nginx-proxy-manager are hosting on the same server, 127.0.0.1 and 8099 is correct.

You don´t need seafile:80 anywhere. Please delete, if this is in location.

Can you please test another config for your nginx-proxy-manager-compose. Change the last network-part. Then redeploy and try again

services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      - '80:80'
      - '81:81'
      - '443:443'
    volumes:
      - xxxx
      - xxxx
    network_mode: "host"

You also should close port 81 and 8099 in your router. So nobody can open your seafile or nginx-site without https.

1 Like

Bingo!!! Many, Many thanks
This was it

sometimes such a little shit can drive the whole story :slight_smile:

To mention:
I just stopped container in portainer, changed in portainer stack editor and added the last line, re-deployed

Noticed the upload using the app isn´t interrupted as before and also these ones interrupted before were loaded now.

One is remaining these settings in advanced for no file limit, where do I set this, cannot find it?
And now trying to load a jpg via mobile network isn´t so quick.
Is there something with that memcached to be adjusted or checking that this running properly, container is on green?

Who stands behind that page nginxproxymanager when spending a coffee there, is this you?

Behind nginx-proxy-manager stands:

There you can spend a coffee.


1) memcached speed up your seafile-website-loading. It doesn´t effect the download/upload-speed.
The problem you have is that you are accessing Seafile as if you were not at home. So your download and upload speed depends on your internet bandwidth and not on your network speed.

I had already mentioned this point in another post today (5 hours ago):
" If you want to access your server locally with DynDns, you must ensure that the requests remain in the network, e.g. with Adguard DNS rewriting or PiHole. Some routers also support this.
If you do not do this, your request will first leave your local network and then access it again from outside. Then port 443 in the router should be forwarded to your server and you are limited in speed."


You can use the windoes cmd to follow the way of request your domain and type:

tracert your-dyndns-adress

2) You can set the maximum upload size in two different places:

a) In your seafile-config. Have a look in the manual:

seafile.conf - Seafile Admin Manual.

b) In nginx-proxy-manager in your proxy-host → Advanced
Here you can add (so there is no limit for the proxy-manager):

client_max_body_size 0;
proxy_max_temp_file_size 0;

OK added the two lines in nginx advanced, the settings in seafile.conf i leave for the moment unchanged.
For the local access I will just use the local ip:8099, cause I cannot find something to change settings for keep traffic in local network when accessing dyndns in local networks for this router I am using, and don´t think this device is supporting it by default.
When I get some time I will raise a question in the related forum.

for the moment I am fighting
1 how and
2 what to install on Debian seafile client or seafile drive

I think the official seafile documentation is a bit confusing and I do not understand what is the difference for both, cause I don´t think I need two for more or less the same

  1. “How” → i can´t help, because i´m using windows-clients

  • Seafile Client: Sync folders between your local machine and server, so both folders have the same data
  • Seafile Drive: It´s like an USB-Stick. The whole data isn´t on your local machine. Only the files you click, get downloaded/synced to your local machine, so you can edit. If you edit a file, it´s automatically synced back to the server.

Have a look: So confused - Drive or Client?

Cool!!!

Installed both and playing a bit with these.
Now asking myself, no real glue about databases - in what file do sit all my stuff and can I just use a copy of that file (if one) for easy backup and copy back as restore?
Sure I can backup the partition or just use the sync functionality but I can´t see other accounts - these aren´t visible for me or do I oversee something?

Do you have a tip?

You will no longer find the files in their original form on the server as they are converted into a different format.
More information: Data Model - Seafile Admin Manual

If you want to back up your data, there is an official procedure for backing up the data and the database. It also works smoothly, especially because the data of all accounts is backed up
Instructions: Backup and restore for Docker based deployment

If you use Seafile alone, you can of course leave the data synchronised so that it is always in at least 2 locations.

OK will check that out, not so easy :grinning:

Maybe one comment for upgrading seafile in the portainer environment.
When re-deploying the existing yml using the given .env will
that properly update to a newer release e.g. 13 or is there
any further activity required.
I assume when structure and functionality is changed in a newer seafile release I would need to adjust yml and .env, cause it might not cover new requirements, right?

That is correct. When you click on redeploy, portainer loads the latest image from seafile.
If you need to adjust the compose file, the data will still exist on your server so that it can update it.
You can always add or remove env variables if you need to.

For example, I added seadoc, onlyoffice and the notification-server later.

Hi, maybe you can help me here again.
I thought it gets time to redeploy the containers in portainer and doing that with recreate using repull image what usually take latest image.
Now all containers are on “green” but I cannot reach seafile.
When using locally local_IP:8099 I am getting “502 bad gateway”
and also on android app I cannot reach it anymore.

What could cause that trouble?
In seafile log I see some errors with 12.0.11 and when checking the latest available version it says 12.0.14 and I thought this will be taken when redeploying latest???

*** Running /etc/my_init.d/01_create_data_links.sh...

*** Booting runit daemon...

*** Runit started as PID 21

*** Running /scripts/enterpoint.sh...

2025-07-06 15:46:38 Nginx ready 

2025-07-06 15:46:38 This is an idle script (infinite loop) to keep container running. 

[2025-07-06 15:46:38] Skip running setup-seafile-mysql.py because there is existing seafile-data folder.

[07/06/2025 15:46:38][upgrade]: The container was recreated, start fix the media symlinks

mv: cannot stat '/opt/seafile/seafile-server-12.0.11/seahub/media/avatars/*': No such file or directory

ln: failed to create symbolic link '/opt/seafile/seafile-server-12.0.11/seahub/media/avatars': No such file or directory

Traceback (most recent call last):

  File "/scripts/start.py", line 94, in <module>

    main()

  File "/scripts/start.py", line 61, in main

    check_upgrade()

  File "/scripts/upgrade.py", line 120, in check_upgrade

    fix_media_symlinks()

  File "/scripts/upgrade.py", line 106, in fix_media_symlinks

    call('ln -sf %s %s' % (dst_avatars_dir, avatars_dir))

  File "/scripts/utils.py", line 70, in call

    return subprocess.check_call(*a, **kw)

           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "/usr/lib/python3.12/subprocess.py", line 413, in check_call

    raise CalledProcessError(retcode, cmd)

subprocess.CalledProcessError: Command 'ln -sf /shared/seafile/seahub-data/avatars /opt/seafile/seafile-server-12.0.11/seahub/media/avatars' returned non-zero exit status 1.