diff --git a/apps/code/gitea-kustomization.yaml b/apps/code/gitea-kustomization.yaml
deleted file mode 100644
index 12ceb543b63693c3d4ca0d0b04c8dc1d2a0a81c4..0000000000000000000000000000000000000000
--- a/apps/code/gitea-kustomization.yaml
+++ /dev/null
@@ -1,25 +0,0 @@
-apiVersion: kustomize.toolkit.fluxcd.io/v1beta2
-kind: Kustomization
-metadata:
-  name: gitea
-  namespace: flux-system
-spec:
-  interval: 10m
-  retryInterval: 2m
-  wait: true
-  timeout: 3m
-  dependsOn:
-    - name: single-sign-on
-  sourceRef:
-    kind: GitRepository
-    name: stackspout
-  path: ./apps/code
-  prune: true
-  postBuild:
-    substituteFrom:
-      #- kind: Secret
-      #  name: stackspin-gitea-variables
-      - kind: Secret
-        name: stackspin-gitea-oauth-variables
-      - kind: Secret
-        name: stackspin-cluster-variables
diff --git a/apps/code/gitea-secrets/gitea-oauth-secret.yaml b/apps/code/gitea-secrets/gitea-oauth-secret.yaml
deleted file mode 100644
index 9117d44f368b44fa4a082c147166e6f01777ff1c..0000000000000000000000000000000000000000
--- a/apps/code/gitea-secrets/gitea-oauth-secret.yaml
+++ /dev/null
@@ -1,12 +0,0 @@
----
-apiVersion: secretgenerator.mittwald.de/v1alpha1
-kind: StringSecret
-metadata:
-  name: stackspin-gitea-oauth-variables
-  namespace: flux-system
-spec:
-  data:
-    client_id: gitea
-  fields:
-  - fieldName: client_secret
-    length: "32"
diff --git a/apps/code/gitea-secrets/gitea-variables.yaml b/apps/code/gitea-secrets/gitea-variables.yaml
deleted file mode 100644
index f629e7d9cf05f0ce564dc13e0ad4d7fa62988670..0000000000000000000000000000000000000000
--- a/apps/code/gitea-secrets/gitea-variables.yaml
+++ /dev/null
@@ -1,11 +0,0 @@
----
-apiVersion: secretgenerator.mittwald.de/v1alpha1
-kind: StringSecret
-metadata:
-  name: stackspin-gitea-variables
-  namespace: flux-system
-spec:
-  fields:
-  - fieldName: gitea_mariadb_password
-  - fieldName: gitea_mariadb_root_password
-  - fieldName: gitea_session_secret
diff --git a/apps/code/gitea/gitea-data-pvc.yaml b/apps/code/gitea/gitea-data-pvc.yaml
deleted file mode 100644
index f6278dd4a611ebaa99cf16522dcf450c6632878a..0000000000000000000000000000000000000000
--- a/apps/code/gitea/gitea-data-pvc.yaml
+++ /dev/null
@@ -1,15 +0,0 @@
-apiVersion: v1
-kind: PersistentVolumeClaim
-metadata:
-  name: gitea-data
-  namespace: stackspout
-  labels:
-    stackspin.net/backupSet: "gitea"
-spec:
-  accessModes:
-    - ReadWriteOnce
-  volumeMode: Filesystem
-  resources:
-    requests:
-      storage: 2Gi
-  storageClassName: local-path
diff --git a/apps/code/gitea/gitea-oauth-client.yaml b/apps/code/gitea/gitea-oauth-client.yaml
deleted file mode 100644
index 95b6f353b4f9fd0215323d169f17e9f560600b5f..0000000000000000000000000000000000000000
--- a/apps/code/gitea/gitea-oauth-client.yaml
+++ /dev/null
@@ -1,21 +0,0 @@
-apiVersion: hydra.ory.sh/v1alpha1
-kind: OAuth2Client
-metadata:
-  name: gitea-oauth-client
-  # Has to live in the same namespace as the stackspin-*-oauth-variables secret
-  namespace: flux-system
-spec:
-  # TODO copied from wekan: https://github.com/wekan/wekan/wiki/Keycloak
-  grantTypes:
-    - authorization_code
-    - refresh_token
-    - client_credentials
-    - implicit
-  responseTypes:
-    - id_token
-    - code
-  scope: "openid profile email stackspin_roles"
-  secretName: stackspin-gitea-oauth-variables
-  redirectUris:
-    - https://code.${domain}/user/oauth2/Stackspin/callback
-  tokenEndpointAuthMethod: client_secret_post
diff --git a/apps/code/gitea/gitea-postgres-pvc.yaml b/apps/code/gitea/gitea-postgres-pvc.yaml
deleted file mode 100644
index b8a6684fb99f2e1304381e4dd653e4ec87a29806..0000000000000000000000000000000000000000
--- a/apps/code/gitea/gitea-postgres-pvc.yaml
+++ /dev/null
@@ -1,15 +0,0 @@
-apiVersion: v1
-kind: PersistentVolumeClaim
-metadata:
-  name: gitea-postgres
-  namespace: stackspout
-  labels:
-    stackspin.net/backupSet: "gitea"
-spec:
-  accessModes:
-    - ReadWriteOnce
-  volumeMode: Filesystem
-  resources:
-    requests:
-      storage: 2Gi
-  storageClassName: local-path
diff --git a/apps/code/gitea/gitea-release.yaml b/apps/code/gitea/gitea-release.yaml
deleted file mode 100644
index 1871076b45b19c349e201ab0aa466efa03280a33..0000000000000000000000000000000000000000
--- a/apps/code/gitea/gitea-release.yaml
+++ /dev/null
@@ -1,28 +0,0 @@
-apiVersion: helm.toolkit.fluxcd.io/v2beta1
-kind: HelmRelease
-metadata:
-  name: gitea
-  namespace: stackspout
-spec:
-  releaseName: gitea
-  chart:
-    spec:
-      # https://gitea.com/gitea/helm-chart/tags
-      chart: gitea
-      version: 6.0.5
-      sourceRef:
-        kind: HelmRepository
-        name: gitea
-        namespace: flux-system
-  interval: 5m
-  valuesFrom:
-    - kind: ConfigMap
-      name: stackspin-gitea-values
-      optional: false
-    # Allow overriding values by ConfigMap or Secret
-    - kind: ConfigMap
-      name: stackspin-gitea-override
-      optional: true
-    - kind: Secret
-      name: stackspin-gitea-override
-      optional: true
diff --git a/apps/code/gitea/gitea-values-configmap.yaml b/apps/code/gitea/gitea-values-configmap.yaml
deleted file mode 100644
index b96fd30025b6835159fb3f828631bebebe92227b..0000000000000000000000000000000000000000
--- a/apps/code/gitea/gitea-values-configmap.yaml
+++ /dev/null
@@ -1,56 +0,0 @@
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: stackspin-gitea-values
-  namespace: stackspout
-data:
-  values.yaml: |
-    ingress:
-      enabled: true
-      annotations:
-        kubernetes.io/tls-acme: "true"
-        nginx.ingress.kubernetes.io/proxy-body-size: "50m"
-      hosts:
-        - host: "code.${domain}"
-          paths:
-             - path: /
-               pathType: Prefix
-      tls:
-        - secretName: gitea-tls
-          hosts:
-            - "code.${domain}"
-    gitea:
-      # https://gitea.com/gitea/helm-chart/src/branch/main#oauth2-settings
-      oauth:
-        - name: Stackspin
-          provider: "openidConnect"
-          key: "${client_id}"
-          secret: "${client_secret}"
-          autoDiscoverUrl: "https://${hydra_domain}/.well-known/openid-configuration"
-          iconUrl: "https://dashboard.${domain}/favicon-32x32.png"
-      # https://docs.gitea.io/en-us/config-cheat-sheet
-      config:
-        repository:
-          DEFAULT_PUSH_CREATE_PRIVATE: false
-          ENABLE_PUSH_CREATE_USER: true
-          ENABLE_PUSH_CREATE_ORG: true
-        server:
-          ROOT_URL: "https://code.${domain}"
-          LANDING_PAGE: login
-        openid:
-          ENABLE_OPENID_SIGNUP: true
-        service:
-          DISABLE_REGISTRATION: false
-          ALLOW_ONLY_EXTERNAL_REGISTRATION: true
-        log:
-          LEVEL: "Trace"
-    persistence:
-      enabled: true
-      existingClaim: gitea-data
-    postgresql:
-      persistence:
-        enabled: true
-        existingClaim: gitea-postgres
-    service:
-      ssh:
-        hostPort: 22
diff --git a/apps/code/gitea/ingress-gitea.yaml b/apps/code/gitea/ingress-gitea.yaml
deleted file mode 100644
index e4a33a9e1bf08d28ffba4c61a4ed5668725cb34d..0000000000000000000000000000000000000000
--- a/apps/code/gitea/ingress-gitea.yaml
+++ /dev/null
@@ -1,7 +0,0 @@
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: tcp-services
-  namespace: stackspout
-data:
-  22: "gitea:22"
diff --git a/apps/code/gitea/kustomization.yaml b/apps/code/gitea/kustomization.yaml
deleted file mode 100644
index 938a8c1db66a324eb7742c815d04640c190e7bcb..0000000000000000000000000000000000000000
--- a/apps/code/gitea/kustomization.yaml
+++ /dev/null
@@ -1,9 +0,0 @@
-apiVersion: kustomize.config.k8s.io/v1beta1
-kind: Kustomization
-resources:
-  - gitea-release.yaml
-  - gitea-values-configmap.yaml
-  - metallb-gitea.yaml
-  - gitea-oauth-client.yaml
-  - gitea-data-pvc.yaml
-  - gitea-postgres-pvc.yaml
diff --git a/apps/code/gitea/metallb-gitea.yaml b/apps/code/gitea/metallb-gitea.yaml
deleted file mode 100644
index 176a611c1fa7a6ed804f33afe3cf59ffe1ce1dd5..0000000000000000000000000000000000000000
--- a/apps/code/gitea/metallb-gitea.yaml
+++ /dev/null
@@ -1,18 +0,0 @@
-# https://metallb.org/usage/
-apiVersion: v1
-kind: Service
-metadata:
-  name: gitea-ssh
-  namespace: stackspout
-  annotations:
-    metallb.universe.tf/allow-shared-ip: "share-ipv4"
-spec:
-  type: LoadBalancer
-  loadBalancerIP: "${ip_address}"
-  ports:
-    - name: ssh
-      protocol: TCP
-      port: 22
-      targetPort: 22
-  selector:
-    app: gitea
diff --git a/apps/code/kustomization.yaml b/apps/code/kustomization.yaml
deleted file mode 100644
index 065ab6f5ae2e92a984b37372e5edb99f4fec50ad..0000000000000000000000000000000000000000
--- a/apps/code/kustomization.yaml
+++ /dev/null
@@ -1,4 +0,0 @@
-apiVersion: kustomize.config.k8s.io/v1beta1
-kind: Kustomization
-resources:
-  - gitea-kustomization.yaml
diff --git a/apps/forge/forgejo/forgejo-values-configmap.yaml b/apps/forge/forgejo/forgejo-values-configmap.yaml
index 433f3845dac6b4d10ff2fe302d5b4e06067570d3..45146fdb9b3c7af432548ab8c43e93489f3f8925 100644
--- a/apps/forge/forgejo/forgejo-values-configmap.yaml
+++ b/apps/forge/forgejo/forgejo-values-configmap.yaml
@@ -140,4 +140,4 @@ data:
       type: 'RollingUpdate'
       rollingUpdate:
         maxSurge: '25%'
