cluster

Infrastructure files for Nordgedanken and Midnightthoughts.
git clone git://archive.git.mtrnord.blog/MTRNord/cluster.git
Log | Files | Refs | README

release.yaml (4437B)


      1 apiVersion: v1
      2 kind: PersistentVolumeClaim
      3 metadata:
      4   name: local-data-matrix-media-repo-postgresql-1
      5   namespace: matrix
      6   labels:
      7     app: postgresql
      8     release: matrix-media-repo
      9     role: master
     10 spec:
     11   accessModes:
     12     - ReadWriteOnce
     13   volumeMode: Filesystem
     14   resources:
     15     requests:
     16       storage: 16Gi
     17   storageClassName: nfs-client
     18 ---
     19 apiVersion: helm.toolkit.fluxcd.io/v2
     20 kind: HelmRelease
     21 metadata:
     22   name: matrix-media-repo
     23   namespace: matrix
     24 spec:
     25   releaseName: matrix-media-repo
     26   chart:
     27     spec:
     28       chart: matrix-media-repo
     29       sourceRef:
     30         kind: HelmRepository
     31         name: ananace-charts
     32   interval: 50m
     33   install:
     34     remediation:
     35       retries: 3
     36   values:
     37     replicaCount: 1
     38     image:
     39       repository: ghcr.io/t2bot/matrix-media-repo
     40       tag: v1.3.8
     41       #      pullPolicy: Always
     42     podmonitor:
     43       enabled: true
     44     config:
     45       metrics:
     46         enabled: true
     47         bindAddress: "0.0.0.0"
     48         port: 9000
     49       datastores:
     50         - type: file
     51           id: 15f18489315d4638cbe188248bab971822ec7f7e
     52           enabled: true
     53           forKinds: ["all"]
     54           opts:
     55             path: /media
     56       federation:
     57         backoffAt: 20
     58       timeouts:
     59         urlPreviewTimeoutSeconds: 10
     60         federationTimeoutSeconds: 120
     61         clientServerTimeoutSeconds: 30
     62       featureSupport:
     63         MSC2448:
     64           enabled: true
     65           maxWidth: 1024
     66           maxHeight: 1024
     67           thumbWidth: 64
     68           thumbHeight: 64
     69           xComponents: 4
     70           yComponents: 3
     71           punch: 1
     72       quarantine:
     73         replaceThumbnails: true
     74         replaceDownloads: false
     75         thumbnailPath: ""
     76         allowLocalAdmins: true
     77       identicons:
     78         enabled: true
     79       thumbnails:
     80         maxSourceBytes: 1048576000
     81         numWorkers: 10
     82         maxPixels: 1048576000
     83         sizes:
     84           - width: 32
     85             height: 32
     86           - width: 96
     87             height: 96
     88           - width: 320
     89             height: 240
     90           - width: 640
     91             height: 480
     92           - width: 768
     93             height: 240
     94           - width: 800
     95             height: 600
     96           - width: 1000000
     97             height: 1000000
     98         dynamicSizing: true
     99         types:
    100           - "image/jpeg"
    101           - "image/jpg"
    102           - "image/png"
    103           - "image/gif"
    104           - "image/heif"
    105           - "image/webp"
    106           - "image/svg+xml"
    107           - "audio/mpeg"
    108           - "audio/ogg"
    109           - "audio/wav"
    110           - "audio/flac"
    111           - "video/mp4"
    112         allowAnimated: true
    113         defaultAnimated: true
    114         maxAnimateSizeBytes: 10485760
    115         stillFrame: 0.5
    116         expireAfterDays: 0
    117       urlPreviews:
    118         enabled: true
    119         maxPageSizeBytes: 10485760
    120         previewUnsafeCertificates: false
    121         numWords: 50
    122         maxLength: 200
    123         numTitleWords: 30
    124         maxTitleLength: 150
    125         filePreviewTypes:
    126           - "image/*"
    127         numWorkers: 10
    128         disallowedNetworks:
    129           - 127.0.0.1/8
    130           - 10.0.0.0/8
    131           - 172.16.0.0/12
    132           - 192.168.0.0/16
    133           - 100.64.0.0/10
    134           - 169.254.0.0/16
    135           - ::1/128
    136           - fe80::/64
    137           - fc00::/7
    138         allowedNetworks:
    139           - 0.0.0.0/0
    140           - "::/0"
    141         expireAfterDays: 10
    142         defaultLanguage: en-US,en
    143         oEmbed: true
    144       downloads:
    145         maxBytes: 104857600
    146         numWorkers: 10
    147         failureCacheMinutes: 5
    148         cache:
    149           enabled: true
    150           maxSizeBytes: 1048576000
    151           maxFileSizeBytes: 1048576000
    152           trackedMinutes: 30
    153           minDownloads: 2
    154           minCacheTimeSeconds: 300
    155           minEvictedTimeSeconds: 60
    156         expireAfterDays: 14
    157       uploads:
    158         maxBytes: 1048576000
    159         minBytes: 100
    160         reportedMaxBytes: 0
    161     postgresql:
    162       volumePermissions:
    163         enabled: true
    164       primary:
    165         persistence:
    166           size: 16G
    167     extraRepo:
    168       useForwardedHost: false
    169       #jsonLogs: true
    170       logLevel: "debug"
    171     redis:
    172       architecture: standalone
    173       auth:
    174         enabled: false
    175       commonConfiguration: |-
    176         # Enable AOF https://redis.io/topics/persistence#append-only-file
    177         appendonly yes
    178         # Disable RDB persistence, AOF persistence already enabled.
    179         save ""
    180         # Set maxmemory
    181         maxmemory 1gb
    182         # Make sure we clear stuff properly
    183         maxmemory-policy allkeys-lfu