diff --git a/core/installer/server/dodo-app/server.go b/core/installer/server/dodo-app/server.go
index c5bc177..7643168 100644
--- a/core/installer/server/dodo-app/server.go
+++ b/core/installer/server/dodo-app/server.go
@@ -564,7 +564,7 @@
 			http.Error(w, err.Error(), http.StatusInternalServerError)
 			return
 		}
-		r, err := extractResourceData(lastCommit.Resources.Helm)
+		r, err := extractResourceData(lastCommit.Resources)
 		if err != nil {
 			http.Error(w, err.Error(), http.StatusInternalServerError)
 			return
@@ -661,6 +661,7 @@
 	MongoDB        []mongodb
 	Ingress        []ingress
 	VirtualMachine []vm
+	Env            []string
 }
 
 type commitStatusData struct {
@@ -712,7 +713,7 @@
 		http.Error(w, err.Error(), http.StatusInternalServerError)
 		return
 	}
-	resData, err := extractResourceData(commit.Resources.Helm)
+	resData, err := extractResourceData(commit.Resources)
 	if err != nil {
 		http.Error(w, err.Error(), http.StatusInternalServerError)
 		return
@@ -1792,9 +1793,20 @@
 	}
 }
 
-func extractResourceData(resources []installer.Resource) (resourceData, error) {
+type lastCmdEnv struct {
+	App struct {
+		Env []string `json:"lastCmdEnv"`
+	} `json:"app"`
+}
+
+func extractResourceData(resources installer.ReleaseResources) (resourceData, error) {
 	var ret resourceData
-	for _, r := range resources {
+	var raw lastCmdEnv
+	if err := json.NewDecoder(bytes.NewReader(resources.RenderedRaw)).Decode(&raw); err != nil {
+		return resourceData{}, err
+	}
+	ret.Env = raw.App.Env
+	for _, r := range resources.Helm {
 		t, ok := r.Annotations["dodo.cloud/resource-type"]
 		if !ok {
 			continue
diff --git a/core/installer/server/dodo-app/templates/base.html b/core/installer/server/dodo-app/templates/base.html
index 722c640..1af1d2e 100644
--- a/core/installer/server/dodo-app/templates/base.html
+++ b/core/installer/server/dodo-app/templates/base.html
@@ -63,4 +63,12 @@
 <br/>
 {{- end -}}
 {{- end -}}
+{{- if gt (len .Env) 0 -}}
+<h3>Environment Variables</h3>
+<ul>
+{{- range $v := .Env -}}
+<li>{{ $v }}</li>
+</ul>
+{{- end -}}
+{{- end -}}
 {{ end }}
