I have people that want to send me files ranging from 500MB to 3GB in size. I want a simple server I can setup behind nginx such that they can have a simple file upload interface.


  • Simple file upload form
  • Ability to run through nginx as reverse-proxy (ability to set a custom listen port is fine)
  • Ability to recieve files up to 4GB in size
  • Runs on Ubuntu Linux
  • Open-source

Would be nice:

  • Progress bar on upload form
  • Estimated time remaining to complete upload
  • Password-protected (if not I can do it in nginx config)
  • Limits on total space used and per-file limit
  • Stores files on Amazon S3
  • Uses Ruby on Rails

Similar to Upload and store large files but I don't care what language it's in.

I did find simple-recieve however it seems updates to packages it depends on have broken it and I don't know enough about Node.js to fix it. Project seems to be abandoned.

3 Answers 3


Well I had similar requirements. Ended up using Wordpress with the file upload plugin. It was simple and quick to set up.


searching for http upload server on github i found

more general:


While a bit bloated if the only thing you want is uploads, I eventually used Nextcloud for this; You can do this in nextcloud by creating a folder and setting up a share link for that folder with the permissions set to "Upload only" or "Edit".

Zooming out a bit and not technically answering the question, sending files can also be accomplished with Web Wormhole. It uses WebTorrents to establish a P2P connection, which means both "ends" have to be present (the other side must send you the file while you have the webpage open) but you don't need to pay a third party for bandwidth or temporary storage (be it with ads&tracking or a monthly fee).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.