|
1 |
| -# Homelab |
| 1 | +# HomeOps |
2 | 2 |
|
3 |
| -[](https://github.com/brettinternet/homelab/actions/workflows/lint.yaml) |
| 3 | +[](https://github.com/brettinternet/homeops/actions/workflows/lint.yaml) |
4 | 4 |
|
5 | 5 | ## Features
|
6 | 6 |
|
7 |
| -- Proxmox physical hosts and Arch Linux virtual guests |
8 |
| -- Lots of [self-hosted services](./docker) in a portable setup |
9 |
| -- Ansible node provisioning and container deployments (Ansible [roles](./provision/ansible/roles) and [compose files](./docker)) |
10 |
| -- [Terraform DNS records setup](./provision/terraform) |
11 | 7 | - [SOPS](https://github.com/mozilla/sops) secrets stored in Git
|
12 | 8 | - [Renovate bot](https://github.com/renovatebot/renovate) dependency updates
|
13 | 9 | - [Cloudflared HTTP tunnel](https://github.com/cloudflare/cloudflared)
|
14 | 10 | - OIDC [authentication](https://www.authelia.com/configuration/identity-providers/open-id-connect/) with [LDAP](https://github.com/nitnelave/lldap)
|
15 | 11 | - Automatic Cloudflare DNS updates
|
16 |
| -- [ZFS](https://wiki.archlinux.org/index.php/ZFS) |
17 |
| -- JBOD [mergerfs](https://github.com/trapexit/mergerfs) union NFS with [SnapRAID](https://www.snapraid.it) backup for low-touch media files snapraid-runner cronjob |
18 |
| -- [Restic](https://restic.net) backups to remote and local buckets |
19 | 12 | - [go-task](https://taskfile.dev) shorthand for useful commands ([Taskfile](./Taskfile.yaml) and [taskfiles](./.taskfiles))
|
20 | 13 |
|
21 | 14 | Historical revisions of this repository went from a single-node compose orchestration, then Podman rootless containers deployed with Ansible as systemd units, then a kubernetes cluster extended from [this template](https://github.com/onedr0p/flux-cluster-template). With other responsibilities, I've had to take on a much more minimal approach to my homelab and I strive for simplicity over high availability at this time.
|
@@ -44,30 +37,10 @@ Setup Cloudflare DNS.
|
44 | 37 | task terraform:{init,cloudflare-plan,cloudflare-apply}
|
45 | 38 | ```
|
46 | 39 |
|
47 |
| -#### Bastion server |
48 |
| - |
49 |
| -Edit `provision/terraform/bastion/secret.sops.yaml` with your own values. [Generate WireGuard keys](https://www.wireguard.com/quickstart/). |
50 |
| - |
51 |
| -Deploy the remote bastion VPN server. |
52 |
| - |
53 |
| -```sh |
54 |
| -task terraform:{init,plan,apply} |
55 |
| -``` |
56 |
| - |
57 |
| -Then, setup VPN services. |
58 |
| - |
59 |
| -```sh |
60 |
| -task ansible:bastion |
61 |
| -``` |
62 |
| - |
63 | 40 | ### Deployments
|
64 | 41 |
|
65 | 42 | Most deployments in this repo use an `app-template` chart with [these configuration options](https://github.com/bjw-s/helm-charts/tree/main/charts/library/common).
|
66 | 43 |
|
67 |
| -### Update |
68 |
| - |
69 |
| -The Renovate bot will help find updates for charts and images. [Install Renovate Bot](https://github.com/apps/renovate), add to your repository and [view Renovate bot activity](https://app.renovatebot.com/dashboard), or use the self-hosted option. |
70 |
| - |
71 | 44 | ## Hardware
|
72 | 45 |
|
73 | 46 | 
|
@@ -159,7 +132,7 @@ You must also include an entry for the MergerFS union, such as:
|
159 | 132 |
|
160 | 133 | See also [perfectmediaserver: MergerFS](https://perfectmediaserver.com/installation/manual-install/#mergerfs)
|
161 | 134 |
|
162 |
| -Remember, for data that's irreplaceable [RAID is _not_ a backup](https://www.raidisnotabackup.com/). |
| 135 | +For data that's irreplaceable [RAID is _not_ a backup](https://www.raidisnotabackup.com/). |
163 | 136 |
|
164 | 137 | #### ZFS
|
165 | 138 |
|
|
0 commit comments