This commit is contained in:
Teddy 2026-06-07 18:12:15 +00:00
parent 0c3ec81922
commit eeb79232c2
6 changed files with 439 additions and 0 deletions

63
adguard/adguard.yaml Normal file
View file

@ -0,0 +1,63 @@
apiVersion: v1
kind: Namespace
metadata:
name: adguard
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: adguard-work-pvc
namespace: adguard
spec:
accessModes:
- ReadWriteOnce
storageClassName: local-path
resources:
requests:
storage: 2Gi
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: adguard-conf-pvc
namespace: adguard
spec:
accessModes:
- ReadWriteOnce
storageClassName: local-path
resources:
requests:
storage: 1Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: adguard
namespace: adguard
spec:
replicas: 1
selector:
matchLabels:
app: adguard
template:
metadata:
labels:
app: adguard
spec:
hostNetwork: true
dnsPolicy: ClusterFirstWithHostNet
containers:
- name: adguard
image: adguard/adguardhome:latest
volumeMounts:
- name: adguard-work
mountPath: /opt/adguardhome/work
- name: adguard-conf
mountPath: /opt/adguardhome/conf
volumes:
- name: adguard-work
persistentVolumeClaim:
claimName: adguard-work-pvc
- name: adguard-conf
persistentVolumeClaim:
claimName: adguard-conf-pvc

View file

@ -0,0 +1,62 @@
apiVersion: v1
kind: Namespace
metadata:
name: excalidraw
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: excalidraw
namespace: excalidraw
spec:
replicas: 1
selector:
matchLabels:
app: excalidraw
template:
metadata:
labels:
app: excalidraw
spec:
containers:
- name: excalidraw
image: excalidraw/excalidraw:latest
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: excalidraw
namespace: excalidraw
spec:
selector:
app: excalidraw
ports:
- port: 80
targetPort: 80
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: excalidraw
namespace: excalidraw
annotations:
cert-manager.io/cluster-issuer: letsencrypt
spec:
ingressClassName: traefik
tls:
- hosts:
- draw.roysland.net
secretName: excalidraw-tls
rules:
- host: draw.roysland.net
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: excalidraw
port:
number: 80

85
homarr/homarr.yaml Normal file
View file

@ -0,0 +1,85 @@
apiVersion: v1
kind: Namespace
metadata:
name: homarr
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: homarr-pvc
namespace: homarr
spec:
accessModes:
- ReadWriteOnce
storageClassName: local-path
resources:
requests:
storage: 2Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: homarr
namespace: homarr
spec:
replicas: 1
selector:
matchLabels:
app: homarr
template:
metadata:
labels:
app: homarr
spec:
containers:
- name: homarr
image: ghcr.io/homarr-labs/homarr:latest
ports:
- containerPort: 7575
env:
- name: SECRET_ENCRYPTION_KEY
value: "a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0c1d2e3f4a5b6c7d8e9f0a1b2"
volumeMounts:
- name: homarr-data
mountPath: /appdata
volumes:
- name: homarr-data
persistentVolumeClaim:
claimName: homarr-pvc
---
apiVersion: v1
kind: Service
metadata:
name: homarr
namespace: homarr
spec:
selector:
app: homarr
ports:
- port: 7575
targetPort: 7575
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: homarr
namespace: homarr
annotations:
cert-manager.io/cluster-issuer: letsencrypt
spec:
ingressClassName: traefik
tls:
- hosts:
- home.roysland.net
secretName: homarr-tls
rules:
- host: home.roysland.net
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: homarr
port:
number: 7575

82
homepage/homepage.yaml Normal file
View file

@ -0,0 +1,82 @@
apiVersion: v1
kind: Namespace
metadata:
name: homepage
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: homepage-pvc
namespace: homepage
spec:
accessModes:
- ReadWriteOnce
storageClassName: local-path
resources:
requests:
storage: 1Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: homepage
namespace: homepage
spec:
replicas: 1
selector:
matchLabels:
app: homepage
template:
metadata:
labels:
app: homepage
spec:
containers:
- name: homepage
image: ghcr.io/gethomepage/homepage:latest
ports:
- containerPort: 3000
volumeMounts:
- name: homepage-config
mountPath: /app/config
volumes:
- name: homepage-config
persistentVolumeClaim:
claimName: homepage-pvc
---
apiVersion: v1
kind: Service
metadata:
name: homepage
namespace: homepage
spec:
selector:
app: homepage
ports:
- port: 3000
targetPort: 3000
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: homepage
namespace: homepage
annotations:
cert-manager.io/cluster-issuer: letsencrypt
spec:
ingressClassName: traefik
tls:
- hosts:
- home.roysland.net
secretName: homepage-tls
rules:
- host: home.roysland.net
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: homepage
port:
number: 3000

62
ittools/ittools.yaml Normal file
View file

@ -0,0 +1,62 @@
apiVersion: v1
kind: Namespace
metadata:
name: it-tools
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: it-tools
namespace: it-tools
spec:
replicas: 1
selector:
matchLabels:
app: it-tools
template:
metadata:
labels:
app: it-tools
spec:
containers:
- name: it-tools
image: corentinth/it-tools:latest
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: it-tools
namespace: it-tools
spec:
selector:
app: it-tools
ports:
- port: 80
targetPort: 80
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: it-tools
namespace: it-tools
annotations:
cert-manager.io/cluster-issuer: letsencrypt
spec:
ingressClassName: traefik
tls:
- hosts:
- tools.roysland.net
secretName: it-tools-tls
rules:
- host: tools.roysland.net
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: it-tools
port:
number: 80

85
stirling/stirling.yaml Normal file
View file

@ -0,0 +1,85 @@
apiVersion: v1
kind: Namespace
metadata:
name: stirling
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: stirling-pvc
namespace: stirling
spec:
accessModes:
- ReadWriteOnce
storageClassName: local-path
resources:
requests:
storage: 2Gi
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: stirling
namespace: stirling
spec:
replicas: 1
selector:
matchLabels:
app: stirling
template:
metadata:
labels:
app: stirling
spec:
containers:
- name: stirling
image: frooodle/s-pdf:latest
ports:
- containerPort: 8080
env:
- name: DOCKER_ENABLE_SECURITY
value: "false"
volumeMounts:
- name: stirling-data
mountPath: /usr/share/tessdata
volumes:
- name: stirling-data
persistentVolumeClaim:
claimName: stirling-pvc
---
apiVersion: v1
kind: Service
metadata:
name: stirling
namespace: stirling
spec:
selector:
app: stirling
ports:
- port: 8080
targetPort: 8080
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: stirling
namespace: stirling
annotations:
cert-manager.io/cluster-issuer: letsencrypt
spec:
ingressClassName: traefik
tls:
- hosts:
- pdf.roysland.net
secretName: stirling-tls
rules:
- host: pdf.roysland.net
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: stirling
port:
number: 8080