We are still actively working on the spam issue.

Difference between revisions of "Home Server v2"

From InstallGentoo Wiki
Jump to: navigation, search
(Containers)
(Changed redirect target from Home server to Home server v2)
(Tag: Redirect target changed)
 
(109 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Category:Home Server]]
+
#REDIRECT [[Home_server_v2]]
[[File:clark_griswold_builds_a_server.png|500px|thumb|right|What a homelab inevitably devolves into...]]
 
 
 
{{quote|Home servers are about learning and expanding your horizons. De-botnet your life. Learn something new. Serving applications to yourself, your family, and your frens feels good. Put your /g/ skills to good use for yourself and those close to you. Store their data with proper availability redundancy and backups and serve it back to them with a /comfy/ easy to use interface.<br/><br/>Most people get started with NAS. It’s nice to have a /comfy/ home for all your data. Streaming your movies/shows around the house and to friends. Know all about NAS? Learn virtualization. Spin up some VMs. Learn networking by setting up a pfSense box and configuring some VLANs. There's always more to learn and chances to grow. Think you’re god tier already? Setup openstack and report back to /hsg/.<br/><br/>Things that are online today might not be online forever. It's good to have a copy of something because you never know when it might get taken down due to copyright strikes.|Anon|Standard /hsg/ OP}}
 
 
 
Welcome to /g/'s comprehensive guide on home servers! This guide is designed to assist you in setting up and managing your own home server, effortlessly navigating through the complexities that come with running servers in your personal spaces such as your basement or closet.
 
 
 
'''"Homelab"''' is a term you may have encountered, but what does it signify? Essentially, it refers to a personal data center located within your own home. It serves as a platform for acquiring new skills and solving technical problems in your own life. Many are drawn to this hobby by the promises of freedom from the winds of the larger internet. Within this homelab are your ''home servers''. There can be as many, or as few, as you want.
 
 
 
Contrary to what some may suggest, there are no hard and fast rules in this hobby. However, there are certainly less effective ways of doing things. This guide aims to help you steer clear of common pitfalls that beginners often encounter.
 
 
 
 
 
==What Can I do With a Home Server?==
 
 
 
There are two reasons a man will run a home server:
 
 
 
# Solve a problem. Maybe he was fed up with cloud storage or maybe he was tired of the constant service outages? Or maybe the solution to his problem doesn't exist yet? Either way, he knows he can do it better himself.
 
# Learn a new skill and get a new hobby. Home servers and homelabs can scale infinitely. There is always room to learn something new or do things slightly different.
 
 
 
<br>
 
 
 
If you're here and considering building a lab, you probably already have a purpose in mind. If not, check out [https://github.com/awesome-selfhosted/awesome-selfhosted awesome-selfhosted] for a gigantic list of applications you can host yourself. Some applications popular with /hsg/ anons include:
 
* Media streaming
 
