diff --git a/basic/apps/code/ingress-gitea.yaml b/basic/apps/code/ingress-gitea.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..e4a33a9e1bf08d28ffba4c61a4ed5668725cb34d
--- /dev/null
+++ b/basic/apps/code/ingress-gitea.yaml
@@ -0,0 +1,7 @@
+apiVersion: v1
+kind: ConfigMap
+metadata:
+  name: tcp-services
+  namespace: stackspout
+data:
+  22: "gitea:22"
diff --git a/basic/apps/code/metallb-gitea.yaml b/basic/apps/code/metallb-gitea.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..176a611c1fa7a6ed804f33afe3cf59ffe1ce1dd5
--- /dev/null
+++ b/basic/apps/code/metallb-gitea.yaml
@@ -0,0 +1,18 @@
+# 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