this post was submitted on 30 Oct 2025
147 points (99.3% liked)

Selfhosted

52673 readers
1126 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

I have a Samba mount at home (behind NAT, accessible via wireguard VPN), which works very well when accessing my home files when traveling (I travel a lot for work).

The only detail missing from this solution is sharing individual files with friends. I could give them access to my VPN, but that gives them access to everything, not just one thing I want to share. Also not all my friends are that tech savvy to manage connecting to a VPN.

What would be really great is to have a link-generator that punches a hole in the NAT to give them access to specific files. Are there any self-hosted solutions for that?

top 50 comments
sorted by: hot top controversial new old
[–] 1984@lemmy.today 2 points 6 hours ago

An ordinary sftp server. No reason for this to be web based.

[–] LordCrom@lemmy.world 11 points 1 day ago (1 children)

Try nextcloud. It can generate links to files like this.

[–] deltapi@lemmy.world 2 points 1 day ago

100% this. I have one running in a lxc, and I expose it to the world through a CloudFlare tunnel so I needn't worry about dyndns or people probing my public IP.

[–] rustinmyeye@lemmy.ml 1 points 1 day ago

I use ownclowd

[–] sem@lemmy.blahaj.zone 4 points 1 day ago (1 children)

Not selfhosted but after I found catbox.Moe I haven't had yo worry about sharing files.

[–] beella@lemmings.world 2 points 1 day ago (1 children)

I would not rely on catbox for the long term.

[–] BuckWylde@lemmy.world 3 points 23 hours ago

That's always sound advice

[–] Hupf@feddit.org 43 points 2 days ago (1 children)
[–] Cyber@feddit.uk 10 points 2 days ago

I think this summarises all the other answers here

[–] B0rax@feddit.org 16 points 2 days ago

Are both parties online at the same time?

Maybe something like this is a good solution: https://github.com/magic-wormhole/magic-wormhole

It will figure out the fastest p2p connection and send even very large files without hassle.

It's not quite self hosted, but Soulseek allows you to share share private directories with buddies. Soulseek might require a port forward.

Other than that, there are the many pasteboard solutions that have been mentioned. They'll either require a port forward or reverse proxy (nginx etc.) to access outside the network though.

[–] jobbies@lemmy.zip 35 points 2 days ago (1 children)
load more comments (1 replies)
[–] Willdrick@lemmy.world 8 points 2 days ago (1 children)

https://file.pizza/ just because the pizza toppings URLs are fun and nasty

[–] meonkeys@lemmy.world 2 points 2 days ago (2 children)
[–] ki9@lemmy.gf4.pw 2 points 7 hours ago

Could be tho. Link to github ("fork me") at the bottom.

[–] kokomo@lemmy.kokomo.cloud 9 points 2 days ago
[–] Prunebutt@slrpnk.net 44 points 2 days ago* (last edited 2 days ago) (1 children)

Do you have a public-facing internet-presence? If so, then I've heard good things about copyparty.

I'm using Nextcloud for this, but that seems a bit overkill for your usecase.

Edit: they explain how to use a cloudflare tunnel, so no public IP needed, actually.

[–] bridgeenjoyer@sh.itjust.works 12 points 2 days ago (2 children)

How do I learn all these terms?

[–] gedaliyah@lemmy.world 25 points 2 days ago

Having come from zero knowledge, to now self-hosting for over a year, I can tell you that you just search for them one at a time. Sometimes they will make sense. Sometimes not yet.

Stick around here, ask questions, and look things up.

[–] Prunebutt@slrpnk.net 3 points 2 days ago (1 children)

I'm not sure if I'm using all of those 100% correctly (e.g. "Public facing"). But either use a search engine,, or just ask.

What terms do you have in mind that you want to learn about?

[–] bridgeenjoyer@sh.itjust.works 2 points 2 days ago (1 children)

Sorry I meant more what's in that git summary,

Portable file server with accelerated resumable uploads, dedup, WebDAV, FTP, TFTP, zeroconf, media indexer, thumbnails++ all in one file, no deps

I know FTP but the rest I dont really understand. Im often confused by stuff on git.

[–] AllHailTheSheep@sh.itjust.works 4 points 2 days ago* (last edited 2 days ago) (1 children)

