diff --git a/apps/base/mastodon/release.yaml b/apps/base/mastodon/release.yaml
index 801d2383854b56c88a8c5453da37bc1002505a3f..1cdcc500c88aa7e81721dac2ab4d5fcde9e6cf50 100644
--- a/apps/base/mastodon/release.yaml
+++ b/apps/base/mastodon/release.yaml
@@ -9,12 +9,18 @@ spec:
   releaseName: mastodon
   chart:
     spec:
-      chart: ./chart/
+      chart: ./charts/mastodon
       sourceRef:
         kind: GitRepository
-        name: mastodon
-        namespace: mastodon
-  interval: 5m
+        name: flux-system
+        namespace: flux-system
+  install:
+    remediation:
+      retries: -1
+  upgrade:
+    remediation:
+      retries: -1
+  interval: 15m
   valuesFrom:
     - kind: ConfigMap
       name: mastodon-base-values
@@ -67,46 +73,13 @@ spec:
                     secretName: namespace-ca
                     optional: false
         patchesStrategicMerge:
-          - kind: Deployment
-            apiVersion: apps/v1
-            metadata:
-              name: mastodon-streaming
-            spec:
-              replicas: 2
-              template:
-                spec:
-                  affinity:
-                    podAntiAffinity:
-                      requiredDuringSchedulingIgnoredDuringExecution:
-                         - labelSelector:
-                             matchLabels:
-                               app.kubernetes.io/component: streaming
-                           topologyKey: kubernetes.io/hostname
-          - kind: Deployment
-            apiVersion: apps/v1
-            metadata:
-              name: mastodon-web
-            spec:
-              replicas: 2
-              template:
-                spec:
-                  affinity:
-                    podAntiAffinity:
-                      requiredDuringSchedulingIgnoredDuringExecution:
-                        - labelSelector:
-                            matchLabels:
-                              app.kubernetes.io/component: web
-                              app.kubernetes.io/part-of: rails
-                          topologyKey: kubernetes.io/hostname
           - kind: ConfigMap
             apiVersion: v1
             metadata:
               name: mastodon-env
             data:
-              AUTHORIZED_FETCH: "true"
               DB_SSLMODE: "prefer"
               TRUSTED_PROXY_IP: '10.1.0.0/16' # Pod Subnet
-              OMNIAUTH_ONLY: "true"
 ---
 apiVersion: v1
 kind: ConfigMap
@@ -123,6 +96,61 @@ data:
       auth:
         database: mastodon
     mastodon:
+      sidekiq:
+        resources:
+          limits:
+            cpu: "500"
+            memory: 1Gi
+          requests:
+            cpu: 50m
+            memory: 512Mi
+        workers:
+          - name: scheduler
+            concurrency: 25
+            replicas: 1
+            queues:
+              - scheduler
+          - name: all-jobs
+            concurrency: 25
+            replicas: 2
+            queues:
+              - mailers
+              - push
+              - pull
+              - default
+      streaming:
+        replicas: 2
+        resources:
+          limits:
+            cpu: 500m
+            memory: 512Mi
+          requests:
+            cpu: 100m
+            memory: 256Mi
+        affinity:
+          podAntiAffinity:
+            requiredDuringSchedulingIgnoredDuringExecution:
+              - labelSelector:
+                  matchLabels:
+                    app.kubernetes.io/component: streaming
+                topologyKey: kubernetes.io/hostname
+      web:
+        replicas: 2
+        resources:
+          limits:
+            cpu: 1500m
+            memory: 1280Mi
+          requests:
+            cpu: 200m
+            memory: 768Mi
+        affinity:
+          podAntiAffinity:
+            requiredDuringSchedulingIgnoredDuringExecution:
+              - labelSelector:
+                  matchLabels:
+                      app.kubernetes.io/component: web 
+                      app.kubernetes.io/part-of: rails
+                topologyKey: kubernetes.io/hostname
       persistence:
         assets:
           accessMode: ReadWriteMany
