Giter VIP home page Giter VIP logo

homelab's Introduction

Homelab

My first ever home server setup and installation notes. I don't know what I'm doing. No one should follow these steps under any circumstances. Please feel free to contribute suggestions and advice.

NB: This is a work in progress

Table of contents

  1. Overview
  2. Hardware installation
  3. Proxmox installation and setup
  4. Open Media Vault installation and setup
  5. Setup Plex
  6. Setup Arrs and other services in a Docker LXC
  7. Guides for other services:
    1. Calibre, Calibre-Web
    2. Pi-Hole
    3. Homepage Dashboard
    4. Game Utilities (e.g., scrape free Steam games)
  8. Setup a reverse proxy with NGINX, Cloudflare, and Authentik
    1. Authentik configs for specific services
    2. Add and manage users via Plex

Overview

Goals

Primary goal

Create a small, low-power, always-on Plex server, which will use the *arr suite to automate obtaining and organizing media, alongside Overseerr as a front-end to handle requests for media from the family. Various other services will be added as well (e.g., Calibre, Pi-Hole, Home Assistant, etc.)

The hardware

Micro Lenovo M920Q, I7-8700T, 16gb RAM, 512GB NVME (main), 2TB 2.5" SSD (media)

The plan

Using Proxmox, the main NVME will host various Virtual Machines (VMs), and Linux Containers (LXCs). One VM in particular will function as a network accessible storage (NAS) operating system (OS) to share the second attached SSD media drive to the VMs and over the network.

[Storage VM]

  • Open Media Vault (OMV) VM to share 2TB SSD media drive via SMB/CIFS to containers and as NAS

[Home Assistant OS VM]

  • Home Assistant (supervised version for add-ons)
  • Docker-wyze-bridge
  • Scrypted
  • note: OS versions for "supervised" since my doorbell (wyze) needs the bridge and scrypted to be added to HomeKit. HA has replaced Homebridge for me for HomeKit integration.

[Docker LXC]

  • Overseerr + Arrs + qbittorrent
  • Calibre-web
  • Homepage
  • NPM
  • Authentik (redis, postgres, worker, server stack)
  • Dockerproxy
  • Portainer

[Plex LXC]

  • "Bare-metal" Plex installation
  • note: separate from Docker stack so I don't interrupt my family viewing when messing around with other services

[Pi-Hole LXC]

  • "Bare-metal" Pi-Hole installation

[Game utils, individual LXCs]

  • MSRewards Bot
  • Epic games Bot - claims free Epic games
  • ArchiSteamFarm + Plugin - claims free Steam games
  • note: these are mainly small python scripts on tiny ubuntu LXCs with 256-512 mb ram. More info on each in the comments.

Setup Guides and resources

Generally speaking, I'll be using a Ibramenu to handle most of setup for the media-related dockers (e.g., Plex, Arrs). Ibramenu: https://github.com/ibracorp/ibramenu

Arrs

The arr suite automatically downloads and organizes your media. The ones I plan to use are:

  • Radarr: Manages your movie library
  • Sonarr: Manages your TV library
  • Lidarr: Manages your music ilbrary
  • Prowlarr: Index manager for *arrs
  • Bazarr: Subtitles companion app
  • Readarr: Book, Magazine, Comics Ebook and Audiobook Manager and Automation

I also plan to use Overseerr as a front-end to handle discovery and requests for new media for the family. Overseer integrates with the arr suite.

Guides

  • https://trash-guides.info - details the setup of the various *arr services, as well as hard linking. Hard linking reduces wear and tear on the media drive.
  • https://youtu.be/p6aSlcbDHqc - youtube videos that detail installing and setting up Plex as a Ubuntu VM. Uses TrueNAS as the NAS, which is overkill for my setup, but the principle should be similar (i.e., create a SMB/CIFS share Media <-> Plex)
  • https://tteck.github.io/Proxmox/ - for homebridge (automation/homebridge) and any other LXCs that have convenient setup scripts (e.g., secondary pi-hole LXC is an option)

Cool things to try

homelab's People

Contributors

mgrimace avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.