I haven't looked at that GitHub but I'm familiar with most of the terms so here goes (verify them if you wish, I can't promise full accuracy).

portable file server with accelerated resumable uploads: portable most likely means it's easy to transfer from one server to another should you ever upgrade servers or anything else. resumable means you can pause the transfers if you desire.

dedup: it will automatically deduplicate files. so if you upload the same file twice it will just use the one you previously uploaded, saving space.

webdav is for distributed authoring and versioning. I don't know a crazy amount about it but assume it means there's some code in place that aids with collaboration as far as sending a file, working on it, and reuploading goes.

ftp: file transfer protocol.

tftp: trivial file transfer protocol. good for small things but iirc it's not inherently secure

zerconf: plug and play. no messing with configs needed.

media indexer/all in one file: most likely indexes media uploaded and stores the generated thumbnails in one big file. most likely this is so it'll be easier to transfer the install to another server if needed (you can move one big file containing all the thumbnails instead of a bunch of tiny ones).

no deps: no dependencies, everything you need is self contained in that repo.

again, double check things your curious about but that's my interpretation of what most would agree is kind of just a keyword filled description lol

[–] kossa@feddit.org 1 points 1 day ago

Webdav is just a http "file system". You can then e.g. mount the storage space as a webfolder in your operating system.

[–] kokomo@lemmy.kokomo.cloud 5 points 2 days ago (1 children)

it looks awesome tbh, thanks

[–] sin_free_for_00_days@sopuli.xyz 14 points 2 days ago (1 children)

Copyparty is easy, but if you can both set up syncthing, that makes it a breeze. I have a sibling that lives across the Pacific and last time they visited I set up syncthing on their laptop and when either of us wants to share something, we just drop it in that folder and wait a minute or two.

[–] joshchandra@midwest.social 2 points 1 day ago

Dang. I never thought of using the discovery servers for that purpose. Creative! Just hope that one side doesn't accidentally delete everything in there...

[–] e0qdk@reddthat.com 15 points 2 days ago (2 children)

Just run a web server and expose the specific files you want to share through that?

[–] Aquila@sh.itjust.works 41 points 2 days ago (2 children)

Yea just draw the rest of the owl duh! 🙄

[–] lIlIllIlIIIllIlIlII@lemmy.zip 3 points 2 days ago
python3 -m http.server
[–] PHLAK@lemmy.world 1 points 1 day ago

If you have Docker hand you can use my project Directory Lister to do just this quick and easily (Docker docs).

[–] OldQWERTYbastard@lemmy.world -2 points 1 day ago (1 children)

I haven't bothered to set up anything that complex, but mega.nz gives you an encrypted 50GB of free space. I'm not crazy about supporting Kim Dotcom's crazy ass, but it periodically solves problems for me.

I was also a founding member of box.com so there's another free 50.

[–] pix_wbmr@feddit.org 1 points 1 day ago

This is still a selfhosted sub isn't it?

You can consider using a Pikapods service for this. It's dead simple to strand up a server when you need one.

https://www.pikapods.com/apps#storage

They have Gokapi and/or PrivateBin for just about a buck per month. You can turn the service on and off whenever you like. Good company to work with, IME, too.

[–] Manodor@feddit.org 3 points 2 days ago (1 children)

I use Warpinator in combination with tailscale

load more comments (1 replies)
[–] BigTrout75@lemmy.world 3 points 2 days ago

Another vote for Syncthing. Might be a little too complicated for some though

[–] lambalicious@lemmy.sdf.org 4 points 2 days ago

Any particular reason why you can't do something like host a Send instance instead? Better to treat "filesystem behind the network" and "files to share" as two different things: one is imanent, the other is punctual and sporadic.

[–] n4sdaq@lemmy.dbzer0.com 5 points 2 days ago

Do you have a domain? If you do, maybe try Nginx Proxy Manager and SFTPGo. I previously used File Browser but the developers made some fairly large breaking changes and I never went back. SFTPGo lets you add accounts easily and I have specific folder setup for sharing with friends. It has a clean interface too. If you don't have a domain, maybe try Tailscale?

[–] AbidanYre@lemmy.world 5 points 2 days ago

There are a few implementations of wormhole that might work.

If you're ok with exposing a server to the internet, I've had good luck with sharry. https://eikek.github.io/sharry/

I've also had good luck running a Nextcloud instance to share with friends and family. But that is probably overkill here.

[–] Wispy2891@lemmy.world 2 points 2 days ago
[–] stonkage@aussie.zone 4 points 2 days ago* (last edited 1 day ago) (1 children)
[–] meonkeys@lemmy.world 4 points 2 days ago (1 children)

this link is broken? I had to copy+paste it

[–] stonkage@aussie.zone 1 points 1 day ago

Cheers, fixed it

[–] radieschen@slrpnk.net 1 points 2 days ago

Onion share might be an option.

[–] yaroto98@lemmy.world 4 points 2 days ago (3 children)

I use Pingvin. You upload a file to it and it generates a link. Has expiration on the link.

You can allow anonymous uploads or not, give friends logins etc.

I have it locked down to just me with a login and I use it to let others download the files.

[–] lepinkainen@lemmy.world 2 points 2 days ago

I tried it but Copyparty worked better, it has a massive community suddenly and tons of cool features that mostly stay out of the way unless you enable them

load more comments (2 replies)
load more comments
view more: next ›