I’m currently debating on how to manage files on my servers. I have a jellyfin and a minecraft server on which I need to add, remove or download files quite often. I don’t really want to use scp for everything, so I was wondering what everyone uses.
Edit: I’m looking for a gui solution, but a somewhat automated process of backups etc. is also nice
Edit 2: For anyone wondering what my final solution was: I am currently using a wireguard vpn on a raspberry pi to access my servers. I use Xpipe as a gui interface to transfer my files. I also just use tmux and ssh to execute commands and run services.
Linux?
I just use sshfs to mount ssh shares and move files between them like any other folder.
Same with samba shares (windows).
IDK what OS you are on but on Linux most file managers have support for remote filesystems. SFTP (SSH-FTP, not to be confused with FTPS which is FTP-secure) is ubiquitous and if you use
scp
then you already have SSH set up.If you need Windows support it is more of a pain. You may need to set up Samba or WebDAV and permissions can suck. But you can also download a third-party file browser that supports remote protocols.
So basically SFTP, and I fairly regularly just use a graphical file manager when I am doing one-off operations.
I’m using debian, so sftp would be an option, do you use a graphical client?
Right now I am just using nautilus (default GNOME file manager) but in past I was using Thunar (default XFCE file manager). I’d be pretty surprised if whatever file manager you are currently using doesn’t support SFTP out of the box. Typically you can just enter something like
sftp://myhost.example
into the location bar. They may also have a dedicated network connection section with a wizard to add it.I’m considering this, as I can see by your example, you can add a domain name to the server. How would you go over doing this?
You should look into DNS or maybe mDNS or even local DNS aliases.
I will take a look, thank you very much!
nemo for a gui, or midnightcommander after logging in via ssh for managing/moving files on the server.
NFS comes to mind, naturally.
I remember some years ago scp had a big issue, can’t recall what, though. But that made me have a look at rsync, and I’ve been using that ever since. Flags are a bit atteocious, but I’ve aliases
rsync -avz status=progress
tocopy
and it’s been happy days. One other benefit - incremental copy. Helps in cases where a copy procedure had been stopped for whatever reason.I wouldn’t really recommend NFS unless you need to remote mount as a “true filesystem” with full support for things like sockets, locking and other UNIX filesystem features or you need top performance. It is so difficult to do authentication and UID mapping that it typically isn’t worth it for simpler use cases like “add, remove or download files”.
scp
can be slow with large numbers of small files.rsync
is much better at that and can do differential transfers if you need that. Sincersync
can also run over SSH it can be very easy to just use it as a default.
Sftp using the KDE file browser Dolphin. Keeps it simple for my monkey brain as if I’m accessing the drive locally.
NFS, SMB, and/or sshfs
- NFS for my media shares between servers (Emby, MPD, etc)
- SMB for accessing from workstations
- sshfs when I need a quick, one-off file session (or if I’m accessing remotely)
Sshfs is also a good candidate if for whatever reason you want security / encryption
I mostly want to upload to a media server from my desktop, as that is where I download and manage the files before they go on the server
Use Filezilla and SFTP.
I’ll also take a look at this
Plex/Jellyfin is automatically managed by Sonarr/Radarr so I don’t touch those.
But for game servers I use Pterodactyl which has a nice WebUI to manage the server and its files, and has automated backups.
pterodactyl looks really neat, will definitely look into that. I have a manual system for my media library, so I want to add the directories with artwork and movies manually to the directory which jellyfin reads.
https://github.com/filebrowser/filebrowser might be what you want for that, just a basic web based file management tool.
But you could also just use SMB and access the shares directly from file explorer.
I tend to use rsync 99% times.
how would you do that with a large media library?
I would just use rsync on the whole folder.
Rsync is smart enough to be able to only send files you didnt’ have previously like a regular mv command.
Or you can sync the whole directory and have it also delete removed files.
Edit: If you wan’t something to automatically “sync/backup” the data, why don’t you try and use syncthing? P2P syncing solution that might be exactly what you need in your hse case.
I’m now considering syncing my minecraft world with syncthing, I already use it for some things but don’t know why I didn’t think of doing that.
On the other hand, if I have a 100+ gb media library, it seems kinda over the top to also have it fully copied on my local machine. Do you do this?
When it comes to media like my music library and comics for example I just use rsync to move new ones to the server every time I collect some new (I have about 60gb of it)
so you basically have a copy of your media library on a local machine?
No, I only have new files on my local machine, and as I collect new stuff I move them to my server with rsync and just remove it onthe local machine.
Rsync is more than smart enough to, if you keep same folder structure to easilly move the files to the server without you having to manually copy other each file.
sounds good, do you have any docs on how to do that?
Can you tell us what’s your issue with scp? It’ll help us make better recommendations.
I mostly want some sort of graphical way, I’m often moving a bunch of loose files and seeing them is a lot easier for me when transferring
sftp://USERNAME@SERVER:PORT
in the address bar of most file managers will work. You can omit the port if it’s the default (22), you can omit the username if it’s the same as your local user.You can also add the server as a favorite/shortcut in your file manager sidebar (it works at least in Thunar and Nautilus). Or you can edit
~/.config/gtk-3.0/bookmarks
directly:file:///some/local/directory file:///some/other/directory sftp://my.example.org/home/myuser my.example.org sftp://otheruser@my.example.net:2222/home/otheruser my.example.net
sounds like a good option, will definitely try this out
I would recommend you mention “graphical” or “GUI” in your main post. Most suggestions to be assuming CLI.
Some suggestions mentioned NFS / SSHFS. Those would allow you to use any GUI file manager for moving stuff over.
Sorry I can’t help more. Don’t have a lot of knowledge in gui tools
will do, thanks a lot
How exactly are you “losing” files?
I’m not losing them, I have a lot of single files. For example during a Minecraft update, I have to move ~20 jar files and other things to the server. I also try to make frequent backups and I upload new movies somewhat frequently to my jellyfin server, so I want to have an easy way to transfer files.
Loose, not lose
Nemo/most file explorers have a remote server option. For nemo, “Files > Connect to server”. Once configured, you should be able to view your server files from your file explorer and uploading files should be as easy as drag and drop. I’m pretty sure nautilis has something similar too!
It’s not the best for security because if someone gets your computer, they can access your server through the file explorer. But it’s fast and convenient if you are already using your file explorer.
Generally you can even just type it into the location bar, no need to find a specific dialog. For example if I type
CTRL+l
thensftp://myserver.local
into Nautilus it pops up a username+password dialog (or just logs in using my keys).
rsync for backups. SMB / NFS for things I need on a daily basis. SSH FTP (use whatever client you want) for things I need rarely but don’t wanna bother with SCP and I especially don’t bother ever setting up vsftpd for ‘real’ FTP.
docker, persistent shared storage
SCP?
sorry, should’ve clarified: secure copy, it’s an ssh kind of way of copying files to a server
Yeah, I had to look it up but the above was the first search result 🙂
Wouldn’t FileBrowser work? Idk if you’re on docker or not though
I use rsync and SFTP to transfer files to a remote server and NFS over the LAN.
It’s not very sexy, but I just use SFTP and filezilla. Filezilla is available for all the major operating systems, and an ssh server is basically required anyways.