-        maxUnavailable: '25%'
+        maxUnavailable: '100%'
diff --git a/apps/video/peertube/peertube-values-configmap.yaml b/apps/video/peertube/peertube-values-configmap.yaml
index 44054dbbac3b5adad7cb952f6f05ba96b1c2d0cb..bef78190a6c5712811389171fbb8b1a34e01c65c 100644
--- a/apps/video/peertube/peertube-values-configmap.yaml
+++ b/apps/video/peertube/peertube-values-configmap.yaml
@@ -5,6 +5,7 @@ metadata:
   namespace: stackspout
 data:
   values.yaml: |
+    # https://git.lecygnenoir.info/LecygneNoir/peertube-helm/src/branch/master/values.yaml
     commonLabels:
       stackspin.net/backupSet: "peertube"
     podLabels:
diff --git a/infrastructure/sources/gitea.yaml b/infrastructure/sources/gitea.yaml
deleted file mode 100644
index 5b5eb40ad6d15bf8bbf8e213474d924dbad086b3..0000000000000000000000000000000000000000
--- a/infrastructure/sources/gitea.yaml
+++ /dev/null
@@ -1,8 +0,0 @@
-apiVersion: source.toolkit.fluxcd.io/v1beta2
-kind: HelmRepository
-metadata:
-  name: gitea
-  namespace: flux-system
-spec:
-  interval: 60m
-  url: https://dl.gitea.io/charts/