What is your favourite way to transfer files in your homelab?
from theorangeninja@sopuli.xyz to selfhosted@lemmy.world on 18 Mar 17:44
https://sopuli.xyz/post/24066712

Hello selfhosted! Sometimes I have to transfer big files or a large amounts of small files in my homelab. I used rsync but specifying the IP address and the folders and everything is bit fiddly. I thought about writing a bash script but before I do that I wanted to ask you about your favourite way to achieve this. Maybe I am missing out on an awesome tool I wasn’t even thinking about.

Edit: I settled for SFTP in my GUI filemanager for now. When I have some spare time I will try to look into the other options too. Thank you for the helpful information.

#selfhosted

threaded - newest

Kit@lemmy.blahaj.zone on 18 Mar 17:46 next collapse

Not gonna lie, I just map a network share and copy and paste through the gui.

Flamangoman@leminal.space on 18 Mar 17:51 next collapse

Same lol, somebody please enlighten me on a faster way!

theorangeninja@sopuli.xyz on 18 Mar 17:51 next collapse

Sounds very straight forward. Do you have a samba docker container running on your server or how do you do that?

drkt_@lemmy.dbzer0.com on 18 Mar 17:57 next collapse

I just type sftp://[ip, domain or SSH alias] into my file manager and browse it as a regular folder

blackbrook@mander.xyz on 18 Mar 22:22 next collapse

Dolphin?

drkt_@lemmy.dbzer0.com on 18 Mar 22:38 collapse

Any file manager on Linux supports this

tacocatgoat@lemmy.world on 19 Mar 10:41 collapse

YOU CAN DO THAT???

drkt_@lemmy.dbzer0.com on 20 Mar 00:17 collapse

Linux is truly extensible and it is the part I both love and struggle to explain the most.
I can sit at my desktop, developing code that physically resides on my server and interact with it from my laptop. This does not require any strange janky setup, it’s just SSH. It’s extensible.

blackbrook@mander.xyz on 20 Mar 03:17 collapse

I love this so much. When I first switched to Linux, being able to just list a bunch of server aliases along with the private key references in my .ssh/config made my life SO much easier then the redundantly maintained and hard to manage putty and winscp configurations in Windows.

Kit@lemmy.blahaj.zone on 18 Mar 20:15 next collapse

I have two servers, one Mac and one Windows. For the Mac I just map directly to the smb share, for the Windows it’s a standard network share. My desktop runs Linux and connects to both with ease.

Lv_InSaNe_vL@lemmy.world on 18 Mar 22:45 next collapse

I dont have a docker container, I just have Samba running on the server itself.

I do have an owncloud container running, which is mapped to a directory. And I have that shared out through samba so I can access it through my file manager. But that’s unnecessary because owncloud is kind of trash.

Appoxo@lemmy.dbzer0.com on 19 Mar 13:08 next collapse

Set up smb on my file share VM.
My dedicated docker host accesses it through an NFS mount.

Shimitar@downonthestreet.eu on 20 Mar 06:28 collapse

Do you really need a container for Samba?

I see the benefits of containers, but a use would be overkill.

GamingChairModel@lemmy.world on 20 Mar 13:24 collapse

Yeah, if OP has command line access through rsync then the server is already configured to allow remote access over NFS or SMB or SSH or FTP or whatever. Setting up a mounted folder through whatever file browser (including the default Windows Explorer in Windows or Finder in MacOS) over the same protocol should be trivial, and not require any additional server side configuration.

GamingChairModel@lemmy.world on 20 Mar 13:20 collapse

Yeah, I mean I do still use rsync for the stuff that would take a long time, but for one-off file movement I just use a mounted network drive in the normal file browser, including on Windows and MacOS machines.

ptz@dubvee.org on 18 Mar 17:51 next collapse

Depends on what I’m transferring and to/from where:

  • scp is my go-to since I’m a Linux household and have SSH keys setup and LDAP SSO as a fallback
  • sshfs if I’m too lazy to connect via SMB/NFS (or I don’t feel like installing the tools for them) or I’m traversing a WAN
  • rsync for bulk transfer and backups
  • Snapdrop/Pairdrop for one-off file/text shares between devices with GUIs (mostly phone <–> PC)
  • SMB if I’m on a client PC and need to work with the files directly from the fileserver
  • NFS between servers
  • To get bulk data to my phone (e.g. updating my music library), I connect via USB in MTP mode and copy from the server via SMB or sshfs.
