diff --git a/core/installer/server/dodo-app/server.go b/core/installer/server/dodo-app/server.go
index f921a09..858afa8 100644
--- a/core/installer/server/dodo-app/server.go
+++ b/core/installer/server/dodo-app/server.go
@@ -12,6 +12,7 @@
 	"io/fs"
 	"net/http"
 	"slices"
+	"sort"
 	"strconv"
 	"strings"
 	"sync"
@@ -594,7 +595,9 @@
 }
 
 type ingress struct {
+	Name string
 	Host string
+	Home string
 }
 
 type vm struct {
@@ -1747,6 +1750,10 @@
 		if !ok {
 			continue
 		}
+		internal, ok := r.Annotations["dodo.cloud/internal"]
+		if ok && strings.ToLower(internal) == "true" {
+			continue
+		}
 		switch t {
 		case "volume":
 			name, ok := r.Annotations["dodo.cloud/resource.volume.name"]
@@ -1773,11 +1780,19 @@
 			}
 			ret.PostgreSQL = append(ret.PostgreSQL, postgresql{name, version, volume})
 		case "ingress":
+			name, ok := r.Annotations["dodo.cloud/resource.ingress.name"]
+			if !ok {
+				return resourceData{}, fmt.Errorf("no name")
+			}
+			home, ok := r.Annotations["dodo.cloud/resource.ingress.home"]
+			if !ok {
+				home = ""
+			}
 			host, ok := r.Annotations["dodo.cloud/resource.ingress.host"]
 			if !ok {
 				return resourceData{}, fmt.Errorf("no host")
 			}
-			ret.Ingress = append(ret.Ingress, ingress{host})
+			ret.Ingress = append(ret.Ingress, ingress{name, host, home})
 		case "virtual-machine":
 			name, ok := r.Annotations["dodo.cloud/resource.virtual-machine.name"]
 			if !ok {
@@ -1804,6 +1819,9 @@
 			fmt.Printf("Unknown resource: %+v\n", r.Annotations)
 		}
 	}
+	sort.Slice(ret.Ingress, func(i, j int) bool {
+		return strings.Compare(ret.Ingress[i].Name, ret.Ingress[j].Name) < 0
+	})
 	return ret, nil
 }
 
diff --git a/core/installer/server/dodo-app/templates/base.html b/core/installer/server/dodo-app/templates/base.html
index 9129c4d..eb3a9c3 100644
--- a/core/installer/server/dodo-app/templates/base.html
+++ b/core/installer/server/dodo-app/templates/base.html
@@ -24,8 +24,7 @@
 {{- if gt (len .Ingress) 0 -}}
 <h3>Ingress</h3>
 {{- range $i := .Ingress -}}
-Host: <a href="{{ $i.Host }}">{{ $i.Host }}</a><br/>
-<br/>
+{{ $i.Name }}: <a href="{{ $i.Host }}{{ $i.Home }}" target="_blank">{{ $i.Host }}</a><br/>
 {{- end -}}
 {{- end -}}
 {{- if gt (len .VirtualMachine) 0 -}}
