aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: 57c469a0b2f6bae57ae5de5fe9f82d14d5f9ea56 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# My Home-Lab as Code

Welcome to my home!...lab.

This is my personal project to setup all my `r/self-hosted` services
in my home-lab.

The goal of this repo is to be able to survive a dooms-day scenario where all 
of my hosts die, and I can use to use this repo to be able to re-create it all
automatically.

I use Proxox VE 8, which comes with a very recent kernel and thus good HW support
for my hypervisor host - a Framework Laptop. Yes, you read that right. 
Before you start calling me a sadist, the main reason (other than money) I went with 
this is that frankly, I have no better use for this machine. It just sat around 
powered down 99% of the time, and only got used for IaC stuff like this, or 
personal blog posts. This machine is clearly overkill for these tasks.

If we are to get technical - this is a git repo after all - 
it (the mainboard) is running in its own case, in "standalone" mode aka. as a poor man's "server".
You can read more about this in my [blog](https://kumardamani.net/post/framework-server/).

Believe it or not, this is actually a big upgrade for me. Prior to this, all of my 
services were running off my NAS - Rockchip RK3399, not an i7-1165G7. 
And I quickly became aware of its limitation when trying to run Collabora Online one day...

Anyways, now I can finally off-load most of "compute" work to better suited HW, and let the 
NAS do its NAS thing - provide block storage via NFS to this "compute" server.

# What is NOT covered in this repo?
* The NAS. I already covered this [here](https://gitlab.com/kdam0/vps#nas-setup).
* The Proxmox install itself, along with networking config of my lab. VPN, VLANs etc. 
I go over this in my [blog](https://kumardamani.net/post/framework-server/). 
For now, its all manual.

# What IS covered in this repo?
* Creating the container/VM infrastructure with [Terraform](https://www.terraform.io/). 
Refer to [this](./terraform/).
* Setting up the application services I self-host with [Ansible](https://www.ansible.com/). 
Refer to [this](./ansible/).