November 21, 2025Nov 21 I’m trying to solve a fairly specific file-sharing need on my Unraid server, and I haven’t found a container that checks all the boxes. I figured I’d put this out to the community in case someone has already been down this road or knows of something I’m missing.Here’s the scenario:• I need to upload a file or a folder and generate a secure link for a specific person or persons.Something in the spirit of Dropbox or OneDrive—clean, simple, and focused on sharing, not full-blown cloud storage.• The link should only work for the email address I send it to.Not a shared password, not a public link. Actual identity-based access. The recipient should authenticate with their email before they can grab the file.• Once the file is downloaded, it should be gone.One-time retrieval, no leftovers sitting around. Ideally with a time-based expiry as a backup.• I need proper logging.Who accessed it, when they did it, and what they pulled. Straightforward audit trail.• It must run behind my Cloudflare Tunnel.Everything I expose runs through Cloudflare Zero Trust. I don’t open ports, and I want this to play nicely with that setup. I want to use my domain (i.e. files.mydomain.com)What I’ve already looked at:FileGator is close but doesn’t handle email-locked shares or one-and-done downloads.Nextcloud and Seafile feel like overkill for this and still don’t solve the identity-based link problem cleanly.copyparty gets part of the way there but still misses the per-email access requirement.Has anyone found a Docker container or workflow on Unraid that matches this pattern?Secure link → identity-verified access → one-time download → automatic deletion → proper logging → works behind Cloudflare.Appreciate any guidance, examples, or even “don’t bother, here’s a better way” responses.
November 25, 2025Nov 25 Community Expert Have a look at the SEND feature of the Bitwarden password manager. BitwardenAbout Send | BitwardenBitwarden Send enables users to transmit encrypted plaintext and file attachments to anybody securely.You can also require a password entry by the receiver to further secure the transmission. I believe that it is a feature that is the premium package. (Only $10 per year for personal use.)
November 29, 2025Nov 29 Author Solution Update: Seems to work great and hit 70% of my needs. I am surprised that there is not a dedicated file sharing container that can support these features. Edited November 29, 2025Nov 29 by Nexus
January 13Jan 13 On 11/28/2025 at 6:26 PM, Nexus said:Update: Seems to work great and hit 70% of my needs. I am surprised that there is not a dedicated file sharing container that can support these features.I built one! https://github.com/rlittlefield/ryansendUntil I get it approved for listing in the community apps, it requires manually adding the ryansend.xml to the user templates in /boot, or manually running a docker command.It generates a temporary url with an embedded token, that allows downloading a shared file. I build a very simple file browser. No javascript required, and its a pretty small image. Can handle really big 80gb+ files easily.It does not have only-once downloads, but the download link is only good for one hour by default, and I don't keep a log of who the links were made for. These are great feature ideas though and I can see about adding them in a future version. Pretty easy to add a note. These are stateless URLs, so there is no current table of outstanding downloads or anything, so I'll have to think about how to implement it.I don't think I'm likely to add the extra email verification though.
January 14Jan 14 I just implemented single downloads and notes and pushed a new version out.The single download still doesn't use long term persistence to maintain my goal of not having a database or something. So the way it works is that all downloads have a default expiration of 1 hour, and the app will remember the ids of the generated tokens for up to 24 hours. This shouldn't use much memory unless you are doing a very large number of shares.I also added the notes feature. Before you press the "share" or "single use" buttons, you can enter a note in the field to the right. Creating a download link or using it will now log both the unique id, and if present, the note. I recommend keeping the notes short because they get embedded into the token. Great for something like a friend's name or a customer id. If you don't want to increase the token size, you can just record the randomly generated id from the docker app logs and save that with your longer form notes in a different app. I don't have it showing the generated id on the page that shows the download url yet.
January 14Jan 14 Oh, and probably worth noting that if the short term memory of the single download enforcement is entirely ephemeral. But, it should work as long as the container doesn't crash or get restarted, and as long as you don't modify something to make to tokens last longer than an hour.
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.