feat(k8s): add K8s manifests for all homelab services

traefik, gitea, adguard, nextcloud, errorpages, homepages,
uptime-kuma, kener, checkmk, headscale, dockmon, metube,
downtify, portainer, netronome, userbot

Includes Helm values, deployments, services, ingress routes,
configmaps, secrets (placeholders), postgres statefulsets,
kustomize overlays, and Traefik dynamic configuration.
This commit is contained in:
forust committed 2026-06-08 10:54:03 +02:00
1 parent f3d04e935c
commit 36922a177c
60 files changed
+2596 -5

No files matched your search

+82
View File
@@ -0,0 +1,82 @@
apiVersion: v1
kind: Service
metadata:
name: headplane-service
namespace: headscale
spec:
selector:
app: headplane
ports:
- port: 3000
targetPort: 3000
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: headplane-deployment
namespace: headscale
spec:
replicas: 1
selector:
matchLabels:
app: headplane
template:
metadata:
labels:
app: headplane
spec:
containers:
- name: headplane
image: ghcr.io/tale/headplane:latest
ports:
- containerPort: 3000
resources:
requests:
memory: "128Mi"
cpu: "100m"
limits:
memory: "512Mi"
cpu: "500m"
env:
- name: COOKIE_SECRET
valueFrom:
secretKeyRef:
name: headscale-secrets
key: HEADPLANE_COOKIE_SECRET
- name: CONFIG_PATH
value: "/etc/headplane/config.yaml"
volumeMounts:
- name: config
mountPath: /etc/headplane
- name: headscale-config
mountPath: /etc/headscale
- name: data
mountPath: /var/lib/headplane
- name: docker-sock
mountPath: /var/run/docker.sock
volumes:
- name: config
configMap:
name: headplane-config
- name: headscale-config
configMap:
name: headscale-config
- name: data
persistentVolumeClaim:
claimName: headplane-data-pvc
- name: docker-sock
hostPath:
path: /var/run/docker.sock
type: Socket
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: headplane-data-pvc
namespace: headscale
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi