Seafile Upload Failure: "Network Error"

Hi all,

When I try to upload a file, I receive a generic message: “Network Error”. The same issue occurs via my phone. I am trying to resolve this so I can upload files.

What I did:

  1. I installing Seafile for the first time using docker-compose in a ProxMox LXC container. I followed the instructions, keeping the protocol to HTTP.
  2. I used Nginx Proxy Manager from seafile.mydomain.com to the internal IP address (192.168.1.X).
  3. I was able to login to browse the web interface.

When I attempt to upload a file, I receive a non-descriptive error message saying “Network Error”.

How do I proceed to remediate? Thanks!

Open System Admin Settings > Settings > Service_URL and File_Server_Root

Make sure your domain is shown in both.

File_Server_Root should end with a /seafhttp

I have a similar issue (although using caddy reverse proxy through OPNSense).

Your suggestion is problematic because I don’t seem to have Service_URL and File_Server_Root available in the admin settings (Seafile Community Edition v12.0.7). Has it been moved somewhere else?

Ah, checking Upgrade notes for 12.0.x - Seafile Admin Manual patch notes it appears those no longer exist. SEAFILE_SERVER_PROTOCOL and SEAFILE_SERVER_HOSTNAME appear to be set correctly in my .env file and I still have the “Network Error” issue from uploading photos from my mobile device… Any other ideas?

Same topic here with diffent config: Unraid 7, Seafile CE 12 and cloudflare tunnel and the http config in the .env. Upload via iOS App works, but upload via Website not: Network error :frowning:

Hello everyone! I’m facing the same issue on version 12 CE docker/nginx! There’s an error when uploading a file, and it also doesn’t download the file. The .env file is set up correctly. What could be the problem? When I used 11 CE, the same issue was resolved by specifying SERVICE_URL and FILE_SERVER_ROOT. What should I do in 12 CE?


Hello! I had this exact same issue in the past couple of days. Like many, I made sure my SERVICE_URL & FILE_SERVER_ROOT were correct in seahub_settings.py and it still made no difference. I threw a lot of stuff at the wall, from trying different reverse proxies & configurations to meddling with the seahub_db database (constance_config table). Nothing worked. Until…

…I modified relevant config .yml files to change any environment fallback protocol lines from using http to using https.

For instance, in seafile-server.yml, one of the environment items sets the SEADOC_SERVER_URL, and one sees this default substitution as part of the value:

${SEAFILE_SERVER_PROTOCOL:-http}

Instead, add an “s” there so you have:

${SEAFILE_SERVER_PROTOCOL:-https}

So, in any of the accepted user-configurable .yml files, for any environment value where you see the above pattern, add that “s”. But ONLY in an environment section, not in, say, a labels section that deals with Caddy labels. For me, that meant modifying both seafile-server.yml & seadoc.yml and that was it. After that, BOOM! :slight_smile:

Lastly, for completeness, I should note that in my .env file, I removed the SEAFILE_SERVER_PROTOCOL line but left my SEAFILE_SERVER_HOSTNAME in there. I would need to dig into the source to figure out all of the pieces in play here and why these changes got it working, but in the short term, I hope it works for you.

UPDATE: I just noticed that I actually removed both SERVICE_URL & FILE_SERVER_ROOT from seahub_settings.py and file uploads via the web interface are still working. I am guessing that that removal wasn’t advisable, but I am assuming that the default falls back to my SEAFILE_SERVER_HOSTNAME in my .env file anyway.