From efdaba6169d84a09297820567fd34dbaa8899514 Mon Sep 17 00:00:00 2001 From: Taqi Tahmid Date: Fri, 28 Feb 2025 20:04:52 +0200 Subject: [PATCH] updated readme and restructure project --- README.md | 225 ++++++++---------- {docker_compose => docker}/.gitignore | 0 {docker_compose => docker}/README.md | 0 {docker_compose => docker}/jackett.yaml | 0 {docker_compose => docker}/jellyfin.yaml | 0 {docker_compose => docker}/plex.yaml | 0 {docker_compose => docker}/portainer.yaml | 0 {docker_compose => docker}/qbittorrent.yaml | 0 {docker_compose => docker}/radarr.yaml | 0 {docker_compose => docker}/sonarr.yaml | 0 {docker_compose => docker}/traefikv3.yaml | 0 .../.gitignore | 0 .../README.md | 0 .../adguard-helm-chart/Chart.yaml | 0 .../adguard-helm-chart/templates/_helpers.tpl | 0 .../templates/deployment.yaml | 0 .../adguard-helm-chart/templates/ingress.yaml | 0 .../adguard-helm-chart/templates/pvc.yaml | 0 .../adguard-helm-chart/templates/service.yaml | 0 .../adguard-helm-chart/values.yaml | 0 .../cert-manager-helm-chart/Chart.yaml | 0 .../templates/clusterIssuers.yaml | 0 .../templates/secret-cloudflare.yaml | 0 .../templates/wildcardCert.yaml | 0 .../cert-manager-helm-chart/values.yaml | 0 .../docker-registry-helm-chart/Chart.yaml | 0 .../templates/deployment.yaml | 0 .../templates/ingress.yaml | 0 .../templates/pvc.yaml | 0 .../templates/service.yaml | 0 .../docker-registry-helm-chart/values.yaml | 0 .../external-service/proxmox.yaml | 0 .../gitea/configMap.yaml | 0 .../gitea/values.yaml | 4 + .../media/jellyfin-deploy.yaml | 0 .../media/pv.yaml | 0 .../media/pvc-longhorn.yaml | 0 .../media/pvc.yaml | 0 .../media/storageclass-nfs.yaml | 0 .../media/temp-deploy.yaml | 0 .../metallb/metallbConfig.yaml | 0 .../my-portfolio/portfolioManifest.yaml | 0 .../pocketbase-helm-chart/Chart.yaml | 0 .../templates/deployment.yaml | 0 .../templates/ingress.yaml | 0 .../pocketbase-helm-chart/templates/pvc.yaml | 0 .../templates/service.yaml | 0 .../pocketbase-helm-chart/values.yaml | 0 .../postgres/pgadmin.yaml | 0 .../postgres/values.yaml | 0 .../qbittorrent-helm-chart/Chart.yaml | 0 .../templates/_helpers.tpl | 0 .../templates/configmap.yaml | 0 .../templates/deployment.yaml | 0 .../qbittorrent-helm-chart/templates/pvc.yaml | 0 .../templates/service.yaml | 0 .../qbittorrent-helm-chart/values.yaml | 0 .../stress-test/hog.yaml | 0 .../traefik-middleware/auth.yaml | 0 .../traefik-middleware/auth_secret.yaml | 0 60 files changed, 109 insertions(+), 120 deletions(-) rename {docker_compose => docker}/.gitignore (100%) rename {docker_compose => docker}/README.md (100%) rename {docker_compose => docker}/jackett.yaml (100%) rename {docker_compose => docker}/jellyfin.yaml (100%) rename {docker_compose => docker}/plex.yaml (100%) rename {docker_compose => docker}/portainer.yaml (100%) rename {docker_compose => docker}/qbittorrent.yaml (100%) rename {docker_compose => docker}/radarr.yaml (100%) rename {docker_compose => docker}/sonarr.yaml (100%) rename {docker_compose => docker}/traefikv3.yaml (100%) rename {Kubernetes_deployments => kubernetes}/.gitignore (100%) rename {Kubernetes_deployments => kubernetes}/README.md (100%) rename {Kubernetes_deployments => kubernetes}/adguard-helm-chart/Chart.yaml (100%) rename {Kubernetes_deployments => kubernetes}/adguard-helm-chart/templates/_helpers.tpl (100%) rename {Kubernetes_deployments => kubernetes}/adguard-helm-chart/templates/deployment.yaml (100%) rename {Kubernetes_deployments => kubernetes}/adguard-helm-chart/templates/ingress.yaml (100%) rename {Kubernetes_deployments => kubernetes}/adguard-helm-chart/templates/pvc.yaml (100%) rename {Kubernetes_deployments => kubernetes}/adguard-helm-chart/templates/service.yaml (100%) rename {Kubernetes_deployments => kubernetes}/adguard-helm-chart/values.yaml (100%) rename {Kubernetes_deployments => kubernetes}/cert-manager-helm-chart/Chart.yaml (100%) rename {Kubernetes_deployments => kubernetes}/cert-manager-helm-chart/templates/clusterIssuers.yaml (100%) rename {Kubernetes_deployments => kubernetes}/cert-manager-helm-chart/templates/secret-cloudflare.yaml (100%) rename {Kubernetes_deployments => kubernetes}/cert-manager-helm-chart/templates/wildcardCert.yaml (100%) rename {Kubernetes_deployments => kubernetes}/cert-manager-helm-chart/values.yaml (100%) rename {Kubernetes_deployments => kubernetes}/docker-registry-helm-chart/Chart.yaml (100%) rename {Kubernetes_deployments => kubernetes}/docker-registry-helm-chart/templates/deployment.yaml (100%) rename {Kubernetes_deployments => kubernetes}/docker-registry-helm-chart/templates/ingress.yaml (100%) rename {Kubernetes_deployments => kubernetes}/docker-registry-helm-chart/templates/pvc.yaml (100%) rename {Kubernetes_deployments => kubernetes}/docker-registry-helm-chart/templates/service.yaml (100%) rename {Kubernetes_deployments => kubernetes}/docker-registry-helm-chart/values.yaml (100%) rename {Kubernetes_deployments => kubernetes}/external-service/proxmox.yaml (100%) rename {Kubernetes_deployments => kubernetes}/gitea/configMap.yaml (100%) rename {Kubernetes_deployments => kubernetes}/gitea/values.yaml (94%) rename {Kubernetes_deployments => kubernetes}/media/jellyfin-deploy.yaml (100%) rename {Kubernetes_deployments => kubernetes}/media/pv.yaml (100%) rename {Kubernetes_deployments => kubernetes}/media/pvc-longhorn.yaml (100%) rename {Kubernetes_deployments => kubernetes}/media/pvc.yaml (100%) rename {Kubernetes_deployments => kubernetes}/media/storageclass-nfs.yaml (100%) rename {Kubernetes_deployments => kubernetes}/media/temp-deploy.yaml (100%) rename {Kubernetes_deployments => kubernetes}/metallb/metallbConfig.yaml (100%) rename {Kubernetes_deployments => kubernetes}/my-portfolio/portfolioManifest.yaml (100%) rename {Kubernetes_deployments => kubernetes}/pocketbase-helm-chart/Chart.yaml (100%) rename {Kubernetes_deployments => kubernetes}/pocketbase-helm-chart/templates/deployment.yaml (100%) rename {Kubernetes_deployments => kubernetes}/pocketbase-helm-chart/templates/ingress.yaml (100%) rename {Kubernetes_deployments => kubernetes}/pocketbase-helm-chart/templates/pvc.yaml (100%) rename {Kubernetes_deployments => kubernetes}/pocketbase-helm-chart/templates/service.yaml (100%) rename {Kubernetes_deployments => kubernetes}/pocketbase-helm-chart/values.yaml (100%) rename {Kubernetes_deployments => kubernetes}/postgres/pgadmin.yaml (100%) rename {Kubernetes_deployments => kubernetes}/postgres/values.yaml (100%) rename {Kubernetes_deployments => kubernetes}/qbittorrent-helm-chart/Chart.yaml (100%) rename {Kubernetes_deployments => kubernetes}/qbittorrent-helm-chart/templates/_helpers.tpl (100%) rename {Kubernetes_deployments => kubernetes}/qbittorrent-helm-chart/templates/configmap.yaml (100%) rename {Kubernetes_deployments => kubernetes}/qbittorrent-helm-chart/templates/deployment.yaml (100%) rename {Kubernetes_deployments => kubernetes}/qbittorrent-helm-chart/templates/pvc.yaml (100%) rename {Kubernetes_deployments => kubernetes}/qbittorrent-helm-chart/templates/service.yaml (100%) rename {Kubernetes_deployments => kubernetes}/qbittorrent-helm-chart/values.yaml (100%) rename {Kubernetes_deployments => kubernetes}/stress-test/hog.yaml (100%) rename {Kubernetes_deployments => kubernetes}/traefik-middleware/auth.yaml (100%) rename {Kubernetes_deployments => kubernetes}/traefik-middleware/auth_secret.yaml (100%) diff --git a/README.md b/README.md index 40cbaa1..e084db6 100644 --- a/README.md +++ b/README.md @@ -1,173 +1,158 @@ -# Homeserver Setup +# 🏠 Homeserver Setup Guide: Kubernetes on Proxmox + +[![License](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) +[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](CONTRIBUTING.md) ``` © 2023 Taqi Tahmid ``` -This is the top level directory for the homeserver setup. It contains the -following directories: +> Build your own modern homelab with Kubernetes on Proxmox! This guide walks +> you through setting up a complete home server infrastructure with essential +> self-hosted services. -1. `ansible`: Contains the ansible playbooks and roles for setting up the -homeserver. Proxmox is used as the hypervisor, so the playbooks are written with -that in mind. The Kubernetes cluster is set up using K3s. This has not been -automated yet and is a manual process. +## 🌟 Highlights -2. `docker`: Contains the docker-compose files for setting up the different -services. Right now Kubernetes is preferred over docker-compose, so this -directory is not actively maintained. +- Fully automated setup using Ansible +- Production-grade Kubernetes (K3s) cluster +- High-availability Proxmox configuration +- Popular self-hosted applications ready to deploy -3. `kubernetes`: Contains the kubernetes manifests and helm charts for setting -up the different services. +## 📁 Repository Structure +- `ansible/` - Automated provisioning with Ansible playbooks. [Ansible Guide](ansible/README.md) +- `kubernetes/` - K8s manifests and Helm charts. [Kubernetes Guide](kubernetes/README.md) +- `docker/` - Legacy docker-compose files (Kubernetes preferred). [Docker Guide](docker/README.md) -# Services +## 🚀 Running Services -The following services are set up on the homeserver: -1. AdGuard Home -2. Private Docker Registry -3. Jellyfin -4. My Portfolio Website -5. Postgres Database -6. Pocketbase Backend +- ✨ AdGuard Home - Network-wide ad blocking +- 🐳 Private Docker Registry +- 🎬 Jellyfin Media Server +- 🌐 Portfolio Website +- 🗄️ PostgreSQL Database +- 📦 Pocketbase Backend +- 💻 Gitea Git Server -In future the following services are planned to be set up: -1. Nextcloud -2. Gitea -3. Monitoring Stack +### 📋 Coming Soon +- Nextcloud +- Monitoring Stack +## 💻 Hardware Setup -# Homeserver Setup +- 2x Mini PCs with Intel N1000 CPUs +- 16GB RAM each +- 500GB SSDs +- 1Gbps networking +- Proxmox Cluster Configuration -I have two mini PCs with Intel N1000 CPUs and 16GB of RAM each and 500GB SSDs. -Both of them are running Proxmox and are connected to a 1Gbps network. The -Proxmox is set up in a cluster configuration. +## 🛠️ Installation Steps -There are four VMs dedicated for the Kubernetes cluster. The VMs are running -Ubuntu 22.04 and have 4GB of RAM and 2 CPUs each. The VMs are connected to a -bridge network so that they can communicate with each other. Two VMs are -confiugred as dual control plane and worker nodes and two VMs are configured as -worker nodes. The Kubernetes cluster is set up using K3s. +### 1. Setting up Proxmox Infrastructure -## Proxmox Installation +#### Proxmox Base Installation +- Boot mini PCs from Proxmox USB drive +- Install on SSD and configure networking +- Set up cluster configuration +> 📚 Reference: [Official Proxmox Installation Guide](https://pve.proxmox.com/wiki/Installation) -The Proxmox installation is done on the mini PCs. The installation is done by -booting from a USB drive with the Proxmox ISO. The installation is done on the -SSD and the network is configured during the installation. The Proxmox is -configured in a cluster configuration. +#### 3. Cloud Image Implementation -Ref: [proxmox-installation](https://pve.proxmox.com/wiki/Installation) +Cloud images provide: +- 🚀 Pre-configured, optimized disk images +- 📦 Minimal software footprint +- ⚡ Quick VM deployment +- 🔧 Cloud-init support for easy customization -## Promox VM increase disk size +These lightweight images are perfect for rapid virtual machine deployment in +your homelab environment. -Access the Proxmox Web Interface: +#### Proxmox VM Disk Management -1. Log in to the Proxmox web interface. - Select the VM: -2. In the left sidebar, click on the VM to resize. - Resize the Disk: -3. Go to the Hardware tab. -4. Select the disk to resize (e.g., scsi0, ide0, etc.). -5. Click on the Resize button in the toolbar. -6. Enter 50G (or 50000 for 50GB) in the size field. +**Expanding VM Disk Size:** +1. Access Proxmox web interface +2. Select target VM +3. Navigate to Hardware tab +4. Choose disk to resize +5. Click Resize and enter new size (e.g., 50G) -After that login to the VM and create a new partition or add to existing one -``` +**Post-resize VM Configuration:** +```bash +# Access VM and configure partitions sudo fdisk /dev/sda -Press p to print the partition table. -Press d to delete the existing partition (note: ensure data is safe). -Press n to create a new partition and follow the prompts. Make sure to use the -same starting sector as the previous partition to avoid data loss. Press w to -write changes and exit. +# Key commands: +# p - print partition table +# d - delete partition +# n - create new partition +# w - write changes sudo mkfs.ext4 /dev/sdaX ``` -## Proxmox Passthrough Physical Disk to VM - -Ref: [proxmox-pve](https://pve.proxmox.com/wiki/Passthrough_Physical_Disk_to_Virtual_Machine_(VM)) -It is possible to pass through a physical disk attached to the hardware to -the VM. This implementation passes through a NVME storage to the -dockerhost VM. - +#### Physical Disk Passthrough +Pass physical disks (e.g., NVME storage) to VMs: ```bash -# List the disk by-id with lsblk -lsblk |awk 'NR==1{print $0" DEVICE-ID(S)"}NR>1{dev=$1;printf $0" \ - ";system("find /dev/disk/by-id -lname \"*"dev"\" -printf \" %p\"");\ - print "";}'|grep -v -E 'part|lvm' +# List disk IDs +lsblk |awk 'NR==1{print $0" DEVICE-ID(S)"}NR>1{dev=$1;printf $0" ";system("find /dev/disk/by-id -lname \"*"dev"\" -printf \" %p\"");print "";}'|grep -v -E 'part|lvm' -# Hot plug or add the physical device as a new SCSI disk -qm set 103 -scsi2 /dev/disk/by-id/usb-WD_BLACK_SN770_1TB_012938055C4B-0:0 +# Add disk to VM (example for VM ID 103) +qm set 103 -scsi2 /dev/disk/by-id/usb-WD_BLACK_SN770_1TB_012938055C4B-0:0 -# Check with the following command -grep 5C4B /etc/pve/qemu-server/103.conf - -# After that reboot the VM and verify with lsblk command -lsblk +# Verify configuration +grep 5C4B /etc/pve/qemu-server/103.conf ``` +> 📚 Reference: [Proxmox Disk Passthrough Guide](https://pve.proxmox.com/wiki/Passthrough_Physical_Disk_to_Virtual_Machine_(VM)) -## Setup Master and worker Nodes for K3s +### 2. Kubernetes Cluster Setup -The cluster configuration consists of 4 VMs configured as 2 master and 2 worker k3s nodes. -The master nodes also function as worker nodes. +#### K3s Cluster Configuration +Setting up a 4-node cluster (2 master + 2 worker): +**Master Node 1:** ```bash -# On the first master run the following command curl -sfL https://get.k3s.io | sh -s - server --cluster-init --disable servicelb - -# This will generate a token under /var/lib/rancher/k3s/server/node-token -# Which will be required to for adding nodes to the cluster - -# On the second master run the following command -export TOKEN= -export MASTER1_IP= -curl -sfL https://get.k3s.io | \ - sh -s - server --server https://${MASTER1_IP}:6443 \ - --token ${TOKEN} --disable servicelb - -# Similarly on the worker nodes run the following command -export TOKEN= -export MASTER1_IP= -curl -sfL https://get.k3s.io | \ - K3S_URL=https://${MASTER1_IP}:6443 K3S_TOKEN=${TOKEN} sh - ``` -## Configure Metallb load balancer for k3s - -The metallb loadbalancer is used for services instead of k3s default -servicelb as it offers advanced features and supports IP address pools for load -balancer configuration. - +**Master Node 2:** ```bash -# On any of the master nodes run the following command -kubectl apply -f \ - https://raw.githubusercontent.com/metallb/metallb/v0.13.7/config/manifests/metallb-native.yaml +export TOKEN= +export MASTER1_IP= +curl -sfL https://get.k3s.io | sh -s - server --server https://${MASTER1_IP}:6443 --token ${TOKEN} --disable servicelb +``` -# Ensure that metallb is installed with the following command +**Worker Nodes:** +```bash +export TOKEN= +export MASTER1_IP= +curl -sfL https://get.k3s.io | K3S_URL=https://${MASTER1_IP}:6443 K3S_TOKEN=${TOKEN} sh - +``` + +#### MetalLB Load Balancer Setup +```bash +# Install MetalLB +kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.13.7/config/manifests/metallb-native.yaml + +# Verify installation kubectl get pods -n metallb-system -# On the host machine apply the metallb cofigmap under metallb directory +# Apply configuration kubectl apply -f /home/taqi/homeserver/k3s-infra/metallb/metallbConfig.yaml +``` -# Test that the loadbalancer is working with nginx deployment +**Quick Test:** +```bash +# Deploy test nginx kubectl create namespace nginx kubectl create deployment nginx --image=nginx -n nginx kubectl expose deployment nginx --port=80 --type=LoadBalancer -n nginx -# If nginx service gets an external IP and it is accessible from browser then -the configuration is complete +# Cleanup after testing kubectl delete namespace nginx ``` -## Cloud Image for VMs +## 🤝 Contributing -A cloud image is a pre-configured disk image that is optimized for use in cloud -environments. These images typically include a minimal set of software and -configurations that are necessary to run in a virtualized environment, -such as a cloud or a hypervisor like Proxmox. Cloud images are designed to be -lightweight and can be quickly deployed to create new virtual machines. They -often come with cloud-init support, which allows for easy customization and -initialization of instances at boot time. +Contributions welcome! Feel free to open issues or submit PRs. -The cloud iamges are used for setting up the VMs in Proxmox. No traditional -template is used for setting up the VMs. The cloud images are available for -download from the following link: -[Ubuntu 22.04](https://cloud-images.ubuntu.com/focal/current/focal-server-cloudimg-amd64.img) \ No newline at end of file +## 📝 License + +MIT License - feel free to use this as a template for your own homelab! \ No newline at end of file diff --git a/docker_compose/.gitignore b/docker/.gitignore similarity index 100% rename from docker_compose/.gitignore rename to docker/.gitignore diff --git a/docker_compose/README.md b/docker/README.md similarity index 100% rename from docker_compose/README.md rename to docker/README.md diff --git a/docker_compose/jackett.yaml b/docker/jackett.yaml similarity index 100% rename from docker_compose/jackett.yaml rename to docker/jackett.yaml diff --git a/docker_compose/jellyfin.yaml b/docker/jellyfin.yaml similarity index 100% rename from docker_compose/jellyfin.yaml rename to docker/jellyfin.yaml diff --git a/docker_compose/plex.yaml b/docker/plex.yaml similarity index 100% rename from docker_compose/plex.yaml rename to docker/plex.yaml diff --git a/docker_compose/portainer.yaml b/docker/portainer.yaml similarity index 100% rename from docker_compose/portainer.yaml rename to docker/portainer.yaml diff --git a/docker_compose/qbittorrent.yaml b/docker/qbittorrent.yaml similarity index 100% rename from docker_compose/qbittorrent.yaml rename to docker/qbittorrent.yaml diff --git a/docker_compose/radarr.yaml b/docker/radarr.yaml similarity index 100% rename from docker_compose/radarr.yaml rename to docker/radarr.yaml diff --git a/docker_compose/sonarr.yaml b/docker/sonarr.yaml similarity index 100% rename from docker_compose/sonarr.yaml rename to docker/sonarr.yaml diff --git a/docker_compose/traefikv3.yaml b/docker/traefikv3.yaml similarity index 100% rename from docker_compose/traefikv3.yaml rename to docker/traefikv3.yaml diff --git a/Kubernetes_deployments/.gitignore b/kubernetes/.gitignore similarity index 100% rename from Kubernetes_deployments/.gitignore rename to kubernetes/.gitignore diff --git a/Kubernetes_deployments/README.md b/kubernetes/README.md similarity index 100% rename from Kubernetes_deployments/README.md rename to kubernetes/README.md diff --git a/Kubernetes_deployments/adguard-helm-chart/Chart.yaml b/kubernetes/adguard-helm-chart/Chart.yaml similarity index 100% rename from Kubernetes_deployments/adguard-helm-chart/Chart.yaml rename to kubernetes/adguard-helm-chart/Chart.yaml diff --git a/Kubernetes_deployments/adguard-helm-chart/templates/_helpers.tpl b/kubernetes/adguard-helm-chart/templates/_helpers.tpl similarity index 100% rename from Kubernetes_deployments/adguard-helm-chart/templates/_helpers.tpl rename to kubernetes/adguard-helm-chart/templates/_helpers.tpl diff --git a/Kubernetes_deployments/adguard-helm-chart/templates/deployment.yaml b/kubernetes/adguard-helm-chart/templates/deployment.yaml similarity index 100% rename from Kubernetes_deployments/adguard-helm-chart/templates/deployment.yaml rename to kubernetes/adguard-helm-chart/templates/deployment.yaml diff --git a/Kubernetes_deployments/adguard-helm-chart/templates/ingress.yaml b/kubernetes/adguard-helm-chart/templates/ingress.yaml similarity index 100% rename from Kubernetes_deployments/adguard-helm-chart/templates/ingress.yaml rename to kubernetes/adguard-helm-chart/templates/ingress.yaml diff --git a/Kubernetes_deployments/adguard-helm-chart/templates/pvc.yaml b/kubernetes/adguard-helm-chart/templates/pvc.yaml similarity index 100% rename from Kubernetes_deployments/adguard-helm-chart/templates/pvc.yaml rename to kubernetes/adguard-helm-chart/templates/pvc.yaml diff --git a/Kubernetes_deployments/adguard-helm-chart/templates/service.yaml b/kubernetes/adguard-helm-chart/templates/service.yaml similarity index 100% rename from Kubernetes_deployments/adguard-helm-chart/templates/service.yaml rename to kubernetes/adguard-helm-chart/templates/service.yaml diff --git a/Kubernetes_deployments/adguard-helm-chart/values.yaml b/kubernetes/adguard-helm-chart/values.yaml similarity index 100% rename from Kubernetes_deployments/adguard-helm-chart/values.yaml rename to kubernetes/adguard-helm-chart/values.yaml diff --git a/Kubernetes_deployments/cert-manager-helm-chart/Chart.yaml b/kubernetes/cert-manager-helm-chart/Chart.yaml similarity index 100% rename from Kubernetes_deployments/cert-manager-helm-chart/Chart.yaml rename to kubernetes/cert-manager-helm-chart/Chart.yaml diff --git a/Kubernetes_deployments/cert-manager-helm-chart/templates/clusterIssuers.yaml b/kubernetes/cert-manager-helm-chart/templates/clusterIssuers.yaml similarity index 100% rename from Kubernetes_deployments/cert-manager-helm-chart/templates/clusterIssuers.yaml rename to kubernetes/cert-manager-helm-chart/templates/clusterIssuers.yaml diff --git a/Kubernetes_deployments/cert-manager-helm-chart/templates/secret-cloudflare.yaml b/kubernetes/cert-manager-helm-chart/templates/secret-cloudflare.yaml similarity index 100% rename from Kubernetes_deployments/cert-manager-helm-chart/templates/secret-cloudflare.yaml rename to kubernetes/cert-manager-helm-chart/templates/secret-cloudflare.yaml diff --git a/Kubernetes_deployments/cert-manager-helm-chart/templates/wildcardCert.yaml b/kubernetes/cert-manager-helm-chart/templates/wildcardCert.yaml similarity index 100% rename from Kubernetes_deployments/cert-manager-helm-chart/templates/wildcardCert.yaml rename to kubernetes/cert-manager-helm-chart/templates/wildcardCert.yaml diff --git a/Kubernetes_deployments/cert-manager-helm-chart/values.yaml b/kubernetes/cert-manager-helm-chart/values.yaml similarity index 100% rename from Kubernetes_deployments/cert-manager-helm-chart/values.yaml rename to kubernetes/cert-manager-helm-chart/values.yaml diff --git a/Kubernetes_deployments/docker-registry-helm-chart/Chart.yaml b/kubernetes/docker-registry-helm-chart/Chart.yaml similarity index 100% rename from Kubernetes_deployments/docker-registry-helm-chart/Chart.yaml rename to kubernetes/docker-registry-helm-chart/Chart.yaml diff --git a/Kubernetes_deployments/docker-registry-helm-chart/templates/deployment.yaml b/kubernetes/docker-registry-helm-chart/templates/deployment.yaml similarity index 100% rename from Kubernetes_deployments/docker-registry-helm-chart/templates/deployment.yaml rename to kubernetes/docker-registry-helm-chart/templates/deployment.yaml diff --git a/Kubernetes_deployments/docker-registry-helm-chart/templates/ingress.yaml b/kubernetes/docker-registry-helm-chart/templates/ingress.yaml similarity index 100% rename from Kubernetes_deployments/docker-registry-helm-chart/templates/ingress.yaml rename to kubernetes/docker-registry-helm-chart/templates/ingress.yaml diff --git a/Kubernetes_deployments/docker-registry-helm-chart/templates/pvc.yaml b/kubernetes/docker-registry-helm-chart/templates/pvc.yaml similarity index 100% rename from Kubernetes_deployments/docker-registry-helm-chart/templates/pvc.yaml rename to kubernetes/docker-registry-helm-chart/templates/pvc.yaml diff --git a/Kubernetes_deployments/docker-registry-helm-chart/templates/service.yaml b/kubernetes/docker-registry-helm-chart/templates/service.yaml similarity index 100% rename from Kubernetes_deployments/docker-registry-helm-chart/templates/service.yaml rename to kubernetes/docker-registry-helm-chart/templates/service.yaml diff --git a/Kubernetes_deployments/docker-registry-helm-chart/values.yaml b/kubernetes/docker-registry-helm-chart/values.yaml similarity index 100% rename from Kubernetes_deployments/docker-registry-helm-chart/values.yaml rename to kubernetes/docker-registry-helm-chart/values.yaml diff --git a/Kubernetes_deployments/external-service/proxmox.yaml b/kubernetes/external-service/proxmox.yaml similarity index 100% rename from Kubernetes_deployments/external-service/proxmox.yaml rename to kubernetes/external-service/proxmox.yaml diff --git a/Kubernetes_deployments/gitea/configMap.yaml b/kubernetes/gitea/configMap.yaml similarity index 100% rename from Kubernetes_deployments/gitea/configMap.yaml rename to kubernetes/gitea/configMap.yaml diff --git a/Kubernetes_deployments/gitea/values.yaml b/kubernetes/gitea/values.yaml similarity index 94% rename from Kubernetes_deployments/gitea/values.yaml rename to kubernetes/gitea/values.yaml index f42b691..b531337 100644 --- a/Kubernetes_deployments/gitea/values.yaml +++ b/kubernetes/gitea/values.yaml @@ -14,6 +14,10 @@ gitea: password: password email: email +image: + repository: gitea/gitea + tag: 1.23.4 + postgresql: enabled: false diff --git a/Kubernetes_deployments/media/jellyfin-deploy.yaml b/kubernetes/media/jellyfin-deploy.yaml similarity index 100% rename from Kubernetes_deployments/media/jellyfin-deploy.yaml rename to kubernetes/media/jellyfin-deploy.yaml diff --git a/Kubernetes_deployments/media/pv.yaml b/kubernetes/media/pv.yaml similarity index 100% rename from Kubernetes_deployments/media/pv.yaml rename to kubernetes/media/pv.yaml diff --git a/Kubernetes_deployments/media/pvc-longhorn.yaml b/kubernetes/media/pvc-longhorn.yaml similarity index 100% rename from Kubernetes_deployments/media/pvc-longhorn.yaml rename to kubernetes/media/pvc-longhorn.yaml diff --git a/Kubernetes_deployments/media/pvc.yaml b/kubernetes/media/pvc.yaml similarity index 100% rename from Kubernetes_deployments/media/pvc.yaml rename to kubernetes/media/pvc.yaml diff --git a/Kubernetes_deployments/media/storageclass-nfs.yaml b/kubernetes/media/storageclass-nfs.yaml similarity index 100% rename from Kubernetes_deployments/media/storageclass-nfs.yaml rename to kubernetes/media/storageclass-nfs.yaml diff --git a/Kubernetes_deployments/media/temp-deploy.yaml b/kubernetes/media/temp-deploy.yaml similarity index 100% rename from Kubernetes_deployments/media/temp-deploy.yaml rename to kubernetes/media/temp-deploy.yaml diff --git a/Kubernetes_deployments/metallb/metallbConfig.yaml b/kubernetes/metallb/metallbConfig.yaml similarity index 100% rename from Kubernetes_deployments/metallb/metallbConfig.yaml rename to kubernetes/metallb/metallbConfig.yaml diff --git a/Kubernetes_deployments/my-portfolio/portfolioManifest.yaml b/kubernetes/my-portfolio/portfolioManifest.yaml similarity index 100% rename from Kubernetes_deployments/my-portfolio/portfolioManifest.yaml rename to kubernetes/my-portfolio/portfolioManifest.yaml diff --git a/Kubernetes_deployments/pocketbase-helm-chart/Chart.yaml b/kubernetes/pocketbase-helm-chart/Chart.yaml similarity index 100% rename from Kubernetes_deployments/pocketbase-helm-chart/Chart.yaml rename to kubernetes/pocketbase-helm-chart/Chart.yaml diff --git a/Kubernetes_deployments/pocketbase-helm-chart/templates/deployment.yaml b/kubernetes/pocketbase-helm-chart/templates/deployment.yaml similarity index 100% rename from Kubernetes_deployments/pocketbase-helm-chart/templates/deployment.yaml rename to kubernetes/pocketbase-helm-chart/templates/deployment.yaml diff --git a/Kubernetes_deployments/pocketbase-helm-chart/templates/ingress.yaml b/kubernetes/pocketbase-helm-chart/templates/ingress.yaml similarity index 100% rename from Kubernetes_deployments/pocketbase-helm-chart/templates/ingress.yaml rename to kubernetes/pocketbase-helm-chart/templates/ingress.yaml diff --git a/Kubernetes_deployments/pocketbase-helm-chart/templates/pvc.yaml b/kubernetes/pocketbase-helm-chart/templates/pvc.yaml similarity index 100% rename from Kubernetes_deployments/pocketbase-helm-chart/templates/pvc.yaml rename to kubernetes/pocketbase-helm-chart/templates/pvc.yaml diff --git a/Kubernetes_deployments/pocketbase-helm-chart/templates/service.yaml b/kubernetes/pocketbase-helm-chart/templates/service.yaml similarity index 100% rename from Kubernetes_deployments/pocketbase-helm-chart/templates/service.yaml rename to kubernetes/pocketbase-helm-chart/templates/service.yaml diff --git a/Kubernetes_deployments/pocketbase-helm-chart/values.yaml b/kubernetes/pocketbase-helm-chart/values.yaml similarity index 100% rename from Kubernetes_deployments/pocketbase-helm-chart/values.yaml rename to kubernetes/pocketbase-helm-chart/values.yaml diff --git a/Kubernetes_deployments/postgres/pgadmin.yaml b/kubernetes/postgres/pgadmin.yaml similarity index 100% rename from Kubernetes_deployments/postgres/pgadmin.yaml rename to kubernetes/postgres/pgadmin.yaml diff --git a/Kubernetes_deployments/postgres/values.yaml b/kubernetes/postgres/values.yaml similarity index 100% rename from Kubernetes_deployments/postgres/values.yaml rename to kubernetes/postgres/values.yaml diff --git a/Kubernetes_deployments/qbittorrent-helm-chart/Chart.yaml b/kubernetes/qbittorrent-helm-chart/Chart.yaml similarity index 100% rename from Kubernetes_deployments/qbittorrent-helm-chart/Chart.yaml rename to kubernetes/qbittorrent-helm-chart/Chart.yaml diff --git a/Kubernetes_deployments/qbittorrent-helm-chart/templates/_helpers.tpl b/kubernetes/qbittorrent-helm-chart/templates/_helpers.tpl similarity index 100% rename from Kubernetes_deployments/qbittorrent-helm-chart/templates/_helpers.tpl rename to kubernetes/qbittorrent-helm-chart/templates/_helpers.tpl diff --git a/Kubernetes_deployments/qbittorrent-helm-chart/templates/configmap.yaml b/kubernetes/qbittorrent-helm-chart/templates/configmap.yaml similarity index 100% rename from Kubernetes_deployments/qbittorrent-helm-chart/templates/configmap.yaml rename to kubernetes/qbittorrent-helm-chart/templates/configmap.yaml diff --git a/Kubernetes_deployments/qbittorrent-helm-chart/templates/deployment.yaml b/kubernetes/qbittorrent-helm-chart/templates/deployment.yaml similarity index 100% rename from Kubernetes_deployments/qbittorrent-helm-chart/templates/deployment.yaml rename to kubernetes/qbittorrent-helm-chart/templates/deployment.yaml diff --git a/Kubernetes_deployments/qbittorrent-helm-chart/templates/pvc.yaml b/kubernetes/qbittorrent-helm-chart/templates/pvc.yaml similarity index 100% rename from Kubernetes_deployments/qbittorrent-helm-chart/templates/pvc.yaml rename to kubernetes/qbittorrent-helm-chart/templates/pvc.yaml diff --git a/Kubernetes_deployments/qbittorrent-helm-chart/templates/service.yaml b/kubernetes/qbittorrent-helm-chart/templates/service.yaml similarity index 100% rename from Kubernetes_deployments/qbittorrent-helm-chart/templates/service.yaml rename to kubernetes/qbittorrent-helm-chart/templates/service.yaml diff --git a/Kubernetes_deployments/qbittorrent-helm-chart/values.yaml b/kubernetes/qbittorrent-helm-chart/values.yaml similarity index 100% rename from Kubernetes_deployments/qbittorrent-helm-chart/values.yaml rename to kubernetes/qbittorrent-helm-chart/values.yaml diff --git a/Kubernetes_deployments/stress-test/hog.yaml b/kubernetes/stress-test/hog.yaml similarity index 100% rename from Kubernetes_deployments/stress-test/hog.yaml rename to kubernetes/stress-test/hog.yaml diff --git a/Kubernetes_deployments/traefik-middleware/auth.yaml b/kubernetes/traefik-middleware/auth.yaml similarity index 100% rename from Kubernetes_deployments/traefik-middleware/auth.yaml rename to kubernetes/traefik-middleware/auth.yaml diff --git a/Kubernetes_deployments/traefik-middleware/auth_secret.yaml b/kubernetes/traefik-middleware/auth_secret.yaml similarity index 100% rename from Kubernetes_deployments/traefik-middleware/auth_secret.yaml rename to kubernetes/traefik-middleware/auth_secret.yaml