18 votes

Topic deleted by author

15 comments

  1. pvik
    Link
    I have been running a few servers from my home for several years now. I do have a few instances for personal use on DigitalOcean and OVH as well. My Home Server setup currently is Server A :...
    • Exemplary

    I have been running a few servers from my home for several years now.
    I do have a few instances for personal use on DigitalOcean and OVH as well.

    My Home Server setup currently is

    • Server A : custom built Desktop which runs on a Ryzen 2700X with 32GB RAM
      10x4TB Drives on ZFS
      Also has a Nvidia 1070GTX
      Running Linux on baremetal, with no Desktop Environment.
    • Server B : A 2017 MacMini (with a core i7)
      runs linux on baremetal, with no Desktop Environment.
      (I installed a 512GB SSD on it and bumped the RAM to 16GB)
    • NAS : A 4 bay Synology (DS412+ I think, don't remember the model exactly) with 4x5TB drives.

    I use the Synology NAS primarily as a data-store (SMB), I do not use any of the fancy stuff Synology has added on over the Years.

    Services I run:

    • Media Server
      This runs on my Server A.
      I have been running a Plex server for myself, my family and a few close friends for almost 5-6 years now.
      I have also been playing around with Jellyfin and am using it personally. Once the Roku app for Jellyfin is released, I think I will decomm Plex.
    • Seafile Server
      This runs on my Server B (with local backups saved on my NAS)
      I have been running a Seafile server for a couple of years, primarily to move away from Dropbox and GDrive. I share this with my SO and a few friends/family members. It works really well. It has a android app, works from the browser. Makes it easier to send large files to someone, by just sending them an (expiring, if needed) link.
    • HomeAssistant
      This runs on my Server B
      This handles all the various smart appliances around my home (cameras, switches, bulbs, smart door lock, etc) around my home (they all are on a private subnet with out access to internet, and just my home-assistant server. (I do have the home-assistant server available to me over the internet, more below).
      I have a bunch of rules to turn on and turn off lights by daylight, and also by motion sensors (like toilet lights which my SO leaves on all the time, will get turned off if no motion is detected for 10 minutes, etc)
      I have also have all camera streams from around my house, I can look at from home assistant (they also get recorded on my NAS, capacity of 7 days)
      (All the cameras around my house are simple IPv4 cams, except for a single Nest cam inside my house, which saves 24x7 footage on its cloud, which is just a backup in case my NAS and tarsnap backup fails me. I also have a Nest doorbell, which is on the internet and works well for my use-case)
    • Build Server
      I also use my server A as a build server for a lot of my personal projects.

    All the above run in Docker containers. This makes life soo much easier when it is time to upgrade/etc.

    Also, none of the above server can be accessed from the internet directly. I have an VPS that runs a nginx server. This VPS instance and my home servers are on a VPN. Allowing my to get to my servers from anywhere directly if I want to (via my VPS). But more importantly, I can configure access to the various services, via the nginx server.

    I also use tarsnap to backup files for my seafile server and retain 5 days of security cam footage.

    All my servers currently live in my Office, they aren't too noisy, atleast 99% time I am in my office I have my headphones on.

    In Terms of Networking all these devices. I have a Cisco Managed 8-Port switch, A cheap Netgear unmanaged switch and a Asus wifi router (running WRT).
    The CIsco switch allows me to create VLANs and handle any routing rules I want (also supports LinkAgg to my NAS and ServerA). I also have a cheap LinkSysy wifi router for guests, which runs on a separate subnet and only has access to the internet.

    Funny story, before my current Server A build, I had a dual Xeon server, I was able to score EOL Xeon processors on ebay for like $50 each. I was able to find a ATX motherboard, which supported dual Xeon processors from supermicro, and build a server around it. It was a lot of fun and was pretty powerful. But it was super noisy and put out a ton of heat. This was also back when I was living in a fairly small apartment and had my servers sitting in a corner in the living room. I would advice against getting server-grade processors for a home-server setup.
    I am planning on upgrading my ServerA to the latest gen ThreadRipper in a year or so tho.

    Feel free to ask me any questions about my setup!

    8 votes
  2. [8]
    Akir
    (edited )
    Link
    Like I have mentioned before, I don't typically recommend self-hosting because most ISPs (at least in the US) block the common ports you need and give you a dynamic IP address (not to mention it's...

    Like I have mentioned before, I don't typically recommend self-hosting because most ISPs (at least in the US) block the common ports you need and give you a dynamic IP address (not to mention it's usually against the service agreement and they can cancel your service). Even then, the most common services have slow upload speeds, which means that file transfers can be quite slow.

    That being said, these can all be worked around in one way or another. But personally speaking, I think VPS services are more than worth the cost.

    Edit: if you are looking at self-hosting, the perfect hardware is what you already have sitting around. Got an old laptop you aren't using? Perfect: you've got an excellent server, and it's energy efficient out of the box! Contrary to popular belief, you don't need to install Linux or BSD; a great deal of servers have Windows and MacOS ports.

    10 votes
    1. [3]
      Comment deleted by author
      Link Parent
      1. [2]
        Akir
        Link Parent
        If you are just going to access the server in your own home network, that's another story. Even if you are using a cruddy ISP-provided router, you should be able to run whatever service you want...

        If you are just going to access the server in your own home network, that's another story. Even if you are using a cruddy ISP-provided router, you should be able to run whatever service you want within the local network.

        VPS is short for Virtual Private Server. It's basically a virtual computer you can run whatever software you want on. The big difference is that the VPS is going to be in a big datacenter and will typically come with some extra reliability guarantees as well as access to super-fast internet speeds.

        The most popular VPS service is Amazon EC2, but there are simelar services provided by Digital Ocean and Microsoft. I think even Google has a VPS service.

        5 votes
        1. sqew
          Link Parent
          I just started using DigitalOcean a few weeks ago, and I can definitely say I like their setup. I'm mostly just running a little Minecraft server for me and a few friends, but the pricing is...

          I just started using DigitalOcean a few weeks ago, and I can definitely say I like their setup. I'm mostly just running a little Minecraft server for me and a few friends, but the pricing is reasonable and initial setup was a breeze. Getting my domain name pointed at it was also super simple.

          1 vote
    2. [5]
      post_below
      Link Parent
      If we're talking about web servers, Linux has a significantly larger market share for a reason. Having administrated both for some time, Linux is better (for web servers) is pretty much every way.

      If we're talking about web servers, Linux has a significantly larger market share for a reason. Having administrated both for some time, Linux is better (for web servers) is pretty much every way.

      1 vote
      1. [4]
        Akir
        Link Parent
        There was a time I would have agreed with you, but that time has passed. MacOS is based on BSD, which has long had a reputation for being more stable and secure than Linux, and Windows is miles...

        There was a time I would have agreed with you, but that time has passed. MacOS is based on BSD, which has long had a reputation for being more stable and secure than Linux, and Windows is miles more reliable than it used to be. And with WSL both of them have the UNIX environment. To be frank, the biggest thing Linux has going for it is that it doesn't have a licensing fee. And I say this as a hardcore Linux junkie.

        But from a pragmatic standpoint, it doesn't seem worth it to learn an entirely new system if you don't need to.

        1 vote
        1. [3]
          post_below
          Link Parent
          I have essentially no experience with Mac web servers so I can't comment but Windows Server remains painful both from a user standpoint and an engineering perspective. In addition to being free,...

          I have essentially no experience with Mac web servers so I can't comment but Windows Server remains painful both from a user standpoint and an engineering perspective.

          In addition to being free, open source, having a variety of flavors to choose from and being the native environment for both of the world's most popular web servers (Apache and Nginx), Linux also has (by a huge margin) the largest and most easily accessible community support.

          I'd estimate I've spent twice as much time solving obscure problems in windows server as I have in open source alternatives, largely because with the latter the answer to your problem is often 10 seconds on Google away.

          I'd say the pragmatic approach, unless you're looking to build experience that will be applicable in the old school corporate world where you're more likely to encounter windows server, is to use an OS/web server that doesn't cost anything and runs most of the internet.

          3 votes
          1. [2]
            Akir
            Link Parent
            We aren't talking about Windows Server though. We are talking about the Home version of Windows. Forget about IIS and all of Microsoft's proprietary web software, we are talking about running the...

            We aren't talking about Windows Server though. We are talking about the Home version of Windows. Forget about IIS and all of Microsoft's proprietary web software, we are talking about running the same software you would on Linux, but in Windows. And right now it's so easy you don't even have to worry about installing the requisite server software because there are installers that take care of everything for you.

            1 vote
            1. post_below
              Link Parent
              That's true, it runs slower, and there are annoying issues, but if the web server isn't important it's a good solution.

              That's true, it runs slower, and there are annoying issues, but if the web server isn't important it's a good solution.

  3. [2]
    asoftbird
    Link
    As a total noob when it comes to networking and website/server stuff, I briefly tried to run a home server for funsies, but failed since it's just such a huge topic seemingly without any...

    As a total noob when it comes to networking and website/server stuff, I briefly tried to run a home server for funsies, but failed since it's just such a huge topic seemingly without any up-to-date guides or plugins that suited my system.

    The most complex thing I'm able to handle is a network NAS I guess :P

    6 votes
    1. pvik
      Link Parent
      It definitely is daunting to take on a task of setting up servers and applications. However, it is easy when you break them down to smaller pieces (like with most things :) As in most tings with...

      It definitely is daunting to take on a task of setting up servers and applications. However, it is easy when you break them down to smaller pieces (like with most things :)

      As in most tings with IT, there is a lot of information floating around the interwebs, but with topics like networking, often times you would need the required hardware to play with. For example if you want to try things out on a managed router, you will need a managed router!
      You can get away with installing something like WRT on your wifi-router, which will give you access to linux routing utilities, and you can play around with say creating VLANs to isolate some devices etc. (Depending on the router you have, installing WRT on it might itself be a daunting task).

      In terms of setting up applications on a server (you could use an old laptop). I would suggest learning some basic stuff about linux. You can run a server on Windows, but I personally feel linux works better for servers. If windows is your jam, go with it.

      Also, with containerization on the rise, you can deploy pretty much anything now a days in a container. Docker is the easiest in terms of getting off the ground and running. If you want to dip more into devOps stuff, look into kubernetes and play around with minikube on you machine.

      The key advantage of trying all the above for your home server is, you needn't be afraid of bringing down a production environment. If you crash your server, you debug what happened. learn from it and you rebuild it or restore it! I think that kind of gaining knowledge is very valuable.

      4 votes
  4. ThatLinuxUser
    Link
    For a short time I ran a MediaWiki server on my old laptop, which is much less of a laptop and more of an old motherboard I have lying around. I did actually get relatively far, despite facing...

    For a short time I ran a MediaWiki server on my old laptop, which is much less of a laptop and more of an old motherboard I have lying around. I did actually get relatively far, despite facing some issues with MySQL. Even though I wanted to host it as a website, IRL issues occurred which caused it to not happen.

    Several months later I discovered wikifarms and hosted what I wanted.

    1 vote
  5. post_below
    Link
    Are you talking about a home networking server or a web server? Setting up a web server is reasonably painless, putting aside the learning curve if you're not familiar with the software. My...

    Are you talking about a home networking server or a web server?

    Setting up a web server is reasonably painless, putting aside the learning curve if you're not familiar with the software.

    My suggestion would be: Apache on Linux with a control panel like Webmin or ISPConfig (all of these are free).

    Set those up and you instantly have a web server with a full featured GUI on any internet connection. The control panel is key because it will do the majority of the server admin for you at first.

    Hardware really isn't that important, almost any PC will work. The same goes for networking, your main bottleneck is probably going to be your uplink speed.

    Learning a bit about how to secure a server is of course a good idea early on, but beyond that don't make it more complicated than it needs to be. Get it working first, then learn the details as you go. Much more fun that way :)

    1 vote
  6. rmgr
    (edited )
    Link
    I have a QNAP NAS with 4tb of storage in RAID 1 (with plans to eventually upgrade to 12tb in RAID 5 when I get around to buying more hard drives). My original Raspberry Pi model B is running...

    I have a QNAP NAS with 4tb of storage in RAID 1 (with plans to eventually upgrade to 12tb in RAID 5 when I get around to buying more hard drives).

    My original Raspberry Pi model B is running PiHole and a few bash scripts to download podcasts to the NAS and what-have-you.

    Finally I have a Dell Optiplex 990 that runs Linux Mint (purely because I had that on a flash drive when I got the machine so I used that to set it up). The optiplex does most of the heavy lifting.

    At the moment it's running a shit-load of docker containers. I'm running a postgreSQL database, an RSS reader, a Nextcloud instance, a Gitea server, a custom website for my wedding, a separate database for that website, bitwarden_rs and Caddy as a reverse proxy to manage all my subdomains and apply SSL to all of them.

    My main reasoning for using Docker is that on paper if my optiplex goes down, I have all the actual data stored on the NAS so I can just whack my docker-compose.yml file on another machine, mount the NAS to the same folder and hit run and it should just download the exact same environment and "just work"

    1 vote
  7. Pistos
    Link
    I've been managing ("adminning") a VPS for years. [Many] websites, email addresses, databases, webapps, version control repositories, chat services; the works. For multiple people, myself...

    I've been managing ("adminning") a VPS for years. [Many] websites, email addresses, databases, webapps, version control repositories, chat services; the works. For multiple people, myself included. Whenever I come across some new service, I search for a FLOSS alternative that I can install on my VPS. It takes a bit of work, and you don't always get the same feature set as shiniest, latest proprietary closed-source hotness, but it's definitely no problem for all the major services one might need (websites, email, remote file storage, etc.).

    If you wanted FLOSS software recommendations for particular concerns or needs, just ask.