Xanza@lemm.ee on 18 Mar 17:53 next collapse

rclone. I have a few helper functions;

fn mount { rclone mount http: X: --network-mode }
fn kdrama {|x| rclone --multi-thread-streams=8 --checkers=2 --transfers=2 --ignore-existing --progress copy http:$x nas:Media/KDrama/$x --filter-from
~/.config/filter.txt }
fn tv {|x| rclone --multi-thread-streams=8 --checkers=2 --transfers=2 --ignore-existing --progress copy http:$x nas:Media/TV/$x --filter-from ~/.config/filter.txt }
fn downloads {|x| rclone --multi-thread-streams=8 --checkers=2 --transfers=2 --ignore-existing --progress copy http:$x nas:Media/Downloads/$x --filter-from ~/.config/filter.txt }

So I download something to my seedbox, then use rclone lsd http: to get the exact name of the folder/files, and run tv “filename” and it runs my function. Pulls all the files (based on filter.txt) using multiple threads to the correct folder on my NAS. Works great, and maxes out my connection.

iii@mander.xyz on 18 Mar 17:55 next collapse

I have a shared syncthing folder on all my devices

pirat@lemmy.world on 20 Mar 15:54 collapse

A single folder synced between all of them, or a separate folder for each, syncing everything to a single device?

iii@mander.xyz on 20 Mar 16:44 collapse

The first, single folder for all of them.

aeno@discuss.tchncs.de on 18 Mar 17:54 next collapse

SFTP! 😃

kokesh@lemmy.world on 18 Mar 18:02 next collapse

Resilion Sync

linuxguy@lemmy.gregw.us on 18 Mar 18:09 next collapse

scp

Sunbutt23@lemmy.world on 18 Mar 20:49 next collapse

Checks username… yeah that tracks

atzanteol@sh.itjust.works on 18 Mar 21:27 collapse

scp is deprecated.

blackbrook@mander.xyz on 18 Mar 22:29 collapse

SCP, the protocol, is deprecated. scp, the command, just uses the SFTP protocol these days. I find its syntax convenient.

atzanteol@sh.itjust.works on 18 Mar 22:33 collapse

Oh does it? I didn’t realize that. I’ve just switched over to rsync completely.

blackbrook@mander.xyz on 20 Mar 03:10 collapse

Since OpenSSH version 9.0, so like mid '22. So as long as you’re not running something more out of date than that.

magic_smoke@lemmy.blahaj.zone on 18 Mar 18:17 next collapse

  • sftp for quick shit like config files off a random server because its easy and is on by default with sshd in most distros
  • rsync for big one-time moves
  • smb for client-facing network shares
  • NFS for SAN usage (mostly storage for virtual machines)
neidu3@sh.itjust.works on 18 Mar 18:18 next collapse

rsync if it’s a from/to I don’t need very often

More common transfer locations are done via NFS

harsh3466@lemmy.ml on 18 Mar 18:32 next collapse

Rsync and NFS for me.

IsoKiero@sopuli.xyz on 18 Mar 20:01 collapse

And me.

MasterBlaster@lemmy.world on 18 Mar 18:34 next collapse

By “homelab”, do you mean your local network? I tend to use shared folders, kdeconnect, or WebDAV.

I like WebDAV, which i can activate on Android with DavX5 and Material Files, and i use it for Joplin.

Nice thing about this setup is that i also have a certificate secured OpenVPN, so in a pinch i can access it all remotely when necessary by activating that vpn, then disconnecting.

hendrik@palaver.p3x.de on 18 Mar 18:36 next collapse

I'd say use something like zeroconf(?) for local computer names. Or give them names in either your dns forwarder (router), hosts file or ssh config. Along with shell autocompletion, that might do the job. I use scp, rsync and I have a NFS share on the NAS and some bookmarks in Gnome's file manager, so i just click on that or type in scp or rsync with the target computer's name.

muhyb@programming.dev on 18 Mar 18:46 next collapse