** [https://jellyfin.org/ Jellyfin]
 
** [https://www.plex.tv/ Plex]
 
* File storage
 
** [https://nextcloud.com/ Nextcloud]
 
* NAS servers
 
** [https://www.truenas.com/ TrueNAS]
 
* Game servers
 
* Personal websites
 
 
 
 
 
<br>
 
 
 
__TOC__
 
 
 
<br>
 
 
 
 
 
[[File:Anons_comfy_rack.png|350px|thumb|right|A good example of a rack using older enterprise equipment]]
 
==Your First Server ==
 
 
 
The first step to setting up your homelab is to acquire your first server. You have a few options to choose from:
 
 
 
* [[Home_Server/Old_Desktop_Machines|Old desktop machines]]
 
* [[Home_Server/Single_Board_Computers|Single board computers]] like the Raspberry Pi, Intel NUCs, or thin clients
 
* [[Home_Server/Used_Servers|Used servers]]
 
* [[Home_Server/Build_Your_Own|Build your own]]
 
 
 
Your old gaming PC, workstation, or laptop is a great option for a home server (provided they are not too old). Performance and capability will vary from machine to machine. When in doubt, post specs in /hsg/ and ask. Laptops are not really designed for 24/7 use but their battery does act as a built in UPS.
 
 
 
Hardware you already own is free, which is very appealing and a great way to get started. Keep in mind that older hardware can be less energy efficient and if power usage is a concern you may want to purchase newer hardware.
 
 
 
==Building a NAS==
 
"uh guys, how do i build a nas?" is the most frequently asked question on /hsg/. Here's a dedicated section to point to when someone asks this question for the tenth time in a row.
 
 
 
synology pros and cons
 
 
 
{{stub}}
 
 
 
==Building a Media Server==
 
This is the ''second'' most asked question on /hsg/.
 
 
 
Basically, a media server can be as complex as a media server like Jellyfin and Plex or as simple as a network share that you play using VLC. The media server route is best for serving multiple users at once such as your family and friends. It also works well when traveling or streaming on many different devices. On the other hand, the network share excels at simplicity.
 
 
 
{{stub}}
 
 
 
==Operating Systems==
 
Looking for an server operating system? Check out the [[Home_Server/Operating_Systems|full list of the popular server operating systems]].
 
 
 
==Hypervisors==
 
===Proxmox Virtual Environment===
 
 
 
==Storage-Focused Operating Systems==
 
===TrueNAS===
 
TrueNAS is a NAS appliance operating system that uses ZFS. While it is a storage-first OS, it does have some minor virtualization capabilities and can run VMs and containers. TrueNAS is best for those who will only use the server for storage. If you plan on running multiple VMs or containers you should consider Proxmox instead.
 
 
 
TrueNAS has two versions: '''[https://www.truenas.com/truenas-core/ CORE]''' and '''[https://www.truenas.com/truenas-scale/ SCALE]'''. Both accomplish the same task.
 
 
 
'''[https://www.truenas.com/truenas-core/ CORE]''' (formerly FreeNAS) is based on FreeBSD. This version is considered more stable.
 
 
 
'''[https://www.truenas.com/truenas-scale/ SCALE]''' is more recent than CORE and based on Linux. This version sports better hardware compatibility and stronger virtualization features.
 
 
 
TrueNAS offers paid clustering and high-availability features.
 
 
 
You will want a separate boot drive to install the OS onto. Your storage pool will be used exclusively for ZFS.
 
 
 
Again, if you are looking to run VMs and/or containers you should consider a true hypervisor. TrueNAS is focused on storage and its virtualization capabilities are secondary. If you still want to run TrueNAS, put it in a VM.
 
 
 
===Open Media Vault===
 
 
 
===unRAID===
 
 
 
==Containers==
 
 
 
''Containers'' are a method of isolating running processes from the host OS and other processes. BSD calls them "Jails".
 
 
 
There are a number of reasons why containers are neat:
 
* Less overhead than standard virtual machines because you aren't virtualizing the entire kernel.
 
* Process isolation.
 
* Containers are portable (even more so than VMs). You can create a container, configure it however you want, and deploy it again somewhere else.
 
* Like VMs, removing containers, rebuilding from scratch, or restoring a backup is easy.
 
* Containers are incredibly easy to deploy and you can find pre-built container images online.
 
 
 
There are two types of containers: application and system. Application containers, such as Docker, are designed to package and run a single service. Once the application is packaged, it can be tested and deployed to different environments without any changes. This makes it easy to scale and manage the application.
 
 
 
System containers, on the other hand, are designed to simulate a full system. They are more like lightweight virtual machines. They can run full-featured environments, system services, and even contain their own process space, users, network stacks, and file systems. Examples of system containers include LXC.
 
 
 
Regardless of the route you decide to go, the best practice is to keep the host OS as clean as possible and install each individual application (such as PLEX, Samba, etc) in their own container.
 
 
 
===Docker===
 
Instead of running an entire Linux OS (like LXC), Docker virtualizes a single application. This makes management easy and safe since your applications never touch the base file system.
 
 
 
While popular and easy to learn, [https://catern.com/docker.html Docker has some downsides.] Some people overboard with Docker containerization and make things more complicated than they need to be. But Docker can excel when used in the right situations.
 
 
 
There are a number of platforms that make managing your numerous Docker containers easy:
 
 
 
'''[https://github.com/portainer/portainer Portainer]''': provides a GUI to "manage all your orchestrator resources (containers, images, volumes, networks and more)".
 
 
 
'''[https://podman.io Podman]''': not strictly Docker. A platform to run all sorts of containers.
 
 
 
===LXC===
 
 
 
==Backups==
 
specialized backup servers make backups effortless and automatic and restoring easy
 
===Proxmox Backup Server===
 
 
 
==RAID==
 
 
 
explain raid philosopy. why don't we just connect a bunch of disks and call it good ("disk 1 for pictures, disk 2 for videos, etc")?
 
 
 
don’t be greedy. 50% storage efficiency is plenty
 
 
 
[[Home_Server/RAID|Raid is an expansive subject so it's gotten it's own page.]]
 
 
 
==Networking==
 
===Switches===
 
===Routers===
 
===Multi-Gig LANs===
 
 
 
 
 
==Security==
 
===Opening to the Wider Internet===
 
===VPNs===
 
====Wireguard====
 
====OpenVPN====
 
===Mesh VPNs===
 
====Nebula====
 
====Tailscale====
 
===UnattendedUpgrades===
 
 
 
==Miscellaneous==
 
 
 
==External Links==
 

Latest revision as of 23:47, 26 February 2024

Redirect to: