I recently replaced an ancient laptop with a slightly less ancient one.

  • host for backups for three other machines
  • serve files I don’t necessarily need on the new machine
  • relatively lightweight - “server” is ~15 years old
  • relatively simple - I’d rather not manage a dozen docker containers.
  • internal-facing
  • does NOT need to handle Android and friends. I can use sync-thing for that if I need to.

Left to my own devices I’d probably rsync for 90% of that, but I’d like to try something a little more pointy-clicky or at least transparent in my dotage.

Edit: Not SAMBA (I freaking hate trying to make that work)

Edit2: for the young’uns: NFS (linux “network filesystem”)

Edit 3: LAN only. I may set up a VPN connection one day but it’s not currently a priority. (edited post to reflect questions)

Last Edit: thanks, friends, for this discussion! I think based on this I’ll at least start with NFS + my existing backups system (Mint’s thing, which is I think just a gui in front of rcync). May play w/ modern SAMBA if I have extra time.

Ill continue to read the replies though - some interesting ideas.

  • Treczoks@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    9 minutes ago

    Stick with NFS, and use e.g. rsync for backup. Or subversion, if you want to be super-safe.

  • irotsoma@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 hour ago

    NFS is really good inside a LAN, just use 4.x (preferably 4.2) which is quite a bit better than 2.x/3.x. It makes file sharing super easy, does good caching and efficient sync. I use it for almost all of my Docker and Kubernetes clusters to allow files to be hosted on a NAS and sync the files among the cluster. NFS is great at keeping servers on a LAN or tight WAN in sync in near real time.

    What it isn’t is a backup system or a periodic sync application and it’s often when people try to use it that way that they get frustrated. It isn’t going to be as efficient in the cloud if the servers are widely spaced across the internet. Sync things to a central location like a NAS with NFS and then backups or syncs across wider WANs and the internet should be done with other tech that is better with periodic, larger, slower transactions for applications that can tolerate being out of sync for short periods.

    The only real problem I often see in the real world is Windows and Samba (sometimes referred to as CIFS) shares trying to sync the same files as NFS shares because Windows doesn’t support NFS out of the box and so file locking doesn’t work properly. Samba/CIFS has some advantages like user authentication tied to active directory out of the box as well as working out of the box on Windows (although older windows doesn’t support versions of Samba that are secure), so if I need to give a user access to log into a share from within a LAN (or over VPN) from any device to manually pull files, I use that instead. But for my own machines I just set up NFS clients to sync.

    One caveat is if you’re using this for workstations or other devices that frequently reboot and/or need to be used offline from the LAN. Either don’t mount the shares on boot, or take the time to set it up properly. By default I see a lot of people get frustrated that it takes a long time to boot because the mount is set as a prerequisite for completing the boot with the way some guides tell you to set it up. It’s not an NFS issue; it’s more of a grub and systemd (or most equivalents) being a pain to configure properly and boot systems making the default assumption that a mount that’s configured on boot is necessary for the boot to complete.

  • MangoPenguin@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    2
    ·
    3 hours ago

    Sounds like NFS might still be the way to go for you.

    For backups personally I use Restic and connect over SFTP via SSH, since that’s just built in and doesn’t need any configuration.

    For more traditional file sharing I use WebDAV with SFTPGo, since I need windows and android compatibility too, and webdav is pretty easy to setup and use.

    And I also use Syncthing for keeping some directories in sync between devices.

  • Frezik@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    5
    arrow-down
    1
    ·
    6 hours ago

    Everyone forgets about WebDAV.

    It’s a little jank, but it does work on Windows. If you copy a file in, it doesn’t show up in the file manager until you refresh. But it works.

    It’s also multithreaded, which isn’t the case for SMB. This is especially good if you host it on SSDs.

  • HelloRoot@lemy.lol
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    5 hours ago

    I have SFTPgo in a docker container with attached storage. Can access it through many protocols, but on linux I mount it via WebDav.

    Whats neat is that I can also share files/folders with either other registered users or with a password or download only link and it has a web gui for that.

  • talkingpumpkin@lemmy.world
    link
    fedilink
    English
    arrow-up
    7
    ·
    8 hours ago

    If it’s for backup, zfs and btrfs can send incremental diffs quite efficiently (but of course you’ll have to use those on both ends).

    Otherwise, both NFS and SMB are certainly viable.

    I tried both but TBH I ended up just using SSHFS because I don’t care about becoming and NFS/SMB admin.

    NFS and SMB are easy enough to setup, but then when you try to do user-level authentication… they aren’t as easy anymore.

    Since I’m already managing SSH keys all over my machines, I feel like SSHFS makes much more sense for me.

  • hexagonwin@lemmy.sdf.org
    link
    fedilink
    English
    arrow-up
    1
    ·
    5 hours ago

    I use both samba and NFS (with freebsd) on the same disk for my freebsd, linux and win7 desktop machine. All works perfectly fine.

    I’m running an rsync daemon for large transfers and use copyparty for easily grabbing files on phones etc.

  • loweffortname@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    17
    ·
    11 hours ago

    I think a reasonable quorum already said this, but NFS is still good. My only complaint is it isn’t quite as user-mountable as some other systems.

    So…I know you said no SAMBA, but SAMBA 4 really isn’t bad any more. At least, not nearly as shit as it was.

    If you want a easily mountable filesystem for users (e.g. network discovery/etc.) it’s pretty tolerable.

  • cmnybo@discuss.tchncs.de
    link
    fedilink
    English
    arrow-up
    42
    arrow-down
    1
    ·
    13 hours ago

    NFS is the best option if you only need to access the shared drives over your LAN. If you want to mount them over the internet, there’s SSHFS.

    • fmstrat@lemmy.nowsci.com
      link
      fedilink
      English
      arrow-up
      1
      ·
      2 hours ago

      My one change: I do SSHFS over LAN, because of guest machines and sniffing potential.

      I do NFS on direct wire or on a confidently set up VLAN (maybe).

    • BonkTheAnnoyed@lemmy.blahaj.zoneOP
      link
      fedilink
      English
      arrow-up
      26
      ·
      13 hours ago

      See, this is interesting. I’m out here looking for the new shiny easy button, but what I’m hearing is “the old config-file based thing works really well. ain’t broken, etc.”

      I may give that a swing and see.

      • curbstickle@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        22
        ·
        12 hours ago

        I’m at the same age - just to mention, samba is nowhere near the horror show it used to be. That said, I use NFS for my Debian boxes and mac mini build box to hit my NAS, samba for the windows laptop.

        • Bakkoda@sh.itjust.works
          link
          fedilink
          English
          arrow-up
          2
          ·
          edit-2
          3 hours ago

          I’ve run Proxmox hosts with smb shares for literally a decade without issue. Performance is line speed now. Only issues I’ve ever had were operator error and that was a long time ago. SMB 3 works great.

        • roofuskit@lemmy.world
          link
          fedilink
          English
          arrow-up
          9
          ·
          12 hours ago

          Yeah, Samba has come a long way. I run a Linux based server but all clients are Windows or Android so it just makes sense to run SMB shares instead of NFS.

          • WhyJiffie@sh.itjust.works
            link
            fedilink
            English
            arrow-up
            1
            ·
            edit-2
            2 hours ago

            you and perhaps @curbstickle@lemmy.dbzer0.com, may I ask if you use samba with portable devices, like laptops?

            I do and my experience is that programs that try to access it when I don’t have network access tend to freeze, including my desktop environment, but any file managers too if I click the wrong place by accident. but it occurs enough without user action too.
            oh and it breaks all machines at once if the server or network is down. which is rare but very annoying.

            did you experience this too? do you have some advice? is SMB just unsuitable for this?

            honestly I would prefer if the cifs driver would keep track of last successful communication, and if it was long ago instantly fail all accesses. without unmounting so that open directories and file handles keep being valid.
            and if all software on this world wouldn’t behave as if they were doing IO on the main thread. honestly this went smoother with windows clients but I’m not going back.

            • roofuskit@lemmy.world
              link
              fedilink
              English
              arrow-up
              1
              ·
              1 hour ago

              Honestly no, that’s not really my use case. My PC is running over a 2.5G cable. Funny enough, my wife and kid’s laptops rarely leave the house. I have experienced some wait time if the server is down while the PC looks for it, but nothing so drastic as locking things up. That particular window will just be spinning for a bit trying to find the server over the network.

          • lightnsfw@reddthat.com
            link
            fedilink
            English
            arrow-up
            1
            ·
            5 hours ago

            Same. I’ve used SMB for years. Don’t have any problems with it across all my Windows and Android devices. Pretty sure I had an iPad in there at one point as well.

          • ImgurRefugee114@reddthat.com
            link
            fedilink
            English
            arrow-up
            5
            ·
            12 hours ago

            I’ve always had weird issues with SMB like ghost files, issues with case sensitivity (zfs pool), it dropping out and me having to reboot to re-establish the connection… Since switching to Linux and using NFS, it’s been almost indistinguishable from a native drive for my casual use (including using a ssd pool as a steam library…)

            • roofuskit@lemmy.world
              link
              fedilink
              English
              arrow-up
              7
              ·
              edit-2
              5 hours ago

              I can definitely say in the past I had similar experiences. I haven’t really had any problems with SMB in the last 5 years that I can recall. It really was a shit show back in the day, but it’s been rock solid for me anyway.

      • cmnybo@discuss.tchncs.de
        link
        fedilink
        English
        arrow-up
        5
        ·
        10 hours ago

        You can use NFS over the internet, but it will be a lot more work to secure it. It was intended for use over a LAN and performance may not be great over the internet, especially with high latency or packet loss.

      • Keelhaul@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        1
        ·
        10 hours ago

        I would just create a point to point VPN connection and run it over that (for axample an IPsec tunnel using strongswan)

    • non_burglar@lemmy.world
      link
      fedilink
      English
      arrow-up
      4
      arrow-down
      1
      ·
      12 hours ago

      I agree, NFS is eazy peazy, livin greazy.

      I have an old ds211j synology for backup. I just can’t bring myself to replace it, it still works. However, it doesn’t support zfs. I wish I could get another Linux running on this thing.

      However, NFS does work on it and is so simple and easy to lock down, it works in a ton of corner cases like mine.

      • Antithetical@lemmy.deedium.nl
        link
        fedilink
        English
        arrow-up
        1
        ·
        4 hours ago

        NFS is easy as long as you use very basic access control. When you want NFSv4 with Kerberos auth you’re entering a world of pain and tears.

      • needanke@feddit.org
        link
        fedilink
        English
        arrow-up
        1
        ·
        8 hours ago

        Afaik Synology supports Btrfs which I honestly prefer at this point if you don’t need filesystem based encryption or professionall scaling and caching features.

        • non_burglar@lemmy.world
          link
          fedilink
          English
          arrow-up
          2
          ·
          3 hours ago

          The ds211j is on synology DSM 6, which is ancient. I’ll look again, but I don’t think it supports btrfs.

          • athairmor@lemmy.world
            link
            fedilink
            English
            arrow-up
            1
            ·
            2 hours ago

            The lower end Synology NAS (like my DS420j) don’t support btrfs. They only support ext4, I think.

  • 3dcadmin@lemmy.relayeasy.com
    link
    fedilink
    English
    arrow-up
    5
    ·
    10 hours ago

    I still have to use SAMBA as Win 11 hates NFS with a passion and we have Win 11 boxes here supplied as work machines so no changing. Also wifeys gaming rig is Windows as she don’t want to mess around getting stuff to work…
    But hey - for everything else it is NFS with all of its weirdness, but it just works a bit better than SMB

    • MudMan@fedia.io
      link
      fedilink
      arrow-up
      1
      ·
      9 hours ago

      My Windows machines seem to be just fine with the couple of NFS shares I use for easier cross-platform mounting on boot. It comes at the cost of some security, though, so I use it to share unimportant stuff I want to mount very freely, like some media libraries. I use SMB for the rest.

      I’m curious, what’s the issue with NFS on Windows for you?

      • 3dcadmin@lemmy.relayeasy.com
        link
        fedilink
        English
        arrow-up
        2
        ·
        7 hours ago

        Oh it just doesn’t like it as much as SMB… has work mandated VPN on it for starters! I use a truenas box for most of the backups etc. and I just share the same dataset via SMB and NFS and locally only, so it is sorted, but NFS on the Win 11 box is just way flakier and drops often

  • renegadespork@lemmy.jelliefrontier.net
    link
    fedilink
    English
    arrow-up
    12
    ·
    13 hours ago

    If you already know NFS and it works for you, why change it? As long as you’re keeping it between Linux machines on the LAN, I see nothing wrong with NFS.

    • Hawke@lemmy.world
      link
      fedilink
      English
      arrow-up
      8
      ·
      11 hours ago

      Isn’t nfs pretty much completely insecure unless you turn on nfs4 with Kerberos? The fact that that is such a pain in the ass is what keeps me from it. It is fine for read-only though.

      • Cousin Mose@lemmy.hogru.ch
        link
        fedilink
        English
        arrow-up
        4
        ·
        edit-2
        11 hours ago

        If you’ve got Tailscale it’ll build WireGuard tunnels directly over the LAN: I actually do this with Samba for Time Machine backups on macOS.

        Obviously the big bonus is being able to do the same over the internet without the gaping security holes.

        (I used to use split DNS so that my LAN’s router’s DNS server returned the LAN IP, and Tailscale’s DNS server returned the Tailscale IP. But because I’m a privacy geek I decided to make it Tailscale-only.)

      • nesc@lemmy.cafe
        link
        fedilink
        English
        arrow-up
        2
        arrow-down
        1
        ·
        8 hours ago

        It is, but nfsv3 is extremely easy to configure. You need to edit 1 line in 1 file and it’s ready to go.

      • Appoxo@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        1
        ·
        9 hours ago

        Would be fine for designated storage networks that use IP whitelists.
        Other than that, you kind of need user specific encryption/segregation (which I beliege Kerberos does?)

  • Max-P@lemmy.max-p.me
    link
    fedilink
    English
    arrow-up
    7
    arrow-down
    1
    ·
    12 hours ago

    For all its flaws and mess, NFS is still pretty good and used in production.

    I still use NFS to file share to my VMs because it still significantly outperforms virtiofs, and obviously network is a local bridge so latency is non-existent.

    The thing with rsync is that it’s designed to quickly compute the least amount of data transfer to sync over a remote (possibly high latency) link. So when it comes to backups, it’s literally designed to do that easily.

    The only cool new alternative I can think of is, use btrfs or ZFS and btrfs/zfs send | ssh backup btrfs/zfs recv which is the most efficient and reliable way to backup, because the filesystem is aware of exactly what changed and can send exactly that set of changes. And obviously all special attributes are carried over, hardlinks, ACLs, SELinux contexts, etc.

    The problem with backups over any kind of network share is that if you’re gonna use rsync anyway, the latency will be horrible and take forever.

    Of course you can also mix multiple things: rsync laptop to server periodically, then mount the server’s backup directory locally so you can easily browse and access older stuff.

    • 486@lemmy.world
      link
      fedilink
      English
      arrow-up
      4
      ·
      edit-2
      8 hours ago

      Syncthing is neat, but you shouldn’t consider it to be a backup solution. If you accidentally delete or modify a file on one machine, it’ll happily propagate that change to all other machines.

      • addie@feddit.uk
        link
        fedilink
        English
        arrow-up
        1
        ·
        2 hours ago

        You can turn off “delete”, but modification is a danger, it’s true.

        Turning off delete makes it excellent for eg. backing up photographs on your phone. I’ve got it doing this from my Android to my raspberry pi, which puts them on my NAS for me. Saves losing all my pictures if I lose my phone.

    • henfredemars@infosec.pub
      link
      fedilink
      English
      arrow-up
      3
      ·
      13 hours ago

      I like this solution because I can have the need filled without a central server. I use old-fashioned offline backups for my low-churn, bulk data, and SyncThing for everything else to be eventually consistent everywhere.

      If my data was big enough so as to require dedicated storage though, I’d probably go with TrueNAS.

  • graycube@lemmy.world
    link
    fedilink
    English
    arrow-up
    8
    ·
    13 hours ago

    I’d use an s3 bucket with s3fs. Since you want to host it yourself, Minio is the open-source tool to use instead of s3.