Syncthing++

This commit is contained in:
Danny Bessems 2022-07-17 22:56:59 +02:00
parent bc92ca19b9
commit 406256be95

View File

@ -0,0 +1,95 @@
apiVersion: v1
kind: Service
metadata:
name: syncthing
spec:
ports:
- protocol: TCP
name: web
port: 8384
- protocol: TCP
name: tcp-file-xfer
port: 22000
- protocol: UDP
name: quic-file-xfer
port: 22000
- protocol: UDP
name: discovery
port: 21027
selector:
app: syncthing
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: syncthing
name: syncthing
spec:
replicas: 1
selector:
matchLabels:
app: syncthing
template:
metadata:
labels:
app: syncthing
spec:
hostname: syncthing
containers:
- image: bv11-cr01.bessems.eu/proxy/syncthing/syncthing
name: syncthing
args:
- --no-browser
- --no-default-folder
- --no-restart
ports:
- containerPort: 8384
name: web
- containerPort: 22000
name: tcp-file-xfer
protocol: TCP
- containerPort: 22000
name: quic-file-xfer
protocol: UDP
- containerPort: 21027
name: discovery
protocol: UDP
volumeMounts:
- mountPath: /var/syncthing
name: longhorn-syncthing-data
volumes:
- name: longhorn-syncthing-data
persistentVolumeClaim:
claimName: longhorn-syncthing-data
---
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: syncthing
spec:
entryPoints:
- websecure
routes:
- match: Host(`sync.spamasaurus.com`)
kind: Rule
services:
- name: syncthing
port: 8384
middlewares:
- name: 2fa-authentication@file
- name: security-headers@file
- name: compression@file
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: longhorn-syncthing-data
namespace: default
spec:
accessModes:
- ReadWriteOnce
storageClassName: longhorn
resources:
requests:
storage: 5Gi