@@ -132,13 +160,6 @@ data:
       enabled: false
     ingress:
       enabled: false
-    resources:
-      limits:
-        cpu: 1500m
-        memory: 1280Mi
-      requests:
-        cpu: 200m
-        memory: 768Mi
     redis:
       master:
         resources:
diff --git a/apps/base/mastodon/repository.yaml b/apps/base/mastodon/repository.yaml
deleted file mode 100644
index a2010d28539830841d3f8d4736fd9e171bb858ea..0000000000000000000000000000000000000000
--- a/apps/base/mastodon/repository.yaml
+++ /dev/null
@@ -1,16 +0,0 @@
----
-apiVersion: source.toolkit.fluxcd.io/v1beta2
-kind: GitRepository
-metadata:
-  name: mastodon
-  namespace: mastodon
-spec:
-  interval: 5m0s
-  url: https://git.shivering-isles.com/github-mirror/mastodon/mastodon
-  ref:
-    branch: main
-  ignore: |
-    # exclude all
-    /*
-    # Only allow helm chart
-    !/chart/
diff --git a/apps/k8s01/mastodon/mastodon-values.yaml b/apps/k8s01/mastodon/mastodon-values.yaml
index a4d0b9f5a67d2f9ad52f0edf4b360b5c94984ba8..a610027aa75412ddf86769c1a9b8ea612942f6f0 100644
--- a/apps/k8s01/mastodon/mastodon-values.yaml
+++ b/apps/k8s01/mastodon/mastodon-values.yaml
@@ -5,15 +5,15 @@ metadata:
     namespace: mastodon
 type: Opaque
 stringData:
-    values-overrides.yaml: ENC[AES256_GCM,data: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,iv:WjBTF0r8cE9H1/4VSCNNqZJakuuASDmr4xROFSsH8hg=,tag:4BZernyA8J6FdK16PV1hhA==,type:str]
+    values-overrides.yaml: ENC[AES256_GCM,data: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,iv:SbUv/Gn2eZ3BuZfKyr/B+gWC0iH0esjr9CR0bwPgdmo=,tag:WMH9+hO2I0vkOGHTsCC7IA==,type:str]
 sops:
     kms: []
     gcp_kms: []
     azure_kv: []
     hc_vault: []
     age: []
-    lastmodified: "2022-11-07T21:06:12Z"
-    mac: ENC[AES256_GCM,data:2nr45dK6duHZxI7nP8o2QXC3OB23+VhrYD/tcIq39eCH2ZT9Tk6Uf1oAaC5SjlTTnde51yaNuN0OfhNYDJSYmN6+jRWHJJsK5pltVpZ79ZZ2cV/V8b12UjRlw2ReWaOzoJU7J/WVxIx+4UCA2R/g7+DHpPz58yAwlHaQkOjbGTU=,iv:7aVp/OEshbdug9bvFzwzxOSjofKjXlCyX2zRqcgbmyE=,tag:Q1+VsQEMFLTvgl49kYmvcA==,type:str]
+    lastmodified: "2022-11-15T03:54:59Z"
+    mac: ENC[AES256_GCM,data:7PGBmO3DYNNsHw2W1aF472PCw3nSKEym6coQigecFQt7X87e12GZDzuwVT/q5xdUe+PsTujjNoh061hZgwy9kUQ4WjRdJpAe5Jb1qPPFaWaNXf1clF7PWVS4F5RkNUhqOf2vj1cJlF4viMeEXst0PVtgSpSYbCRAIlz9P2rbzuE=,iv:lwSIZYQqDF42bdbUb0Qer+2r2wdYiz5zCqXHnLDkvhQ=,tag:s7siVNjqhvAbY47COO1vhw==,type:str]
     pgp:
         - created_at: "2022-03-22T22:26:35Z"
           enc: |-