diff --git a/core/installer/app.go b/core/installer/app.go
index f8e6d6f..f830455 100644
--- a/core/installer/app.go
+++ b/core/installer/app.go
@@ -13,6 +13,7 @@
 	"cuelang.org/go/cue"
 	"cuelang.org/go/cue/build"
 	"cuelang.org/go/cue/cuecontext"
+	"cuelang.org/go/cue/errors"
 	"cuelang.org/go/cue/load"
 	cueyaml "cuelang.org/go/encoding/yaml"
 	helmv2 "github.com/fluxcd/helm-controller/api/v2"
@@ -342,7 +343,7 @@
 	d := ctx.CompileBytes(buf.Bytes())
 	res := a.cfg.Unify(d).Eval()
 	if err := res.Err(); err != nil {
-		return rendered{}, err
+		return rendered{}, fmt.Errorf(errors.Details(err, nil))
 	}
 	if err := res.Validate(); err != nil {
 		return rendered{}, err
diff --git a/core/installer/app_configs/app_base.cue b/core/installer/app_configs/app_base.cue
index d61bfb3..d43cf0f 100644
--- a/core/installer/app_configs/app_base.cue
+++ b/core/installer/app_configs/app_base.cue
@@ -17,7 +17,7 @@
 	release,
 	global,
 	localCharts,
-					   ])
+])
 // TODO(gio): revisit this logic
 _uuidSorted: strings.Join(list.Sort([for x in strings.Runes(_uuidData) {strconv.QuoteRune(x)}], list.Ascending), "")
 uuid: base64.Encode(null, sha256.Sum256(_uuidSorted))
@@ -253,15 +253,45 @@
 
 #VPN: #VPNEnabled | #VPNDisabled
 
+#CodeServerDisabled: {
+	enabled: false
+}
+
+#CodeServerEnabled: {
+	enabled: true
+	expose: {
+		network:   #Network
+		subdomain: string
+	} | null | *null
+}
+
+#CodeServer: #CodeServerEnabled | #CodeServerDisabled
+
+#SSHServerDisabled: {
+	enabled: false
+}
+
+#SSHServerEnabled: {
+	enabled: true
+	expose: {
+		network:         #Network
+		subdomain:       string
+		input_port_name: string
+	} | null | *null
+}
+
+#SSHServer: #SSHServerEnabled | #SSHServerDisabled
+
 #VirtualMachine: #WithOut & {
 	cluster?: #Cluster
 	name:     string
 	username: string
 	domain:   string
 	vpn: #VPN | *{enabled: false}
-	codeServerEnabled: bool | *false
-	cpuCores:          int
-	memory:            string
+	ssh: #SSHServer | *{enabled: false}
+	codeServer: #CodeServer | *{enabled: false}
+	cpuCores: int
+	memory:   string
 	sshKnownHosts: [...string] | *[]
 	sshAuthorizedKeys: [...string] | *[]
 	cloudInit: #CloudInit
@@ -277,7 +307,7 @@
 	_configFiles: configFiles
 
 	_codeServerCmd: [...[...string]] | *[]
-	if codeServerEnabled {
+	if codeServer.enabled {
 		_codeServerCmd: [
 			["sh", "-c", "curl -fsSL https://code-server.dev/install.sh | HOME=/home/\(username) sh"],
 			["sh", "-c", "systemctl enable --now code-server@\(username)"],
@@ -287,6 +317,35 @@
 			["sh", "-c", "sed -i -e 's/auth: password/auth: none/g' /home/\(username)/.config/code-server/config.yaml"],
 			["sh", "-c", "systemctl restart --now code-server@\(username)"],
 		]
+		if codeServer.expose != null {
+			ingress: {
+				"\(name)-code": {
+					label:     "VS Code"
+					home:      "/?folder=/home/\(username)/code"
+					network:   codeServer.expose.network
+					subdomain: codeServer.expose.subdomain
+					auth: enabled: false
+					service: {
+						name: _name
+						port: _codeServerPort
+					}
+				}
+			}
+		}
+	}
+
+	if ssh.enabled {
+		if ssh.expose != null {
+			openPort: [{
+				name:    "\(_name)-ssh"
+				network: ssh.expose.network
+				port:    input[ssh.expose.input_port_name]
+				service: {
+					name: _name
+					port: _sshPort
+				}
+			}]
+		}
 	}
 
 	_vpnCmd: [...[...string]] | *[]
@@ -334,12 +393,13 @@
 					source: "https://cloud.debian.org/images/cloud/bookworm-backports/latest/debian-12-backports-generic-amd64.qcow2"
 					size:   "64Gi"
 				}
