diff --git a/basic/infrastructure/kustomizations/forgejo-kustomization.yaml b/basic/infrastructure/kustomizations/forgejo-kustomization.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..85224c5961b75b57b8e57927608c8b13849d60b7
--- /dev/null
+++ b/basic/infrastructure/kustomizations/forgejo-kustomization.yaml
@@ -0,0 +1,25 @@
+apiVersion: kustomize.toolkit.fluxcd.io/v1beta2
+kind: Kustomization
+metadata:
+  name: forgejo
+  namespace: flux-system
+spec:
+  interval: 10m
+  retryInterval: 1m
+  wait: true
+  timeout: 3m
+  dependsOn:
+    - name: single-sign-on
+  sourceRef:
+    kind: GitRepository
+    name: stackspout
+  path: ./basic/apps/forge
+  prune: true
+  postBuild:
+    substituteFrom:
+      #- kind: Secret
+      #  name: stackspin-forgejo-variables
+      - kind: Secret
+        name: stackspin-forgejo-oauth-variables
+      - kind: Secret
+        name: stackspin-cluster-variables
diff --git a/basic/infrastructure/sources/forgejo.yaml b/basic/infrastructure/sources/forgejo.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..922f29574e07c01eceadef46f2f7432609f07335
--- /dev/null
+++ b/basic/infrastructure/sources/forgejo.yaml
@@ -0,0 +1,8 @@
+apiVersion: source.toolkit.fluxcd.io/v1beta1
+kind: HelmRepository
+metadata:
+  name: forgejo
+  namespace: flux-system
+spec:
+  interval: 60m
+  url: oci://codeberg.org/forgejo-contrib/forgejo