Giter VIP home page Giter VIP logo

homelab's Introduction

Project XenLab

license stars

Overview

Project Status: In Progress

This repo will include my current Homelab stack, resources, provisioning scripts, etc. Please view the CHANGELOG.md file for more information on changes to the project.

What is a Homelab?

Homelab is a laboratory at home where you can self-host, experiment with new technologies, practice for certifications, and so on. For more information about homelab in general, see the r/homelab introduction.

I want to thank @khuedoan for inspiring me to present my homelab progress and journey pubilcally. He has an amazing repo of his setup/progress which can be found here.

Hardware

setup

  • Omnimount Design 27U Network Cabinet
  • 3 × Dell SFF OptiPlex 7040:
    • CPU: Intel Quad Core i7-6700 @ 4.0GHz
    • RAM: 16GB
    • SSD: 512GB
  • 1 × Rasbperry Pi 5
  • 3 × Raspberry Pi 4 Model B
  • Apple Mac Mini M2
  • Ubiquiti Dream Machine Special Edition
    • Ports: (8) GbE w/ PoE (2 w/ PoE+), (2) 10G SFP+, (1) 2.5 GbE WAN Port
  • Ubiquiti Switch Pro 24
    • Ports: 24x GbE RJ45, 2x 10G SFP+
  • Ubiquiti UniFi Cable Internet
    • Ports: (1) DOCSIS 3.1, (1) 2.5 GbE
  • Synology DS1515+:
    • CPU: Intel Atom C2538 @ 2.4GHz
    • RAM: 8GB
    • HDD: 30TB (20.9TB Usable)
  • Tripp Lite SMART1500LCD Smart Battery Backup

Basic Topology

topo-v1

Current Tech Stack

Logo Name Description
Ubuntu Debian based Linux Distro
Proxmox Server Virtualization Platform (Debian)
Scrypted Home Video Integration and Automation Platform.

Planned Tech Stack

Ansible Automated bare metal/VM provisioning and configuration
Let's Encrypt Automated Open Certificates
Cloudflare DNS and Tunnel
Grafana Operational dashboards
Kubernetes Container Orchestration System
NGINX Reverse Proxy / HTTP Sever
Infisical Open Source Secrets management system
Terraform Automation / IaC (Infrastructure as code)
Gitlab Git Repos / DevOps Toolkit
Docker Build/Run/Deploy Containers
PiVPN Raspbery Pi-based VPN Server (Wireguard)
Portainer Container Management

Goals / To-Do List

  • Move components to server rack
  • Acquire network hardware for VLAN / PXE support
  • Upgrade to Unifi Router/Hardware Stack
  • Selfhost Gitlab & develop CI/CD pipelines
  • Automated MaaS / PXE BARE METAL PROVISION
  • Automated Terraform VM provisioning
  • Automated Ansible/Packer Configuration Management
  • Kubernetes Installation & Management
  • Develop Custom 'Control Plane' to manage homelab
  • Self Hosted Gitlabs, GitLab/Github Runners & CI/CD Pipelines
  • Private Container Repo
  • Utilize Synology NAS (implement automated off-site backups)
  • Dashboards, consolidated logging, monitoring and alerts
  • Expose VM to the internet securely (web app)
  • Utilize RaspPi Pi for piVPN
  • Utilize RaspPi for piKVM
  • Establish Automated Updates w/ alerts
  • Establish Hybrid Cloud (On-Prim <-> Cloud) Architecture
  • Create Github Pages hosted MkDocs site for documentation / tutorials
  • Upgrade small Switchs to Rackmount Switch
  • Cable Management

License

Distributed under the GPLv3 License. See LICENSE.md file for more information.

Acknowledgements

Here is a list of some of the great people who have directly or indirectly contributed to this project:

If I missed you from this list, please reach out so I can correct it.

homelab's People

Contributors

dancrodev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

hansidieter2020

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.