selfoss.yaml 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. ---
  2. apiVersion: v1
  3. kind: Namespace
  4. metadata:
  5. name: selfoss
  6. ---
  7. apiVersion: v1
  8. kind: PersistentVolumeClaim
  9. metadata:
  10. name: selfoss-pvc
  11. namespace: selfoss
  12. labels:
  13. app: selfoss
  14. spec:
  15. storageClassName: ceph-block
  16. accessModes:
  17. - ReadWriteOnce
  18. resources:
  19. requests:
  20. storage: 2Gi
  21. ---
  22. apiVersion: apps/v1
  23. kind: Deployment
  24. metadata:
  25. name: selfoss
  26. namespace: selfoss
  27. spec:
  28. selector:
  29. matchLabels:
  30. app: selfoss
  31. replicas: 1
  32. template:
  33. metadata:
  34. labels:
  35. app: selfoss
  36. spec:
  37. containers:
  38. - name: selfoss
  39. image: jibby0/selfoss:2.18
  40. ports:
  41. - containerPort: 8888
  42. name: http-web-svc
  43. volumeMounts:
  44. - mountPath: "/selfoss/data"
  45. name: data
  46. env:
  47. - name: CRON_PERIOD
  48. value: 5m
  49. livenessProbe:
  50. httpGet:
  51. path: /
  52. port: 8888
  53. failureThreshold: 10
  54. initialDelaySeconds: 30
  55. periodSeconds: 10
  56. volumes:
  57. - name: data
  58. persistentVolumeClaim:
  59. claimName: selfoss-pvc
  60. ---
  61. apiVersion: v1
  62. kind: Service
  63. metadata:
  64. name: selfoss-service
  65. namespace: selfoss
  66. spec:
  67. selector:
  68. app: selfoss
  69. type: ClusterIP
  70. ports:
  71. - name: selfoss-web-port
  72. protocol: TCP
  73. port: 8888
  74. targetPort: http-web-svc
  75. ---
  76. apiVersion: traefik.containo.us/v1alpha1
  77. kind: IngressRoute
  78. metadata:
  79. name: selfoss
  80. namespace: selfoss
  81. spec:
  82. entryPoints:
  83. - websecure
  84. routes:
  85. - kind: Rule
  86. match: Host(`selfoss.jibby.org`)
  87. services:
  88. - kind: Service
  89. name: selfoss-service
  90. port: 8888