tronbyt.yaml 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. ---
  2. apiVersion: v1
  3. kind: Namespace
  4. metadata:
  5. name: tronbyt
  6. ---
  7. apiVersion: apps/v1
  8. kind: Deployment
  9. metadata:
  10. name: tronbyt
  11. namespace: tronbyt
  12. spec:
  13. strategy:
  14. type: Recreate
  15. selector:
  16. matchLabels:
  17. app: tronbyt
  18. replicas: 1
  19. template:
  20. metadata:
  21. labels:
  22. app: tronbyt
  23. annotations:
  24. backup.velero.io/backup-volumes-excludes: tronbyt,seedbox,scratch
  25. spec:
  26. containers:
  27. - name: tronbyt
  28. image: ghcr.io/tronbyt/server:latest
  29. imagePullPolicy: Always
  30. ports:
  31. - containerPort: 8000
  32. name: http-web-svc
  33. env:
  34. - name: SERVER_HOSTNAME
  35. value: tronbyt.jibby.org
  36. - name: SERVER_PORT
  37. value: "8000"
  38. - name: PRODUCTION
  39. value: "1"
  40. - name: TZ
  41. value: America/New_York
  42. volumeMounts:
  43. - mountPath: "/app/data"
  44. name: data
  45. subPath: data
  46. - mountPath: "/app/users"
  47. name: data
  48. subPath: users
  49. volumes:
  50. - name: data
  51. persistentVolumeClaim:
  52. claimName: tronbyt-pvc
  53. ---
  54. apiVersion: v1
  55. kind: Service
  56. metadata:
  57. name: tronbyt-service
  58. namespace: tronbyt
  59. spec:
  60. selector:
  61. app: tronbyt
  62. type: ClusterIP
  63. ports:
  64. - name: tronbyt-web-port
  65. protocol: TCP
  66. port: 8000
  67. targetPort: http-web-svc
  68. ---
  69. apiVersion: networking.k8s.io/v1
  70. kind: Ingress
  71. metadata:
  72. name: tronbyt
  73. namespace: tronbyt
  74. annotations:
  75. traefik.ingress.kubernetes.io/router.entrypoints: websecure
  76. spec:
  77. rules:
  78. - host: tronbyt.jibby.org
  79. http:
  80. paths:
  81. - path: /
  82. pathType: Prefix
  83. backend:
  84. service:
  85. name: tronbyt-service
  86. port:
  87. number: 8000