-				ports: [{
-					name:     "ssh"
-					value:    22
-					protocol: "TCP"
-				},
-					if codeServerEnabled {
+				ports: [
+					if ssh.enabled {
+						name:     _sshPortName
+						value:    _sshPort
+						protocol: "TCP"
+					},
+					if codeServer.enabled {
 						name:     _codeServerPortName
 						value:    _codeServerPort
 						protocol: "TCP"
@@ -561,7 +621,9 @@
 	}
 	openPortMap: {
 		for k, v in mongodb {
-			"mongodb-\(k)": v.openPortMap
+			for x, y in v.openPortMap {
+				"mongodb-\(k)-\(x)": y
+			}
 		}
 		...
 	}
@@ -783,7 +845,7 @@
 		}
 	}
 	openPort: [...#PortForward] | *[]
-	openPort: list.FlattenN([for i in _op {i}], -1)
+	openPort: list.FlattenN([for i in _op {i}], 1)
 	for _, out in outs {
 		images:       out.images
 		charts:       out.charts
@@ -1020,7 +1082,9 @@
 	}
 	openPortMap: {
 		for k, v in postgresql {
-			"postgresql-\(k)": v.openPortMap
+			for x, y in v.openPortMap {
+				"postgresql-\(k)-\(x)": y
+			}
 		}
 		...
 	}
@@ -1066,6 +1130,14 @@
 			}
 		}
 	}
+	openPortMap: {
+		for k, v in vm {
+			for x, y in v.openPortMap {
+				"vm-\(k)-\(x)": y
+			}
+		}
+		...
+	}
 	images: {
 		for k, v in vm {
 			for x, y in v.images {
@@ -1096,6 +1168,8 @@
 
 _codeServerPortName: "code-server"
 _codeServerPort:     9090
+_sshPortName:        "ssh"
+_sshPort:            22
 
 resources: {...}
 
diff --git a/core/installer/app_configs/dodo_app.cue b/core/installer/app_configs/dodo_app.cue
index 08049c4..a02ac1e 100644
--- a/core/installer/app_configs/dodo_app.cue
+++ b/core/installer/app_configs/dodo_app.cue
@@ -68,12 +68,13 @@
 		if svc.dev.enabled {
 			username:   string | *svc.dev.username
 			vpnAuthKey: string @role(VPNAuthKey) @usernameField(username)
+			if svc.dev.ssh != null {
+				"port_service_\(svc.name)_ssh": int @role(port)
+			}
 		}
 	}
 }
 
-_devVM: {}
-
 volume: [...#VolumeInput] | *[]
 postgresql: [...#PostgreSQLInput] | *[]
 mongodb: [...#MongoDBInput] | *[]
@@ -116,8 +117,11 @@
 }
 
 #DevEnabled: {
-	enabled:  true
-	username: string
+	enabled:    true
+	username:   string
+	vpn:        bool | *false
+	codeServer: #Domain | null | *null
+	ssh:        #Domain | null | *null
 }
 
 #Dev: #DevEnabled | #DevDisabled
@@ -141,8 +145,8 @@
 	rootDir: string
 	runConfiguration: [...#Command]
 	volume: [...string] | *[]
-	dev: #Dev | *{enabled: false}
-	vm: #VMCustomization
+	dev: #Dev
+	vm:  #VMCustomization
 	// TODO(gio): check for duplicate values
 	apiPort: #PortValue | *3000
 	ports: [...#Port]
@@ -653,18 +657,6 @@
 						}
 					}
 				}
-				// TODO(gio): code should work even without svc ingress
-				"\(svc.name)-\(i)-code": {
-					label:     "VS Code"
-					home:      "/?folder=/home/\(svc.dev.username)/code"
-					network:   networks[strings.ToLower(ingress.network)]
-					subdomain: "code-\(ingress.subdomain)"
-					auth: enabled: false
-					service: {
-						name: svc.name
-						port: _codeServerPort
-					}
-				}
 			}}
 		}
 	}
@@ -672,15 +664,36 @@
 		"\(svc.name)": {
 			username: svc.dev.username
 			domain:   global.domain
-			vpn: {
-				enabled:     true
-				loginServer: "https://headscale.\(global.domain)"
-				authKey:     input.vpnAuthKey
+			if svc.dev.vpn {
+				// TODO(gio): make VPN network configurable
+				vpn: {
+					enabled:     true
+					loginServer: "https://headscale.\(global.domain)"
+					authKey:     input.vpnAuthKey
+				}
 			}
-			codeServerEnabled: true
-			cpuCores:          2
-			memory:            "3Gi"
-			ports:             svc.ports
+			if svc.dev.codeServer != null {
+				codeServer: {
+					enabled: true
+					expose: {
+						network:   networks[strings.ToLower(svc.dev.codeServer.network)]
+						subdomain: svc.dev.codeServer.subdomain
+					}
+				}
+			}
+			if svc.dev.ssh != null {
+				ssh: {
+					enabled: true
+					expose: {
+						network:         networks[strings.ToLower(svc.dev.ssh.network)]
+						subdomain:       svc.dev.ssh.subdomain
+						input_port_name: "port_service_\(svc.name)_ssh"
+					}
+				}
+			}
+			cpuCores: 2
+			memory:   "3Gi"
+			ports:    svc.ports
 			configFiles: {
 				"env.sh": _envProfile
 			}
@@ -723,7 +736,9 @@
 	}
 	openPortMap: {
 		for k, v in services {
-			"service-\(k)": v.openPortMap
+			for x, y in v.openPortMap {
+				"service-\(k)-\(x)": y
+			}
 		}
 		...
 	}
@@ -775,7 +790,7 @@
 		for v in _service {
 			"\(v.name)": #Service & {
 				name: v.name
-				svc: v
+				svc:  v
 			}
 		}
 	}