As a lazy person, I just prefer sftp on thunar.

Mosfar@sh.itjust.works on 18 Mar 20:07 next collapse

Syncthing

e0qdk@reddthat.com on 18 Mar 20:36 next collapse

People have already covered most of the tools I typically use, but one I haven’t seen listed yet that is sometimes convenient is python3 -m http.server which runs a small web server that shares whatever is in the directory you launched it from. I’ve used that to download files onto my phone before when I didn’t have the right USB cables/adapters handy as well as for getting data out of VMs when I didn’t want to bother setting up something more complex.

GamingChairModel@lemmy.world on 20 Mar 13:28 collapse

Honestly, this is an easy way to share files with non-technical people in the outside world, too. Just open up a port for that very specific purpose, send the link to your friend, watch the one file get downloaded, and then close the port and turn off the http server.

It’s technically not very secure, so it’s a bad idea to leave that unattended, but you can always encrypt a zip file to send it and let that file level encryption kinda make up for lack of network level encryption. And as a one-off thing, you should close up your firewall/port forwarding when you’re done.

jaek@lemmy.world on 18 Mar 21:36 next collapse

Magic wormhole is pretty dead simple magic-wormhole.readthedocs.io/en/…/welcome.html#i…

I use this a lot at work for moving stuff between different test vms, as you don’t need to check IPs/hostnames

boreengreen@lemm.ee on 18 Mar 22:20 collapse

As I understand it, the establishing of the connection is reliant on a relay server. So this would not work on a local network without a relay server and would, by default, try to reach a server on the internet to make connections.

boreengreen@lemm.ee on 18 Mar 21:59 next collapse

rsync is indeed fiddly. Consider SFTP in your GUI of choice. I mount the folder I need in my file browser and grab the files I need. No terminal needed and I can put the folders as favorites in the side bar.

Lv_InSaNe_vL@lemmy.world on 18 Mar 22:42 collapse

If you want to use the terminal though, there is scp which is supported on both windows and Linux.

Its just scp [file to copy] [username]@[server IP]:[remote location]

CmdrShepard42@lemm.ee on 19 Mar 02:30 collapse

That’s essentially the same as rsync

sugar_in_your_tea@sh.itjust.works on 19 Mar 13:40 collapse

Just slower if you already have some of the files there.

lIlIllIlIIIllIlIlII@lemmy.zip on 18 Mar 23:04 next collapse

Syncthing and/or ftp.

lemmylommy@lemmy.world on 18 Mar 23:29 next collapse

WinSCP for editing server config

Rsync for manual transfers over slow connections

ZFS send/receive for what it was meant for

Samba for everything else that involves mounting on clients or other servers.

PerogiBoi@lemmy.ca on 19 Mar 00:03 next collapse

Ye old samba share.

But I do like using Nextcloud. I use it for syncing my video projects so I can pick up where I left off on another computer.

jacksilver@lemmy.world on 19 Mar 01:05 collapse

Samba Bamba!!

node815@lemmy.world on 19 Mar 02:46 next collapse

I work from home, however my two systems (home and work) are on the same LAN, they don’t see each other for file sharing. I get paid via direct deposit like everyone else which means my pay stubs are all electronic. I print those out and then use WinSCP to copy those over to my desktop. No other files are ever sent.

At home, depending on the amount of files, I either use SFTP via Filezilla, or if the mood strikes me and for a single file, I will just use SCP if I’m already on the cli which is most of the time it seems anymore doing work on my personal servers. I’ve found that SFTP is faster at transferring than doing a copy/paste to the NFS share to the same drive.

motsu@lemmy.world on 19 Mar 07:43 next collapse

smb share if its desktop to desktop. If its from phone to PC, I throw it on nextcloud on the phone, then grab it from the web ui on pc.

Smb is the way to go if you have identity set up, since your PC auth will carry over for the connection to the smb share. Nextcloud will be less typing if not since you can just have persistent auth on the app / web.

BeardedGingerWonder@feddit.uk on 20 Mar 15:26 collapse

Solid explorer on android is pretty useful too, it can access the SMB share. I use nextcloud for photo backup, but usually solid explorer for one off file transfers.

