filebrowser
This commit is contained in:
128
samba-files/filebrowser.yaml
Normal file
128
samba-files/filebrowser.yaml
Normal file
@@ -0,0 +1,128 @@
|
|||||||
|
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: filebrowser-db
|
||||||
|
namespace: samba-files
|
||||||
|
spec:
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteMany
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: 4Gi
|
||||||
|
storageClassName: cephfs-hyper
|
||||||
|
---
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: filebrowser
|
||||||
|
namespace: samba-files
|
||||||
|
labels:
|
||||||
|
app: filebrowser
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: filebrowser
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: filebrowser
|
||||||
|
spec:
|
||||||
|
initContainers:
|
||||||
|
- name: init-filebrowser-db
|
||||||
|
image: filebrowser/filebrowser:latest
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
env:
|
||||||
|
- name: FB_USERNAME
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: filebrowser-admin
|
||||||
|
key: username
|
||||||
|
- name: FB_PASSWORD
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: filebrowser-admin
|
||||||
|
key: password
|
||||||
|
command:
|
||||||
|
- sh
|
||||||
|
- -ec
|
||||||
|
- |
|
||||||
|
mkdir -p /database
|
||||||
|
|
||||||
|
if [ ! -f /database/database.db ]; then
|
||||||
|
touch /database/database.db
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Bootstrap base config in the DB
|
||||||
|
filebrowser -d /database/database.db config set \
|
||||||
|
--address 0.0.0.0 \
|
||||||
|
--port 80 \
|
||||||
|
--root /srv
|
||||||
|
|
||||||
|
# Create admin if missing, otherwise update password
|
||||||
|
if filebrowser -d /database/database.db users ls | grep -q "^${FB_USERNAME}[[:space:]]"; then
|
||||||
|
filebrowser -d /database/database.db users update "${FB_USERNAME}" --password "${FB_PASSWORD}" --perm.admin
|
||||||
|
else
|
||||||
|
filebrowser -d /database/database.db users add "${FB_USERNAME}" "${FB_PASSWORD}" --perm.admin
|
||||||
|
fi
|
||||||
|
|
||||||
|
ls -la /database
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /database
|
||||||
|
name: filebrowser-db
|
||||||
|
- mountPath: /srv
|
||||||
|
name: filebrowser-data
|
||||||
|
|
||||||
|
containers:
|
||||||
|
- name: filebrowser
|
||||||
|
image: filebrowser/filebrowser:latest
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
args:
|
||||||
|
- --database
|
||||||
|
- /database/database.db
|
||||||
|
- --root
|
||||||
|
- /srv
|
||||||
|
- --address
|
||||||
|
- 0.0.0.0
|
||||||
|
- --port
|
||||||
|
- "80"
|
||||||
|
ports:
|
||||||
|
- containerPort: 80
|
||||||
|
name: http
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /srv
|
||||||
|
name: filebrowser-data
|
||||||
|
- mountPath: /database
|
||||||
|
name: filebrowser-db
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- name: filebrowser-data
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: samba-files-data
|
||||||
|
- name: filebrowser-db
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: filebrowser-db
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: filebrowser
|
||||||
|
namespace: samba-files
|
||||||
|
labels:
|
||||||
|
app: filebrowser
|
||||||
|
spec:
|
||||||
|
type: ClusterIP
|
||||||
|
internalTrafficPolicy: Cluster
|
||||||
|
ipFamilies:
|
||||||
|
- IPv6
|
||||||
|
- IPv4
|
||||||
|
ipFamilyPolicy: PreferDualStack
|
||||||
|
selector:
|
||||||
|
app: filebrowser
|
||||||
|
sessionAffinity: None
|
||||||
|
ports:
|
||||||
|
- name: http
|
||||||
|
port: 80
|
||||||
|
protocol: TCP
|
||||||
|
targetPort: 80
|
||||||
@@ -7,4 +7,14 @@ type: Opaque
|
|||||||
stringData:
|
stringData:
|
||||||
username: "shodan"
|
username: "shodan"
|
||||||
password: "4IsTheMindKiller"
|
password: "4IsTheMindKiller"
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: filebrowser-admin
|
||||||
|
namespace: samba-files
|
||||||
|
type: Opaque
|
||||||
|
stringData:
|
||||||
|
username: admin
|
||||||
|
password: "4IsTheMindKiller"
|
||||||
---
|
---
|
||||||
Reference in New Issue
Block a user