Add syncthing

This commit is contained in:
jb 2025-09-04 01:04:11 +10:00
parent 2e41c4cebb
commit 1b08ce19c8

View file

@ -0,0 +1,100 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: syncthing
namespace: home-server
labels:
app: syncthing
spec:
replicas: 1
selector:
matchLabels:
app: syncthing
template:
metadata:
labels:
app: syncthing
spec:
containers:
- name: syncthing
image: linuxserver/syncthing:latest
imagePullPolicy: Always
ports:
- containerPort: 8384 # Web GUI
- containerPort: 22000 # Sync TCP
- containerPort: 22000 # Sync UDP (same port, different protocol)
protocol: UDP
- containerPort: 21027 # Local discovery
protocol: UDP
env:
- name: PUID
value: "1000"
- name: PGID
value: "1000"
- name: TZ
value: "Australia/Sydney"
volumeMounts:
- name: config
mountPath: /config
- name: data
mountPath: /data
volumes:
- name: config
hostPath:
path: /dpool/services/syncthing/config
type: DirectoryOrCreate
- name: data
hostPath:
path: /dpool/services/syncthing/data
type: DirectoryOrCreate
---
apiVersion: v1
kind: Service
metadata:
name: syncthing
namespace: home-server
spec:
selector:
app: syncthing
ports:
- name: web
port: 8384
targetPort: 8384
- name: sync-tcp
port: 22000
targetPort: 22000
protocol: TCP
- name: sync-udp
port: 22000
targetPort: 22000
protocol: UDP
- name: discovery
port: 21027
targetPort: 21027
protocol: UDP
type: ClusterIP
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: syncthing
namespace: home-server
annotations:
external-dns.alpha.kubernetes.io/hostname: syncthing.hxme.net
spec:
tls:
- hosts:
- syncthing.hxme.net
secretName: wildcard-hxme-net
rules:
- host: syncthing.hxme.net
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: syncthing
port:
number: 8384