diff --git a/adguard/adguard.yaml b/adguard/adguard.yaml new file mode 100644 index 0000000..0a593db --- /dev/null +++ b/adguard/adguard.yaml @@ -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 diff --git a/excalidraw/excalidraw.yaml b/excalidraw/excalidraw.yaml new file mode 100644 index 0000000..5e42dd9 --- /dev/null +++ b/excalidraw/excalidraw.yaml @@ -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 diff --git a/homarr/homarr.yaml b/homarr/homarr.yaml new file mode 100644 index 0000000..425c30d --- /dev/null +++ b/homarr/homarr.yaml @@ -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 diff --git a/homepage/homepage.yaml b/homepage/homepage.yaml new file mode 100644 index 0000000..2035277 --- /dev/null +++ b/homepage/homepage.yaml @@ -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 diff --git a/ittools/ittools.yaml b/ittools/ittools.yaml new file mode 100644 index 0000000..71229ff --- /dev/null +++ b/ittools/ittools.yaml @@ -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 diff --git a/stirling/stirling.yaml b/stirling/stirling.yaml new file mode 100644 index 0000000..61b2f8b --- /dev/null +++ b/stirling/stirling.yaml @@ -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