NextExplorer++

This commit is contained in:
2026-09-15 10:37:11 +10:00
parent 75854ef7f5
commit 52df4409e1
13 changed files with 244 additions and 1 deletions
@@ -0,0 +1,4 @@
apiVersion: v1
kind: Namespace
metadata:
name: nextexplorer
@@ -0,0 +1,18 @@
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: nextexplorer
namespace: argo-cd
spec:
destination:
namespace: nextexplorer
server: https://kubernetes.default.svc
project: default
syncPolicy:
automated: {}
syncOptions:
- CreateNamespace=true
sources:
- repoURL: https://code.spamasaurus.com/djpbessems/Kubernetes.K3s.installLog
path: services/NextExplorer
targetRevision: HEAD
@@ -0,0 +1,50 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: nextexplorer
namespace: nextexplorer
labels:
app: nextexplorer
spec:
replicas: 1
selector:
matchLabels:
app: nextexplorer
template:
metadata:
labels:
app: nextexplorer
spec:
containers:
- name: nextexplorer
image: ghcr.io/cerede2000/explorer:3.5.0-lean
env:
- name: PUBLIC_URL
# value: https://st.itch.fyi
value: https://st.itch.fyi
- name: SESSION_SECRET
value: VPd67z54NMceyvnPNaSCtktuePTbcIPU
ports:
- name: web
containerPort: 3000
volumeMounts:
- mountPath: /config
name: csismb-nextexplorer-config
- mountPath: /cache
name: csismb-nextexplorer-cache
- mountPath: /mnt/Storage
name: csismb-nextexplorer-storage
securityContext:
fsGroup: 1000
runAsUser: 1000
runAsGroup: 1000
volumes:
- name: csismb-nextexplorer-config
persistentVolumeClaim:
claimName: csismb-nextexplorer-config
- name: csismb-nextexplorer-cache
persistentVolumeClaim:
claimName: csismb-nextexplorer-cache
- name: csismb-nextexplorer-storage
persistentVolumeClaim:
claimName: csismb-nextexplorer-storage
@@ -0,0 +1,17 @@
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: nextexplorer
namespace: nextexplorer
spec:
entryPoints:
- websecure
routes:
- match: Host(`st.itch.fyi`)
kind: Rule
services:
- name: nextexplorer
port: 3000
middlewares:
- name: security-headers@file
# - name: compression@file
@@ -0,0 +1,31 @@
apiVersion: v1
kind: PersistentVolume
metadata:
annotations:
pv.kubernetes.io/provisioned-by: smb.csi.k8s.io
name: csismb-nextexplorer-cache
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
storageClassName: csismb-nextexplorer-cache
mountOptions:
- dir_mode=0777
- file_mode=0777
- nobrl
- cache=strict
- mfsymlinks
- noserverino # required to prevent data corruption
csi:
driver: smb.csi.k8s.io
# volumeHandle format: {smb-server-address}#{sub-dir-name}#{share-name}
# make sure this value is unique for every share in the cluster
volumeHandle: 192.168.154.195#nextexplorer#cache
volumeAttributes:
source: //192.168.154.195/K3s.Volumes
subDir: nextexplorer/cache
nodeStageSecretRef:
name: smb-credentials
namespace: nextexplorer
@@ -0,0 +1,31 @@
apiVersion: v1
kind: PersistentVolume
metadata:
annotations:
pv.kubernetes.io/provisioned-by: smb.csi.k8s.io
name: csismb-nextexplorer-config
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
storageClassName: csismb-nextexplorer-config
mountOptions:
- dir_mode=0777
- file_mode=0777
- nobrl
- cache=strict
- mfsymlinks
- noserverino # required to prevent data corruption
csi:
driver: smb.csi.k8s.io
# volumeHandle format: {smb-server-address}#{sub-dir-name}#{share-name}
# make sure this value is unique for every share in the cluster
volumeHandle: 192.168.154.195#nextexplorer#config
volumeAttributes:
source: //192.168.154.195/K3s.Volumes
subDir: nextexplorer/config
nodeStageSecretRef:
name: smb-credentials
namespace: nextexplorer
@@ -0,0 +1,31 @@
apiVersion: v1
kind: PersistentVolume
metadata:
annotations:
pv.kubernetes.io/provisioned-by: smb.csi.k8s.io
name: csismb-nextexplorer-storage
spec:
capacity:
storage: 1Gi
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
storageClassName: csismb-nextexplorer-storage
mountOptions:
- dir_mode=0777
- file_mode=0777
- nobrl
- cache=strict
- mfsymlinks
- noserverino # required to prevent data corruption
csi:
driver: smb.csi.k8s.io
# volumeHandle format: {smb-server-address}#{sub-dir-name}#{share-name}
# make sure this value is unique for every share in the cluster
volumeHandle: 192.168.154.195#nextexplorer#storage
volumeAttributes:
source: //192.168.154.195/K3s.Volumes
subDir: nextexplorer/storage
nodeStageSecretRef:
name: smb-credentials
namespace: nextexplorer
@@ -0,0 +1,12 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: csismb-nextexplorer-cache
namespace: nextexplorer
spec:
accessModes:
- ReadWriteMany
storageClassName: csismb-nextexplorer-cache
resources:
requests:
storage: 1Gi
@@ -0,0 +1,12 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: csismb-nextexplorer-config
namespace: nextexplorer
spec:
accessModes:
- ReadWriteMany
storageClassName: csismb-nextexplorer-config
resources:
requests:
storage: 1Gi
@@ -0,0 +1,12 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: csismb-nextexplorer-storage
namespace: nextexplorer
spec:
accessModes:
- ReadWriteMany
storageClassName: csismb-nextexplorer-storage
resources:
requests:
storage: 1Gi
@@ -0,0 +1,14 @@
apiVersion: bitnami.com/v1alpha1
kind: SealedSecret
metadata:
name: smb-credentials
namespace: nextexplorer
spec:
encryptedData:
password: AgAALnoFrXInmYq1KdcLcjbIyVHO+5GL9j/tDC/iOimKeW+ZfSY0EuXQnyDvk3a6F1qLObHTDv7Ur+aMQlvgZtg/FyAoQuzGYtf0DBgdRqFa0xIkz/zPOE0UaT2Tm1UFCm5TSrqWKlxg+T44z9aOJtW9KdWJEstLThmxVGNBZs5/QLrhWmke/WnDtcBz/GSGqS82YXntAl7kbygoG7/y/TNo91dhgPil7kB1ot7cQAsmCpncAFoWKN3Y1xjfs2zdWi8LqfdI5hNvY43AmOEeIirD+am53OgqsjdeQZ2xi+sTH5bHqLcH6Cjvw2HuKLyiDGnqBdAQhK+fZKwJp/GD3mdUWSrBtt6DHoyrYCBL/Sf0v+P7uyDDhdfMi+O+hZb2sEImKJNbzPTznKwVWL2fmCdiE/ga5pk2nW1YVzPCfAE3JywvtY3KJxyRuaybS9LLGYSC71PRJqZFcPs0gNzecb/YliN+Aexm6g+VXG13MN3o31ldLyk0zuo5/IX8m8KU5dWUH1iS1jN1Af1at6nk5hbJzs2GtxtlvV8AlfA74gRar+R4m6PesVFJ53EHQiqzNmr54yw4MF4hJiP9z82K3UWFlXWOY0YmOBwuAyJogxm+4ULcFAGE/4xrV/jpKHBFkowGBOMuIDBx2gLTG7IJjsRmgLJfhzOIHoVdvkuOvm69JqJIdPkOJTACVLJgZ07wcXYHdFgennlKwEY2r9lIZVdu
username: AgCFLkXZc0goPZNSCDbks1gT84rY4Gp/pWGg+64WAhKyCjq75o3oLJeaiQtXHbdcltFvklUQcXrn5Ee+QXqknZo6yLvD7NmRxJih4XuCQnpfci2ZHybABeQfrD3qSG1dgp2KFNv7BfSlUk++xC+jhOr5wyDG8vfVEORlpYcuVkV0oPJPKq4ujhexTFGlsbY7VKOHgzEmMn/X6e0ExO50qKCNnKBDsrnRwag3looV5CpG6cwvs8A6/jfnW6OMyBFi3I71snl65bZYnPst9nhurGpv8ueaWeUMkAei03UJwDi43P6+M2zU6H9xhTW85AHmaqfTpZUzrOgLXkSnm52J3wYshk/rD2K/kdMO9HL47NNDrzQbaA0gNyi+1xDwdoJ8zwbY1rO475SO6l4MGV/7y6OeM9fzgo5JSBA4aBoy34QBrjZ5OokAuUFZENJDxTIXSESf8Xnk9Eh7MKJXEsehrifc+q1Nw+PIyWHVPRU8LlBMn8VbGvwrbk/mqaq1cv1CgSIZok7c9YTnWTvcMO+2lKu5DFLvC/M4JNnc3x0OxehQbEQjahWz5Hmia1vremJy9TIEP267/bXF5E/ZNH2UxUqxSA8KDXTER1nVO2Yvfjenu2DFdnfCXYN/6URXf7sBWsG5pLfb4qBeVSYEtTT+pI2CfpjcGyGlxGabEDxDgFpDb6PuMuO26geKmlRfflje73V66StczwM=
template:
metadata:
name: smb-credentials
namespace: nextexplorer
type: Opaque
@@ -0,0 +1,12 @@
apiVersion: v1
kind: Service
metadata:
name: nextexplorer
namespace: nextexplorer
spec:
ports:
- protocol: TCP
name: web
port: 3000
selector:
app: nextexplorer