I am in the process of setting up a home server, and I am struggling to decide. I have previously used yunohost but in the meantime, freedom box has matured quite a bit. I have also looked at Tipi.

The use case right now is, running a wireguard server and probably some notes of sorts (to be decided). A web GUI for management and updating would be much desired.

Disclaimer: I don’t have too much surplus of energy, due to a hectic life, so I would prefer something easy and without the requirement of docker/kubernettes

I will run on a Gigabyte Brix with:

  • AMD Ryzen 4300U (4 core)
  • 16 maybe 32 GB RAM
  • 512GB SSD

I am open to other suggestions.

P.S. I apologise if this has been debated before, but I have not really found anything.

Thank you in advance

EDIT: I have read your recommendations and arguments, and it is noted, I am watching docker tutorials now :)

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

    If you don’t have a surplus of time, Docker should be your top priority. It will save you many many hours.

  • emhl@feddit.de
    link
    fedilink
    English
    arrow-up
    7
    ·
    5 months ago

    For what reason are you trying to avoid docker? since most projects provide docker images and an example docker-compose.yml it’s very easy to get the application you want running.

    Otger projects that do plug and play application setup like yunohost etc. are casaOS and umbrel (both use docker under the hood btw)

    • Antaeus@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      3
      ·
      5 months ago

      I was trying to stick to technologies that I know and that I am comfortable with.

      I have watched some docker tutorials, and it just seems more complicated to me. All tutorials requires a terminal and I am trying to avoid having to having an open port 22.

      So, that’s the main reasons.

      • AbouBenAdhem@lemmy.world
        link
        fedilink
        English
        arrow-up
        3
        ·
        5 months ago

        You can use any port for SSH—or you can use something like Cockpit with a browser-based terminal instead of SSH.

      • hedgehog@ttrpg.network
        link
        fedilink
        English
        arrow-up
        3
        ·
        5 months ago

        I am trying to avoid having to having an open port 22

        If you’re working locally you don’t need an open port.

        If you’re on a different machine but on the same network, you don’t need to expose port 22 via your router’s firewall. If you use key-based auth and disable password-based auth then this is even safer.

        If you want access remotely, then you still don’t have to expose port 22 as long as you have a vpn set up.

        That said, you don’t need to use a terminal to manage your docker containers. I use Portainer to manage all but my core containers - Traefik, Authelia, and Portainer itself - which are all part of a single docker compose file. Portainer stacks accept docker compose files so adding and configuring applications is straightforward.

        I’ve configured around 50 apps on my server using Docker Compose with Portainer but have only needed to modify the Dockerfile itself once, and that was because I was trying to do something that the original maintainer didn’t support.

        Now, if you’re satisfied with what’s available and with how much you can configure it without using Docker, then it’s fine to avoid it. I’m just trying to say that it’s pretty straightforward if you focus on just understanding the important parts, mainly:

        • docker compose
        • docker networks
        • docker volumes

        If you decide to go that route, I recommend TechnoTim’s tutorials on Youtube. I personally found them helpful, at least.

        • Antaeus@lemmy.worldOP
          link
          fedilink
          English
          arrow-up
          2
          ·
          5 months ago

          Thank you for your input. It is very appreciated. I will take a look at TechnoTim.

  • StrawberryPigtails@lemmy.sdf.org
    link
    fedilink
    English
    arrow-up
    5
    ·
    edit-2
    5 months ago

    As everyone else has said, if your time is limited, your best path is docker. You don’t need to learn all of docker, but understanding how docker compose works at a fairly high level will drastically speed up setup as well as administrative tasks like updating and backups

    As for what to run, you mentioned wireguard and a notes app. The notes app could be solved without needing a central server with Obsidian and I’m not seeing the use case here for Wireguard.

    I would start with what problem or pain point are you trying to solve for.

    In my case, I had a bunch of IOT devices all making excessive DNS queries and I wanted a network level ad blocker so I setup PiHole (2 in fact, they run my network’s DNS).

    I had a large music collection and burning mix CDs was no longer practical so I setup Jellyfin (Navidrome might have also worked), and use FinAmp on my phone.

    Google started being a pain in my backside so I setup Nextcloud.

    Someone got me some smart devices so HomeAssistant was setup.

    I needed a way to find these services so I setup Heimdel as a dashboard.

    I wanted some of these publicly available so I setup Caddy as a reverse proxy.

    • Antaeus@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      5 months ago

      Thank you for your input. The reason why I want a Wireguard server, is to have a secure tunnel into my growing gadgets, NAS, rpi and now a server. Using a platform would open up options to ease future deployment, or testing of services/applications.

      If all I needed was a Wireguard server, I might have picked up another rpi and USB RJ45 dongle. I just wanted a server so I wasn’t restricting myself, and offering the wireguard some extra power.

  • Pyrosis@lemmy.world
    link
    fedilink
    English
    arrow-up
    4
    ·
    5 months ago

    This is a journey that will likely fill you with knowledge. During that process what you consider “easy” will change.

    So the answer right now for you is use what is interesting to you.

    Yes plenty ways to do the same thing in different ways. Imo though right now jump in and install something. Then play with it.

    Just remember modern CPUs can host many services from a single box. How they do that can vary.

  • chiisana@lemmy.chiisana.net
    link
    fedilink
    English
    arrow-up
    3
    ·
    5 months ago

    If you’re feeling that it will take too much time to maintain something you’re deploying, then there may also be toolset/skillset mismatch. Take Docker/K8s that you’ve called out for example; they’re the graduated steps to deploy things in the industry. Things deployed via Docker drastically reduces the amount of time to get up and running by eliminating large swaths of dependency management, as well as gives option to use tools on platform to manage self updates if that’s something desired (though this could potentially introduce failures by manual upgrade steps where required). You’d graduate to k8s as your infrastructure footprints start to grow. Learning the correct tools could potentially reduce the barrier to entry and time requirements on the apps front.

    Having said that, it is probably better to ask the inverse: what is it that you’re trying to achieve and why?

    Without a reason that resonates well with you, you’re not going to find time in your allegedly already life to maintain to keep it working. Nor will you be willing to find the time to learn the correct tools to deploy these things.

    • Antaeus@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      5 months ago

      Thank you for your input. I work in IT as a support specialist consultant, and have dabbled quite a bit with technologies. I run linux as my primary operating system at home. Your insinuation of a mismatch might sound apt, but the wider picture is that there a some reason to my madness. However, the “push back” again my “no docker please” has been noted, and I will take a closer look at it, and see if I can’t make myself understand the basics. Thank you!

      • supervent@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        1
        ·
        5 months ago

        Well you could run these services in your server (only if you have enough spare bandwidth, ram and cpu) to help the comunity to circumvent censorship in some countries, like Russia or Iran. Here you have more information for tor and i2pd.

  • slazer2au@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    5 months ago

    to start with

    PiHole DNS server
    Jellyfin Home media server
    forgejo Git server to hold your docker compose files.

    • Antaeus@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      edit-2
      5 months ago

      So, you are recommending the opposite?

      I don’t need jellyfin, so that confuses me a bit.

  • iammayhem@programming.dev
    link
    fedilink
    English
    arrow-up
    2
    ·
    5 months ago

    I see you’re open to Docker now - I’m a huge fan of Dockge which is a nice web GUI for managing your Docker Compose files. I tried just using Docker run commands to set up my containers and it was a painful experience. Tried Portainer for a bit as well, but when I came across Dockge, everything just fell into place. You can copy Docker run commands in there and it will convert to Docker compose as well as easily update, set up stacks with multiple related containers, etc.

    I also love Tailscale for remotely accessing my network. This video was really helpful in setting up Tailscale for a few of my Docker containers I want to access remotely.

    If you decide you don’t have the time to learn all this, I have used Umbrel in the past and they just released a big update. It has an “app store” that handles setting up your Docker containers for you.

    Good luck, it’s a fun journey!

    • randombullet@programming.dev
      link
      fedilink
      English
      arrow-up
      1
      ·
      5 months ago

      Can you briefly summarize the difference between dockge and portainer?

      I use portainer for the most part and have no real complaints aside from some ambiguous error messages when containers fail to deploy.

      • iammayhem@programming.dev
        link
        fedilink
        English
        arrow-up
        1
        ·
        5 months ago

        Dockge is really just a nice GUI for Docker compose. It still creates docker-compose.yml files and you could always switch back to just managing that way with no impact. It can convert Docker run commands to Docker compose, usually it’s pretty close but may need a little tweaking. It also shows the terminal output from the container, which is helpful for troubleshooting. It feels more lightweight to me and does only what I need, nothing more.

        I had been managing my own Docker compose files for a while, so Portainer may do some or all of this also, but it always felt a little bloated, so this was a good fit.

  • hedgehog@ttrpg.network
    link
    fedilink
    English
    arrow-up
    1
    ·
    5 months ago

    I haven’t personally used any of these, but looking them over, Tipi looks the most encouraging to me, followed by Yunohost, based largely on the variety of apps available but also because it looks like Tipi lets you customize the configuration much more. Freedom Box doesn’t seem to list the apps in their catalog at all and their site seems basically useless, so I ruled it out on that basis alone.

    • Antaeus@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      5 months ago

      Thank you for your input. I have eliminated Yunohost and Freedombox and will see if Tipi and “normal docker maintenance” can work together, since Tipi is based on docker technologies.

  • Decronym@lemmy.decronym.xyzB
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    5 months ago

    Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:

    Fewer Letters More Letters
    DNS Domain Name Service/System
    Git Popular version control system, primarily for code
    NAS Network-Attached Storage
    PiHole Network-wide ad-blocker (DNS sinkhole)
    Plex Brand of media server package
    SSH Secure Shell for remote terminal access
    VPN Virtual Private Network
    k8s Kubernetes container management package

    8 acronyms in this thread; the most compressed thread commented on today has 15 acronyms.

    [Thread #735 for this sub, first seen 3rd May 2024, 21:25] [FAQ] [Full list] [Contact] [Source code]