2023-10-21 22:22:23 +00:00
# Homelab
2023-10-23 12:27:29 +00:00
## Dependencies
2024-02-28 11:28:59 +00:00
- git
- make
2023-10-23 12:27:29 +00:00
- Vagrant
- ansible
- vagrant-scp
2023-10-21 22:22:23 +00:00
2024-02-28 11:28:59 +00:00
### Ubuntu
```
apt install make git vagrant ansible
```
2023-10-30 15:54:48 +00:00
## Setup
2024-02-28 11:21:26 +00:00
Clone the whole repository, including submodules
```
git clone --recurse-submodules -j8 https://git.halis.io/athens-school/Homelab
```
2023-10-30 15:54:48 +00:00
2024-02-28 11:21:26 +00:00
Update submodules after cloning the repository
```
git submodule update --init --recursive
```
### Enable ingress for internet access
2023-10-30 15:56:18 +00:00
For ingress node connected to the internet, I recommend using a VPS of either choice, acting as the public input to the cluster.< br / >
2023-10-30 15:54:48 +00:00
To do so, complete the IP in the `inventory/outsider.yml` file.
This VPS needs to be pre-configured with [this script ](https://git.halis.io/athens-school/ISO-repository/raw/branch/master/quick-installer.sh ).
2024-02-28 11:21:26 +00:00
## Run
### Basic
To run the project as is, creating k3s nodes only
```
make up
```
### Enable NAS
If you wish to also create a NAS VM, set the `NAS` environment variable
```
NAS=true make up
```
### Enable ingress
If you wish to also enable a Kubernetes Ingress using an external VPS, set the `VPS` environment variable after setting your VPS up in the `Setup` section
```
VPS=true make up
```
2023-10-30 15:56:18 +00:00
## TODO
2023-10-21 22:22:23 +00:00
- Detect default network interface