matrix.yaml 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. ---
  2. kind: Deployment
  3. apiVersion: apps/v1
  4. metadata:
  5. name: matrix
  6. labels:
  7. app: matrix
  8. spec:
  9. replicas: 1
  10. selector:
  11. matchLabels:
  12. app: matrix
  13. template:
  14. metadata:
  15. labels:
  16. app: matrix
  17. spec:
  18. containers:
  19. - name: matrix
  20. image: ghcr.io/element-hq/synapse
  21. env:
  22. - name: SYNAPSE_SERVER_NAME
  23. value: "matrix.dezendorf.net"
  24. ports:
  25. - name: web
  26. containerPort: 8008
  27. volumeMounts:
  28. - name: "matrix-homeserver-yaml"
  29. mountPath: "/data/homeserver.yaml"
  30. subPath: "matrix-homeserver.yaml"
  31. readOnly: true
  32. volumes:
  33. - name: "matrix-homeserver-yaml"
  34. configMap:
  35. name: "matrix-homeserver-yaml"
  36. ---
  37. apiVersion: v1
  38. kind: Service
  39. metadata:
  40. name: matrix
  41. spec:
  42. type: ClusterIP
  43. ports:
  44. - name: web
  45. port: 8008
  46. selector:
  47. app: matrix
  48. ---
  49. apiVersion: traefik.containo.us/v1alpha1
  50. kind: IngressRoute
  51. metadata:
  52. name: matrix-ingress-route
  53. namespace: default
  54. spec:
  55. entryPoints:
  56. - web
  57. routes:
  58. - match: ((Host(`matrix`)||Host(`matrix.dezendorf.net`)))
  59. kind: Rule
  60. priority: 1
  61. services:
  62. - name: matrix
  63. port: 8008
  64. ---
  65. apiVersion: traefik.containo.us/v1alpha1
  66. kind: IngressRoute
  67. metadata:
  68. name: matrix-websecure-route
  69. namespace: default
  70. spec:
  71. entryPoints:
  72. - websecure
  73. routes:
  74. - match: Host(`matrix.dezendorf.net`)
  75. kind: Rule
  76. services:
  77. - name: matrix
  78. port: 8008
  79. tls:
  80. certResolver: myresolver
  81. ---
  82. apiVersion: v1
  83. kind: ConfigMap
  84. metadata:
  85. name: matrix-homeserver-yaml
  86. namespace: default
  87. data:
  88. matrix-homeserver-yaml: |
  89. # Configuration file for Synapse.
  90. #
  91. # This is a YAML file: see [1] for a quick introduction. Note in particular
  92. # that *indentation is important*: all the elements of a list or dictionary
  93. # should have the same indentation.
  94. #
  95. # [1] https://docs.ansible.com/ansible/latest/reference_appendices/YAMLSyntax.html
  96. #
  97. # For more information on how to configure Synapse, including a complete accounting of
  98. # each option, go to docs/usage/configuration/config_documentation.md or
  99. # https://element-hq.github.io/synapse/latest/usage/configuration/config_documentation.html
  100. server_name: "matrix.dezendorf.net"
  101. pid_file: /homeserver.pid
  102. listeners:
  103. - port: 8008
  104. tls: false
  105. type: http
  106. x_forwarded: true
  107. bind_addresses: ['::1', '127.0.0.1']
  108. resources:
  109. - names: [client, federation]
  110. compress: false
  111. database:
  112. name: sqlite3
  113. args:
  114. database: /homeserver.db
  115. log_config: "/tmp/matrix.dezendorf.net.log.config"
  116. media_store_path: /media_store
  117. registration_shared_secret: "9.^i#+7YXwrC^bzKMqkenOZb;9ra6jV0zgZMvO:EBQ.CipL47k"
  118. report_stats: false
  119. macaroon_secret_key: ".ughvXa0Or.Xv7o5y550cXnTlv.J8*Mq@JAA^1QXuu2bpR@Lpd"
  120. form_secret: "iESBV0d@Tg;4~:v5KT3-UX.Kva@.cbJZ9SNU:nWKubPo:X^*Y-"
  121. signing_key_path: "/tmp/matrix.dezendorf.net.signing.key"
  122. trusted_key_servers:
  123. - server_name: "matrix.org"