Hi, I got a small server as a for-fun-project and I really enjoy having it. With all the stuff going on in the world I would like to self host more things, but I’m pretty new to the scene. So far it’s just an old desktop with Ubuntu server os acting as media server. I would like to add some sort of lightweight and preferably open source file share akin to Google Drive with the ability to save/upload, view and edit files on the server from the outside internet. I’d also like a shared calendar that can also be accessed from the internet. Do you have any good recommendations this? Thanks

  • gdog05@lemmy.world
    link
    fedilink
    English
    arrow-up
    7
    ·
    1 day ago

    I’ve come to the conclusion that nextcloud is probably the best single Google replacement. “Old hardware” is a pretty broad definition, as I’ve still got Zip disks kicking around. But more than likely, you can run Nextcloud AIO reasonably well. The more RAM the better for sure. But you do get an online office, document storage and sharing, calendar, contacts, tasks (to replace Google Keep), text and video chat, picture storage, etc. Doing all of that really well can take a beefier machine, but keep things in perspective, be patient and you can at least get it going to see if you want to expand in the future.

    My preference is paying for Unraid and using spaceinvaderone’s Nextcloud AIO package and accompanying video tutorial is the way to go. Unraid isn’t free, but I highly, highly recommend paying for it as a platform. I feel like it still allows some challenges in getting things set up but in a more fun way to reduce frustrations. And Unraid just does so much.

  • AmbiguousProps@lemmy.today
    cake
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    1 day ago

    You can host remote files via SFTP + cloudflared (or another reverse tunnel provider) without opening any ports. Then you use a file manager to add a network share with your SFTP information.

    For the calendar, WebDAV is probably your best bet, which also works with reverse tunneling. You can also use WebDAV in place of SFTP if you prefer to only have one (or two with a reverse tunnel) service configured. Nextcloud is a great option since it has WebDAV and file management built in.

    I would use Docker to do it all, but there is a learning curve associated with setting all of this up in a secure way (which is what the reverse tunnel helps with).

    • rhabarba@feddit.org
      link
      fedilink
      English
      arrow-up
      3
      ·
      1 day ago

      Also, using a container adds severe overhead.

      IMO, Unison is a pretty good software for this use case.

      • AmbiguousProps@lemmy.today
        cake
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        1 day ago

        I suppose that it adds technical overhead (not sure I would call it severe though), but in my opinion the benefit of docker is how easy it is to spin up a new service, and how easy it is to update and maintain the containers.

        • rhabarba@feddit.org
          link
          fedilink
          English
          arrow-up
          2
          ·
          1 day ago

          Docker does not even work on my servers - wrong operating system, I guess. Docker containers have one more disadvantage on systems where it does work: the contents of a container aren’t updated when the host operating system is, basically leaving 0-days unpatched longer than absolutely necessary.

          • AmbiguousProps@lemmy.today
            cake
            link
            fedilink
            English
            arrow-up
            1
            ·
            1 day ago

            Interesting, what OS are you running? I’ve never ran into one that it doesn’t work on so that’s surprising.

            I would counter that disadvantage with this: due to testing constraints, docker containers are usually updated more quickly when there’s a 0 day, and you don’t have to patch your entire OS if one single container has one. It reduces operator overhead greatly, because that’s what it’s designed to do. Even if one of your containers has a vulnerability, because it’s a container, it won’t necessarily affect your entire system, depending on the vulnerability.

              • AmbiguousProps@lemmy.today
                cake
                link
                fedilink
                English
                arrow-up
                2
                ·
                1 day ago

                Ah, yeah, OpenBSD would do it. You’d basically be limited to running it in a VM which would have severe overhead. For Linux based stuff, though, it has minimal overhead.

  • towerful@programming.dev
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 day ago

    accessed from the internet

    Accessed only by you and close family/friends who you are also hosting services for?
    Or accessed by anyone?

    “Accessed by anyone” carries more risk.

    “Accessed by users you host for”, the risks can be eliminated (well, other than risks from those users) by using a VPN. As in, only the people authorised to be on the VPN can access the services.
    Wireguard is the go-to these days.
    Tailscale is much easier and free for 3 users and 100 nodes.

    If it absolutely has to be “accessed by anyone” I would look into a “reverse proxy over VPN/tunnel” or just straight tunnel style approach like chisel (or crowbar, or corkscrew), rathole, frp, or cloudflare tunnels.

    Basically, don’t point a domain at your home public IP and don’t forward ports on your home router/firewall

    • basic_user@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      17 hours ago

      I would prefer that it’s only accessible for users I approve through some sort of whitelist. That would be friends and family.

  • NeatoBuilds@lemmy.today
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 day ago

    I used nextcloud to replace Google drive, i was using the calendar but ended up using the protonmail one instead

  • k4j8@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    24 hours ago

    As others have said, Nextcloud for files/calendar and Tailscale for VPN is your answer.

    Nextcloud can be installed in several ways, one of which is Docker Compose. Docker Compose is flexible but requires learning a bit, although you can use it for most self-hosted software.