diff --git a/core/installer/app.go b/core/installer/app.go
index c7aa231..2f702d8 100644
--- a/core/installer/app.go
+++ b/core/installer/app.go
@@ -20,6 +20,7 @@
 		log.Fatal(err)
 	}
 	return []App{
+		// CreateAppIngressPublic(tmpls),
 		CreateAppIngressPrivate(tmpls),
 		CreateAppCoreAuth(tmpls),
 		CreateAppVaultwarden(tmpls),
@@ -28,6 +29,17 @@
 		CreateAppMaddy(tmpls),
 		CreateAppQBittorrent(tmpls),
 		CreateAppJellyfin(tmpls),
+		CreateAppRpuppy(tmpls),
+		CreateAppHeadscale(tmpls),
+	}
+}
+
+func CreateAppIngressPublic(tmpls *template.Template) App {
+	return App{
+		"ingress-public",
+		[]*template.Template{
+			tmpls.Lookup("ingress-public.yaml"),
+		},
 	}
 }
 
@@ -35,7 +47,7 @@
 	return App{
 		"ingress-private",
 		[]*template.Template{
-			tmpls.Lookup("vpn-mesh-config.yaml"),
+			// tmpls.Lookup("vpn-mesh-config.yaml"),
 			tmpls.Lookup("ingress-private.yaml"),
 			tmpls.Lookup("certificate-issuer.yaml"),
 		},
@@ -106,3 +118,21 @@
 		},
 	}
 }
+
+func CreateAppRpuppy(tmpls *template.Template) App {
+	return App{
+		"rpuppy",
+		[]*template.Template{
+			tmpls.Lookup("rpuppy.yaml"),
+		},
+	}
+}
+
+func CreateAppHeadscale(tmpls *template.Template) App {
+	return App{
+		"headscale",
+		[]*template.Template{
+			tmpls.Lookup("headscale.yaml"),
+		},
+	}
+}
