|
1 | 1 | # Homelab |
2 | 2 |
|
3 | | -(quasi) Gitops e IAC |
| 3 | +[](https://homelab.ildoc.it) |
| 4 | +[](https://www.gnu.org/licenses/gpl-3.0.html) |
4 | 5 |
|
5 | | -[homelab.ildoc.it](https://homelab.ildoc.it) |
| 6 | +Questo progetto mira a utilizzare [Infrastructure as Code](https://en.wikipedia.org/wiki/Infrastructure_as_code) e [GitOps](https://www.weave.works/technologies/gitops) per automatizzare il più possibile l'installazione e la configurazione del software che gira sul mio Homelab. |
| 7 | + |
| 8 | +Nel 2020 sono partito da un docker-compose e oggi sono messo così... è un work in progress continuo 😅 |
| 9 | + |
| 10 | +> **Che cos'è un homelab?** |
| 11 | +> |
| 12 | +> Un Homelab è un laboratorio casalingo dove si può fare self-hosting, sperimentare nuove tecnologie, fare pratica per certificazioni e così via. |
| 13 | +> |
| 14 | +> Per maggiori informazioni fare riferimento alla introduzione di [r/homelab](https://www.reddit.com/r/homelab/wiki/introduction) e alla community Discord [Home Operations](https://discord.gg/home-operations) (ex [k8s-at-home](https://k8s-at-home.com)). |
| 15 | +> |
| 16 | +> Un ottimo articolo è anche [What is a Homelab and Why Should You Have One?](https://linuxhandbook.com/homelab/) |
| 17 | +
|
| 18 | + |
| 19 | +## Overview generale |
| 20 | + |
| 21 | +Tutto l'Homelab gestito (principalmente) con playbook Ansible, ArgoCD e pipeline Gitlab. |
| 22 | + |
| 23 | +**NOTA:** questo repository GitHub è un mirror del repository originale che si trova sulla mia istanza privata di GitLab |
| 24 | + |
| 25 | +## Tech stack |
| 26 | + |
| 27 | +<table> |
| 28 | + <tr> |
| 29 | + <th>Logo</th> |
| 30 | + <th>Nome</th> |
| 31 | + <th>Descrzione</th> |
| 32 | + </tr> |
| 33 | + <tr> |
| 34 | + <td><img width="32" src="https://simpleicons.org/icons/ansible.svg"></td> |
| 35 | + <td><a href="https://www.ansible.com">Ansible</a></td> |
| 36 | + <td>Automazione di deploy e configurazioni</td> |
| 37 | + </tr> |
| 38 | + <tr> |
| 39 | + <td><img width="32" src="https://avatars.githubusercontent.com/u/30269780"></td> |
| 40 | + <td><a href="https://argoproj.github.io/cd">ArgoCD</a></td> |
| 41 | + <td>Tool GitOps per deployare su Kubernetes</td> |
| 42 | + </tr> |
| 43 | + <tr> |
| 44 | + <td><img width="32" src="https://github.com/jetstack/cert-manager/raw/master/logo/logo.png"></td> |
| 45 | + <td><a href="https://cert-manager.io">cert-manager</a></td> |
| 46 | + <td>Cloud native certificate management</td> |
| 47 | + </tr> |
| 48 | + <tr> |
| 49 | + <td><img width="32" src="https://avatars.githubusercontent.com/u/21054566?s=200&v=4"></td> |
| 50 | + <td><a href="https://cilium.io">Cilium</a></td> |
| 51 | + <td>eBPF-based Networking, Observability e Security (CNI, Network Policy, ecc.)</td> |
| 52 | + </tr> |
| 53 | + <tr> |
| 54 | + <td><img width="32" src="https://avatars.githubusercontent.com/u/314135?s=200&v=4"></td> |
| 55 | + <td><a href="https://www.cloudflare.com">Cloudflare</a></td> |
| 56 | + <td>Issuer dei certificati e Tunnel</td> |
| 57 | + </tr> |
| 58 | + <tr> |
| 59 | + <td><img width="32" src="https://www.docker.com/wp-content/uploads/2022/03/Moby-logo.png"></td> |
| 60 | + <td><a href="https://www.docker.com">Docker</a></td> |
| 61 | + <td>Orchestrazione di container con docker compose</td> |
| 62 | + </tr> |
| 63 | + <tr> |
| 64 | + <td><img width="32" src="https://images.ctfassets.net/xz1dnu24egyd/1IRkfXmxo8VP2RAE5jiS1Q/ea2086675d87911b0ce2d34c354b3711/gitlab-logo-500.png"></td> |
| 65 | + <td><a href="https://gitlab.com">GitLab</a></td> |
| 66 | + <td>Self-hosted Git</td> |
| 67 | + </tr> |
| 68 | + <tr> |
| 69 | + <td><img width="32" src="https://avatars.githubusercontent.com/u/13991055?s=200&v=4"></td> |
| 70 | + <td><a href="https://www.hashicorp.com/en/products/vault">HashiCorp Vault</a></td> |
| 71 | + <td>Secrets management</td> |
| 72 | + </tr> |
| 73 | + <tr> |
| 74 | + <td><img width="32" src="https://helm.sh/img/helm.svg"></td> |
| 75 | + <td><a href="https://helm.sh">Helm</a></td> |
| 76 | + <td>Package manager per Kubernetes</td> |
| 77 | + </tr> |
| 78 | + <tr> |
| 79 | + <td><img width="32" src="https://kube-vip.io/images/kube-vip.png"></td> |
| 80 | + <td><a href="https://kube-vip.io">kube-vip</a></td> |
| 81 | + <td>Virtual IP e load balancer</td> |
| 82 | + </tr> |
| 83 | + <tr> |
| 84 | + <td><img width="32" src="https://avatars.githubusercontent.com/u/13629408"></td> |
| 85 | + <td><a href="https://kubernetes.io">Kubernetes</a></td> |
| 86 | + <td>Container-orchestration system</td> |
| 87 | + </tr> |
| 88 | + <tr> |
| 89 | + <td><img width="32" src="https://avatars.githubusercontent.com/u/1412239?s=200&v=4"></td> |
| 90 | + <td><a href="https://www.nginx.com">NGINX</a></td> |
| 91 | + <td>Reverse Proxy</td> |
| 92 | + </tr> |
| 93 | + <tr> |
| 94 | + <td><img width="32" src="https://wp-cdn.pi-hole.net/wp-content/uploads/2016/12/Vortex-R.png"></td> |
| 95 | + <td><a href="https://pi-hole.net/">Pi-hole</a></td> |
| 96 | + <td>Ad blocker, DNS e DHCP</td> |
| 97 | + </tr> |
| 98 | + <tr> |
| 99 | + <td><img width="32" src="https://avatars.githubusercontent.com/u/13991055?s=200&v=4"></td> |
| 100 | + <td><a href="https://www.proxmox.com">Proxmox</a></td> |
| 101 | + <td>Virtualizzazione di VM e LXC</td> |
| 102 | + </tr> |
| 103 | + <tr> |
| 104 | + <td><img width="32" src="https://docs.renovatebot.com/assets/images/logo.png"></td> |
| 105 | + <td><a href="https://docs.renovatebot.com/">Renovate</a></td> |
| 106 | + <td>Update automatico delle dipendenze</td> |
| 107 | + </tr> |
| 108 | + <tr> |
| 109 | + <td><img width="32" src="https://avatars.githubusercontent.com/u/14280338?s=200&v=4"></td> |
| 110 | + <td><a href="https://doc.traefik.io/traefik/">Traefik</a></td> |
| 111 | + <td>Kubernetes Ingress Controller</td> |
| 112 | + </tr> |
| 113 | + <tr> |
| 114 | + <td><img width="32" src="https://avatars.githubusercontent.com/u/53482242?s=200&v=4"></td> |
| 115 | + <td><a href="https://www.truenas.com/">TrueNAS</a></td> |
| 116 | + <td>NFS share, Backup</td> |
| 117 | + </tr> |
| 118 | + <tr> |
| 119 | + <td><img width="32" src="https://upload.wikimedia.org/wikipedia/commons/1/16/Ubuntu_and_Ubuntu_Server_Icon.png"></td> |
| 120 | + <td><a href="https://ubuntu.com/server">Ubuntu Server</a></td> |
| 121 | + <td>Os di base per i nodi Kubernetes</td> |
| 122 | + </tr> |
| 123 | + <tr> |
| 124 | + <td><img width="32" src="https://avatars.githubusercontent.com/u/13991055?s=200&v=4"></td> |
| 125 | + <td><a href="https://www.wireguard.com">Wireguard</a></td> |
| 126 | + <td>VPN tunnel</td> |
| 127 | + </tr> |
| 128 | +</table> |
0 commit comments