diff --git a/README.md b/README.md index d7ed87a..cad4b86 100644 --- a/README.md +++ b/README.md @@ -1,34 +1,45 @@ # Homelab repo -This is the repository for all my automations and notes for my homelab, more details soon, for now you can check more about the ansible playbooks in their respective readme +This is the repository for all my automations and notes for my homelab. Right now my homelab is running on two machines, one at my home and one at a hetzner dedicated server. -# What I host? +# What I host home? Here is everything I currently host, infrastructure part it's the machines and services part all my apps. -## Infrastructure -My host machine is hosting proxmox community edition, and it's the base for everything, where I have these virtual machines: -- CSGO -- TeamSpeak -- Containers (Docker server controlled by portainer) +## At home +My home machine is hosting proxmox community edition, and it's the base for everything, where I have a few virtual machines. I give acess to my home machine using [my script for DDNS](https://github.com/luigieai/ddns-cloudflare-shell), as my domain is hosted in cloudflare. + +## Terraform +I'm using nomad + terraform for automatic provisioning of my services. Everything I change or create I commit to the repo, and terraform will create the resources. ## Services +I have a nomad server running on my home machine, it's a single node server, and I'm using it for running containers, and for running some services that I need. Right now I'm hosting: ### DNS Server I'm using AdGuard for DNS hosting, it's a good substitute for pi-hole and while it's not a full dns server at his heart, the DNS Rewrite function enable me using local dns addresses properly, and I don't need anything more for now. ### VPN -I'm using Wireguard with WG-Easy for VPN, but I found out that wg easy is pretty simple for what I need to do, I wanna setup multiple interfaces for wireguard, so I could make differents groups for VPN with multiple access types (example: for one group wireguard will handle all traffic, for other group only internet but not LAN, for other group LAN etc etc), so I'm thinking if I will maintain my own fork of wg-easy that runs easily in container, or if I provision a new VM only for wireguard and can use another UI or handle users with ansible. +Right now I'm using [netbird](https://netbird.io/) for VPN, it's a good because uses wireguard, and it's easy to setup and use. But with my dedicated server In hetzner, probably I will switch to headscale later. -### Nginx -Nginx is my official gateway, I'm using nginx-proxy-manager because it's simple and provide a nice UI, don't need everything more. With DNS Server all of my services is acessible locally with easy addresses to remember +### Caddy +Caddy is my reverse proxy, with terraform I can easily deploy new endpoints with TLS for my local network. -### Portainer -For my docker deployments, I use portainer and for the docker services I use this own repo for deploying via GitOps, you can check it out my deployment [here](./ansible/) +### Icecast +I'm using icecast for streaming my live DJs sets for my friends. -### Teamspeak server -I host a teamspeak server where I use daily with my friends. -### Gaming servers -Inside CSGO virtual machine, I host a server of counter strike global offensive and project zomboid, both servers are private and for friends only. Usually I shutdown a server while another is running because of resources, but they can run at same time aswell. -# Where I host? +### Kavita +Kavita is my self-hosted ebooks server. Right I'm importing them manually and I will probably see If I will migrate this service to my dedicated server in hetzner. -Currently I'm hosting at my house, server specs coming soon! \ No newline at end of file +### Keycloak +Keycloak is my identity provider, I'm using it for my local projects as I usually use openID and oauth2 for authentication. Right now there's no service in the homelab using it but it's very useful in my development enviroment. + +### PostgreSQL +I'm using a single node postgres server for the lab services and my personal projects. The job also has a pgAdmin instance running. + +### Redis +Right now I'm using redis for nothing. + +### TwitchMiner +My instnace of [Twitch-Channel-Points-Miner-v2](https://github.com/rdavydov/Twitch-Channel-Points-Miner-v2) + +# What I host in hetzner? +At hetzner I "share" some personal services with my friends projetcs. But the basic infrascructure is running proxmox with NAT for an instance of pfSense for router. A traefik in a LXC for reverse proxy. And a nomad server with some jobs for running containers. \ No newline at end of file