sugar_in_your_tea@sh.itjust.works on 19 Mar 13:45 next collapse

What’s wrong with rsync? If you don’t like IP addresses, use a domain name. If you use certificate authentication, you can tab complete the folders. It’s a really nice UX IMO.

If you’ll do this a lot, just mount the target directory with sshfs or NFS. Then use rsync or a GUI file manager.

grumuk@lemmy.ml on 19 Mar 15:14 next collapse

I never even set up DNS for things that aren’t public facing. I just keep /etc/hosts updated everywhere and ssh/scp/rsync things around using their non-fqdn hostnames.

sugar_in_your_tea@sh.itjust.works on 19 Mar 15:38 collapse

You could also use mDNS to the same effect.

possiblylinux127@lemmy.zip on 20 Mar 15:41 collapse

Just don’t run rsync as a daemon as that’s a security nightmare

sugar_in_your_tea@sh.itjust.works on 20 Mar 15:43 collapse

Why would you do that? That sounds awful…

possiblylinux127@lemmy.zip on 20 Mar 17:19 next collapse

It is, rsync sends data in plain text. There is a optional password that is also sent in plain text.

jollyrogue@lemmy.ml on 20 Mar 17:44 collapse

The daemon tracks file state, so the transfers start quicker because rsync doesn’t have to scan the filesystem.

sugar_in_your_tea@sh.itjust.works on 20 Mar 19:52 collapse

Right, but if you’re transferring things that frequently, there are better solutions.

jollyrogue@lemmy.ml on 20 Mar 23:41 collapse

Not necessarily. Rsync deltas are very efficient, and not everything supports deltas.

It may very well be the correct tool for the job.

Anyway, problem fit wasn’t part of the question.

sugar_in_your_tea@sh.itjust.works on 21 Mar 00:02 collapse

Yeah, there are probably a few perfect fits for it. I don’t rsync between machines very often, so the only use case I might have is backups, which is already well covered with a number of tools. Otherwise I just want to sync a few directories.

lemming741@lemmy.world on 20 Mar 14:08 next collapse

sftp

All my machines have my keys, nothing to set up, nothing to tear down.

possiblylinux127@lemmy.zip on 20 Mar 15:41 next collapse

What do you mean by specifying IP address?

possiblylinux127@lemmy.zip on 20 Mar 15:43 next collapse

I like unison personally. It is a bit more of a hassle but it works pretty well.

MangoPenguin@lemmy.blahaj.zone on 20 Mar 17:00 next collapse

Just regular old WinSCP, or XPipe for smaller stuff and editing config files.

I need a GUI, I’ll use rsync to migrate a lot of data to a new server or something occasionally, but it’s just a pain compared to a nice graphical file browser.

GreenKnight23@lemmy.world on 21 Mar 00:18 next collapse

rsync over ssh or scp.

raldone01@lemmy.world on 21 Mar 00:45 next collapse

Ähm. So your not gonna like this but I just connect with vscode remote-ssh and drag’n drop em from the os file explorer into the vscode one.

So long story short scp I guess.

Turboblack@lemmy.world on 21 Mar 07:17 next collapse

you can use a regular ftp server with administrator and user rights, distribute rights to those who replenish, and those who just take - guests at home I transfer in this way from computer to computer without connecting them to a common network, what could be simpler? why invent some ways with keys or bash if there is a 40-year-old technology that just works great, and to open ftp it is enough to enter the IP address in the explorer

merthyr1831@lemmy.ml on 21 Mar 10:14 next collapse

rsync over an SMB share was pretty seamless.

cass80@programming.dev on 21 Mar 12:51 next collapse

Snapdrop if they both have a gui/webbrowser. github.com/SnapDrop/snapdrop

Scp otherwise

westingham@sh.itjust.works on 24 Mar 01:54 next collapse

Or github.com/schlagmichdoch/PairDrop if you don’t want to support a project bought out by LimeWire

theorangeninja@sopuli.xyz on 25 Mar 11:02 collapse

I used that before but usually I prefer the fork of snapdrop, pairdrop or localsend. Might want to try magic wormhole one day.

UltraBlack@lemmy.world on 21 Mar 23:53 collapse

rsync -are ssh from to@pc:/dir