home-server/deployments/home-server/samba.yaml

95 lines
1.9 KiB
YAML
Raw Normal View History

2025-07-12 21:17:49 +10:00
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: smb-share-pv
spec:
capacity:
storage: 10Gi
accessModes:
- ReadWriteMany
storageClassName: local-path
persistentVolumeReclaimPolicy: Retain
hostPath:
path: /dpool/
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: smb-share-pvc
namespace: home-server
spec:
accessModes:
- ReadWriteMany
storageClassName: local-path
resources:
requests:
storage: 10Gi
volumeName: smb-share-pv
---
apiVersion: v1
kind: Service
metadata:
name: smb-server
namespace: home-server
spec:
selector:
app: smb-server
ports:
- name: smb
port: 445
targetPort: 445
- name: netbios
port: 139
targetPort: 139
type: NodePort # Use ClusterIP or LoadBalancer depending on access requirements
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: smb-server
namespace: home-server
spec:
replicas: 1
selector:
matchLabels:
app: smb-server
template:
metadata:
labels:
app: smb-server
spec:
containers:
- name: samba
image: dperson/samba
env:
- name: SMB_USER
valueFrom:
secretKeyRef:
name: smb-credentials
key: username
- name: SMB_PASS
valueFrom:
secretKeyRef:
name: smb-credentials
key: password
2025-07-12 21:17:49 +10:00
args:
- -u
- "$(SMB_USER);$(SMB_PASS)"
2025-07-12 21:17:49 +10:00
- -s
- "share;/mount;yes;no;no;$(SMB_USER)"
2025-07-12 21:17:49 +10:00
ports:
- containerPort: 139
- containerPort: 445
securityContext:
capabilities:
add: ["NET_ADMIN"]
volumeMounts:
- name: share
mountPath: /mount
volumes:
- name: share
persistentVolumeClaim:
claimName: smb-share-pvc