diff --git a/core/installer/dodo_app_test.go b/core/installer/dodo_app_test.go
index 3501620..579d3b2 100644
--- a/core/installer/dodo_app_test.go
+++ b/core/installer/dodo_app_test.go
@@ -42,7 +42,8 @@
 		network: "private"
 		subdomain: "3"
         port: value: 101
-    }]
+    }],
+    dev: enabled: false
 }]
 
 postgresql: [{
@@ -343,25 +344,34 @@
 
 const exposeSVCRemoteCluster = `
 {
-    "cluster": "remote",
-    "service": [{
-		"name": "echo",
-		"type": "golang:1.20.0",
-		"source": {
-			"repository": "ssh://foo.bar"
-		},
-		"ports": [{
-			"name": "echo",
-			"value": 9090
-		}],
-		"expose": [{
-			"port": {
-				"name": "echo"
-			},
-			"network": "Private",
-			"subdomain": "echo"
-		}]
-	}]
+  "cluster": "remote",
+  "service": [
+    {
+      "name": "echo",
+      "type": "golang:1.20.0",
+      "source": {
+        "repository": "ssh://foo.bar"
+      },
+      "ports": [
+        {
+          "name": "echo",
+          "value": 9090
+        }
+      ],
+      "expose": [
+        {
+          "port": {
+            "name": "echo"
+          },
+          "network": "Private",
+          "subdomain": "echo"
+        }
+      ],
+      "dev": {
+        "enabled": false
+      }
+    }
+  ]
 }
 `
 
@@ -409,3 +419,109 @@
 	t.Log(string(r.Raw))
 	t.Log(fmt.Sprintf("%+v", r.Ports))
 }
+
+const sshCodeServer = `
+{
+  "service": [
+    {
+      "type": "nextjs:deno-2.0.0",
+      "name": "app",
+      "source": {
+        "repository": "ssh://d.p.v1.dodo.cloud:62533/myblog",
+        "branch": "master",
+        "rootDir": "/"
+      },
+      "ports": [
+        {
+          "name": "web",
+          "value": 3000,
+          "protocol": "TCP"
+        }
+      ],
+      "env": [
+        {
+          "name": "DODO_POSTGRESQL_DB_CONNECTION_URL"
+        }
+      ],
+      "ingress": [
+        {
+          "network": "Private",
+          "subdomain": "foo",
+          "port": {
+            "name": "web"
+          },
+          "auth": {
+            "enabled": false
+          }
+        },
+        {
+          "network": "Public",
+          "subdomain": "foo",
+          "port": {
+            "name": "web"
+          },
+          "auth": {
+            "enabled": false
+          }
+        }
+      ],
+      "expose": [{
+		"network": "Public",
+		"subdomain": "foo",
+		"port": {
+		  "name": "web"
+		},
+      }],
+      "dev": {
+        "enabled": true,
+        "username": "gio",
+        "codeServer": {
+          "network": "Private",
+          "subdomain": "code"
+        },
+        "ssh": {
+          "network": "Public",
+          "subdomain": "ssh"
+        }
+      }
+    }
+  ],
+  "volume": [],
+  "postgresql": [
+    {
+      "name": "db",
+      "size": "1Gi",
+      "expose": []
+    }
+  ],
+  "mongodb": []
+}
+`
+
+func TestSSHCodeServer(t *testing.T) {
+	app, err := NewDodoApp([]byte(sshCodeServer))
+	if err != nil {
+		for _, e := range errors.Errors(err) {
+			t.Log(e)
+		}
+		t.Fatal(err)
+	}
+	release := Release{
+		Namespace:     "foo",
+		AppInstanceId: "foo-bar",
+		RepoAddr:      "ssh://192.168.100.210:22/config",
+		AppDir:        "/foo/bar",
+	}
+	keyGen := testKeyGen{}
+	r, err := app.Render(release, env, networks, nil, map[string]any{
+		"managerAddr":          "",
+		"appId":                "",
+		"sshPrivateKey":        "",
+		"port_service_app_ssh": 12,
+		"port_service_app_0":   13,
+	}, nil, keyGen)
+	if err != nil {
+		t.Fatal(err)
+	}
+	t.Log(string(r.Raw))
+}
diff --git a/core/installer/values-tmpl/virtual-machine.cue b/core/installer/values-tmpl/virtual-machine.cue
index 63cacf0..7416e28 100644
--- a/core/installer/values-tmpl/virtual-machine.cue
+++ b/core/installer/values-tmpl/virtual-machine.cue
@@ -35,7 +35,9 @@
 				}
 			}
 			if input.codeServerEnabled != _|_ {
-				codeServerEnabled: input.codeServerEnabled
+				codeServer: {
+					enabled: input.codeServerEnabled
+				}
 			}
 		}
 	}
