
---
apiVersion: v1
kind: ConfigMap
metadata:
name: filebrowser-config
namespace: filesserver
data:
settings.json: |
{
"port": 8080,
"root": "/volumes",
"address": "0.0.0.0",
"database": "/database/filebrowser.db",
"log": "stdout",
"allowEdit": true,
"allowNew": true,
"allowCommands": true,
"allowPerms": true,
"local":"zh-cn",
"auth": {
"method": "password",
"username": "admin",
"password": "$FILEBROWSER_PASSWORD"
}
}
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: filebrowser
namespace: filesserver
spec:
replicas: 1
selector:
matchLabels:
app: filebrowser
template:
metadata:
labels:
app: filebrowser
spec:
containers:
- name: filebrowser
image: filebrowser/filebrowser:v2-s6-arm64
ports:
- containerPort: 8080 # 声明容器端口
env:
- name: FILEBROWSER_PASSWORD
valueFrom:
secretKeyRef:
name: filebrowser-secret
key: password
volumeMounts:
- name: data
mountPath: /volumes
- name: config
mountPath: /config/settings.json # 直接覆盖配置文件
subPath: settings.json
resources:
requests:
cpu: 200m
memory: 256Mi
limits:
cpu: 1000m
memory: 2Gi
volumes:
- name: data
persistentVolumeClaim:
claimName: ai-pvc-nfs
- name: config
configMap:
name: filebrowser-config
---
apiVersion: v1
kind: Service
metadata:
name: filebrowser-svc
namespace: filesserver
spec:
selector:
app: filebrowser
type: NodePort
ports:
- port: 80
targetPort: 8080
nodePort: 30088 # 你可以根据需要改端口