diff --git a/charts/launcher/values.yaml b/charts/launcher/values.yaml
index 9118cc3..fedfed5 100644
--- a/charts/launcher/values.yaml
+++ b/charts/launcher/values.yaml
@@ -5,5 +5,5 @@
 portName: http
 appRepoAddr: ""
 logoutUrl: logout.example.com
+repoAddr: 192.168.0.11
 sshPrivateKey: key
-repoAddr: ""
diff --git a/core/installer/app.go b/core/installer/app.go
index 11ca8cd..1626a1a 100644
--- a/core/installer/app.go
+++ b/core/installer/app.go
@@ -339,6 +339,16 @@
 	public: string
 	private: string
 }
+
+#HelpDocument: {
+    title: string
+    contents: string
+    children: [...#HelpDocument]
+}
+
+help: [...#HelpDocument] | *[]
+
+url: string | *""
 `
 
 type rendered struct {
@@ -347,8 +357,8 @@
 	Resources CueAppData
 	Ports     []PortForward
 	Data      CueAppData
+	URL       string
 	Help      []HelpDocument
-	Url       string
 	Icon      string
 }
 
@@ -633,7 +643,7 @@
 	if err != nil {
 		return rendered{}, err
 	}
-	ret.Url = url
+	ret.URL = url
 	icon, err := res.LookupPath(cue.ParsePath("icon")).String()
 	if err != nil {
 		return rendered{}, err
@@ -680,8 +690,9 @@
 			Release: release,
 			Values:  values,
 			Input:   derived,
+			URL:     ret.URL,
 			Help:    ret.Help,
-			Url:     ret.Url,
+			Icon:    ret.Icon,
 		},
 	}, nil
 }
@@ -719,6 +730,8 @@
 			Release: release,
 			Values:  values,
 			Input:   values,
+			URL:     ret.URL,
+			Help:    ret.Help,
 		},
 	}, nil
 }
diff --git a/core/installer/app_manager.go b/core/installer/app_manager.go
index 8ca42f2..56129f5 100644
--- a/core/installer/app_manager.go
+++ b/core/installer/app_manager.go
@@ -54,6 +54,7 @@
 }
 
 func (m *AppManager) FindAllInstances() ([]AppInstanceConfig, error) {
+	m.repoIO.Pull()
 	kust, err := soft.ReadKustomization(m.repoIO, filepath.Join(m.appDirRoot, "kustomization.yaml"))
 	if err != nil {
 		return nil, err
diff --git a/core/installer/app_repository.go b/core/installer/app_repository.go
index 5727e64..4f15b7d 100644
--- a/core/installer/app_repository.go
+++ b/core/installer/app_repository.go
@@ -47,6 +47,7 @@
 	"values-tmpl/headscale.cue",
 	"values-tmpl/launcher.cue",
 	"values-tmpl/env-dns.cue",
+	"values-tmpl/launcher.cue",
 }
 
 var infraAppConfigs = []string{
diff --git a/core/installer/cmd/launcher.go b/core/installer/cmd/launcher.go
index 832f159..e1707bf 100644
--- a/core/installer/cmd/launcher.go
+++ b/core/installer/cmd/launcher.go
@@ -2,21 +2,22 @@
 
 import (
 	"fmt"
+	"log"
 	"os"
 
 	"github.com/giolekva/pcloud/core/installer"
 	"github.com/giolekva/pcloud/core/installer/soft"
 	"github.com/giolekva/pcloud/core/installer/welcome"
+
 	"github.com/spf13/cobra"
 	"golang.org/x/crypto/ssh"
 )
 
 var launcherFlags struct {
-	logoutUrl  string
-	port       int
-	repoAddr   string
-	sshKey     string
-	appManager *installer.AppManager
+	logoutUrl string
+	port      int
+	repoAddr  string
+	sshKey    string
 }
 
 func launcherCmd() *cobra.Command {
@@ -54,11 +55,11 @@
 func launcherCmdRun(cmd *cobra.Command, args []string) error {
 	sshKey, err := os.ReadFile(launcherFlags.sshKey)
 	if err != nil {
-		return fmt.Errorf("failed reading ssh key: %v", err)
+		return err
 	}
 	signer, err := ssh.ParsePrivateKey(sshKey)
 	if err != nil {
-		return fmt.Errorf("failed parsing ssh private key: %v", err)
+		return err
 	}
 	addr, err := soft.ParseRepositoryAddress(launcherFlags.repoAddr)
 	if err != nil {
@@ -66,15 +67,16 @@
 	}
 	repo, err := soft.CloneRepository(addr, signer)
 	if err != nil {
-		return fmt.Errorf("failed cloning repository: %v", err)
+		return err
 	}
+	log.Println("Cloned repository")
 	repoIO, err := soft.NewRepoIO(repo, signer)
 	if err != nil {
-		return fmt.Errorf("failed initializing RepoIO: %v", err)
+		return err
 	}
 	appManager, err := installer.NewAppManager(repoIO, nil, "/apps")
 	if err != nil {
-		return fmt.Errorf("failed to create AppManager: %v", err)
+		return err
 	}
 	s, err := welcome.NewLauncherServer(
 		launcherFlags.port,
diff --git a/core/installer/cmd/rewrite.go b/core/installer/cmd/rewrite.go
index 8bb9173..c4bc7a8 100644
--- a/core/installer/cmd/rewrite.go
+++ b/core/installer/cmd/rewrite.go
@@ -60,7 +60,7 @@
 		return err
 	}
 	log.Println("Creating repository")
-	r := installer.NewInMemoryAppRepository(installer.CreateStoreApps())
+	r := installer.NewInMemoryAppRepository(installer.CreateAllApps())
 	mgr, err := installer.NewAppManager(repoIO, nil, "/apps")
 	if err != nil {
 		return err
diff --git a/core/installer/derived.go b/core/installer/derived.go
index bc7d7f8..c3483cf 100644
--- a/core/installer/derived.go
+++ b/core/installer/derived.go
@@ -2,6 +2,7 @@
 
 import (
 	"fmt"
+	"html/template"
 )
 
 type Release struct {
@@ -26,6 +27,9 @@
 	Release Release        `json:"release"`
 	Values  map[string]any `json:"values"`
 	Input   map[string]any `json:"input"`
+	URL     string         `json:"url"`
+	Help    []HelpDocument `json:"help"`
+	Icon    template.HTML  `json:"icon"`
 }
 
 type AppInstanceConfig struct {
@@ -35,9 +39,9 @@
 	Release Release        `json:"release"`
 	Values  map[string]any `json:"values"`
 	Input   map[string]any `json:"input"`
-	Icon    string         `json:"icon"`
+	URL     string         `json:"url"`
 	Help    []HelpDocument `json:"help"`
-	Url     string         `json:"url"`
+	Icon    string         `json:"icon"`
 }
 
 func (a AppInstanceConfig) InputToValues(schema Schema) map[string]any {
diff --git a/core/installer/tasks/infra.go b/core/installer/tasks/infra.go
index 91d0fd9..e71de44 100644
--- a/core/installer/tasks/infra.go
+++ b/core/installer/tasks/infra.go
@@ -277,6 +277,42 @@
 	)
 }
 
+func SetupLauncher(env installer.EnvConfig, st *state) Task {
+	t := newLeafTask("Setup", func() error {
+		user := fmt.Sprintf("%s-launcher", env.Id)
+		keys, err := installer.NewSSHKeyPair(user)
+		if err != nil {
+			return err
+		}
+		if err := st.ssClient.AddUser(user, keys.AuthorizedKey()); err != nil {
+			return err
+		}
+		if err := st.ssClient.AddReadWriteCollaborator("config", user); err != nil {
+			return err
+		}
+		app, err := installer.FindEnvApp(st.appsRepo, "launcher")
+		if err != nil {
+			return err
+		}
+		instanceId := app.Slug()
+		appDir := fmt.Sprintf("/apps/%s", instanceId)
+		namespace := fmt.Sprintf("%s%s", env.NamespacePrefix, app.Namespace())
+		if _, err := st.appManager.Install(app, instanceId, appDir, namespace, map[string]any{
+			"repoAddr":      st.ssClient.GetRepoAddress("config"),
+			"sshPrivateKey": string(keys.RawPrivateKey()),
+		}); err != nil {
+			return err
+		}
+		return nil
+	})
+	return newSequentialParentTask(
+		"Launcher",
+		false,
+		&t,
+		waitForAddr(st.httpClient, fmt.Sprintf("https://launcher.%s", env.Domain)),
+	)
+}
+
 func SetupHeadscale(env installer.EnvConfig, st *state) Task {
 	t := newLeafTask("Setup", func() error {
 		app, err := installer.FindEnvApp(st.appsRepo, "headscale")
@@ -370,37 +406,6 @@
 	return &t
 }
 
-func SetupLauncher(env installer.EnvConfig, st *state) Task {
-	t := newLeafTask("Application Launcher", func() error {
-		user := fmt.Sprintf("%s-launcher", env.Id)
-		keys, err := installer.NewSSHKeyPair(user)
-		if err != nil {
-			return err
-		}
-		if err := st.ssClient.AddUser(user, keys.AuthorizedKey()); err != nil {
-			return err
-		}
-		if err := st.ssClient.AddReadWriteCollaborator("config", user); err != nil { //TODO(gio): add read only
-			return err
-		}
-		app, err := installer.FindEnvApp(st.appsRepo, "launcher") // TODO(giolekva): configure
-		if err != nil {
-			return err
-		}
-		instanceId := app.Name()
-		appDir := fmt.Sprintf("/apps/%s", instanceId)
-		namespace := fmt.Sprintf("%s%s", env.NamespacePrefix, app.Namespace())
-		if _, err := st.appManager.Install(app, instanceId, appDir, namespace, map[string]any{
-			"repoAddr":      st.ssClient.GetRepoAddress("config"),
-			"sshPrivateKey": string(keys.RawPrivateKey()),
-		}); err != nil {
-			return err
-		}
-		return nil
-	})
-	return &t
-}
-
 // TODO(gio-dns): remove
 type DNSSecKey struct {
 	Basename string `json:"basename,omitempty"`
diff --git a/core/installer/values-tmpl/appmanager.cue b/core/installer/values-tmpl/appmanager.cue
index b710c55..6e98d5e 100644
--- a/core/installer/values-tmpl/appmanager.cue
+++ b/core/installer/values-tmpl/appmanager.cue
@@ -10,10 +10,14 @@
 
 name: "App Manager"
 namespace: "appmanager"
+icon: "<svg xmlns='http://www.w3.org/2000/svg' width='50' height='50' viewBox='0 0 24 24'><path fill='currentColor' d='M19 6h-2c0-2.8-2.2-5-5-5S7 3.2 7 6H5c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2m-7-3c1.7 0 3 1.3 3 3H9c0-1.7 1.3-3 3-3m7 17H5V8h14zm-7-8c-1.7 0-3-1.3-3-3H7c0 2.8 2.2 5 5 5s5-2.2 5-5h-2c0 1.7-1.3 3-3 3'/></svg>"
 
 _subdomain: "apps"
 _httpPortName: "http"
 
+_domain: "\(_subdomain).\(networks.private.domain)"
+url: "https://\(_domain)"
+
 ingress: {
 	appmanager: {
 		auth: {
@@ -57,7 +61,7 @@
 			sshPrivateKey: base64.Encode(null, input.sshPrivateKey)
 			ingress: {
 				className: networks.private.ingressClass
-				domain: "\(_subdomain).\(networks.private.domain)"
+				domain: _domain
 				certificateIssuer: ""
 			}
 			clusterRoleName: "\(global.id)-appmanager"
diff --git a/core/installer/values-tmpl/gerrit.cue b/core/installer/values-tmpl/gerrit.cue
index edfcf10..3cffb3b 100644
--- a/core/installer/values-tmpl/gerrit.cue
+++ b/core/installer/values-tmpl/gerrit.cue
@@ -6,6 +6,7 @@
 }
 
 _domain: "\(input.subdomain).\(input.network.domain)"
+url: "https://\(_domain)"
 
 name: "Gerrit"
 namespace: "app-gerrit"
diff --git a/core/installer/values-tmpl/headscale.cue b/core/installer/values-tmpl/headscale.cue
index 08b61ef..60be1a2 100644
--- a/core/installer/values-tmpl/headscale.cue
+++ b/core/installer/values-tmpl/headscale.cue
@@ -96,3 +96,42 @@
 		}
 	}
 }
+
+help: [{
+	title: "Install"
+	contents: """
+	You can install Tailscale client on any of your personal devices running: macOS, iOS, Windows, Lonux or Android. Installer packages can be found at: [https://tailscale.com/download](https://tailscale.com/download). After installing the client application you need to configure it to use https://\(_domain) as a login URL, so you can login to the VPN network with your dodo: account. See "Configure Login URL" section below for more details.
+	"""
+	children: [{
+		title: "Widnows with MSI"
+		contents: "[https://tailscale.com/kb/1189/install-windows-msi](https://tailscale.com/kb/1189/install-windows-msi)"
+	}]
+}, {
+	title: "Configure Login URL"
+	contents: "After installing the client application you need to configure it to use https://\(_domain) as a login URL, so you can login to the VPN network with your dodo: account"
+	children: [{
+		title: "macOS"
+		contents: "[https://headscale.v1.dodo.cloud/apple](https://headscale.v1.dodo.cloud/apple)"
+	}, {
+		title: "iOS"
+		contents: "[https://headscale.v1.dodo.cloud/apple](https://headscale.v1.dodo.cloud/apple)"
+	}, {
+		title: "Windows"
+		contents: "[https://tailscale.com/kb/1318/windows-mdm](https://tailscale.com/kb/1318/windows-mdm)"
+	}, {
+		title: "Linux"
+		contents: "tailscale up --login-server https://\(_domain)"
+	}, {
+		title: "Android"
+		contents: """
+		After opening the app, the kebab menu icon (three dots) on the top bar on the right must be repeatedly opened and closed until the Change server option appears in the menu. This is where you can enter your headscale URL: https://\(_domain)
+
+		A screen recording of this process can be seen in the tailscale-android PR which implemented this functionality: [https://github.com/tailscale/tailscale-android/pull/55](https://github.com/tailscale/tailscale-android/pull/55)
+
+		After saving and restarting the app, selecting the regular Sign in option should open up the dodo: authentication page.
+		"""
+	}, {
+		title: "Command Line"
+		contents: "tailscale up --login-server https://\(_domain)"
+	}]
+}]
diff --git a/core/installer/values-tmpl/jellyfin.cue b/core/installer/values-tmpl/jellyfin.cue
index 9c59d20..2d5d45c 100644
--- a/core/installer/values-tmpl/jellyfin.cue
+++ b/core/installer/values-tmpl/jellyfin.cue
@@ -4,6 +4,7 @@
 }
 
 _domain: "\(input.subdomain).\(input.network.domain)"
+url: "https://\(_domain)"
 
 name: "Jellyfin"
 namespace: "app-jellyfin"
diff --git a/core/installer/values-tmpl/jenkins.cue b/core/installer/values-tmpl/jenkins.cue
index f705b34..673e544 100644
--- a/core/installer/values-tmpl/jenkins.cue
+++ b/core/installer/values-tmpl/jenkins.cue
@@ -4,6 +4,7 @@
 }
 
 _domain: "\(input.subdomain).\(input.network.domain)"
+url: "https://\(_domain)"
 
 name: "Jenkins"
 namespace: "app-jenkins"
diff --git a/core/installer/values-tmpl/launcher.cue b/core/installer/values-tmpl/launcher.cue
index 9761464..9c04e85 100644
--- a/core/installer/values-tmpl/launcher.cue
+++ b/core/installer/values-tmpl/launcher.cue
@@ -9,12 +9,13 @@
 
 _subdomain: "launcher"
 _domain: "\(_subdomain).\(networks.public.domain)"
+url: "https://\(_domain)"
 
 name: "Launcher"
-namespace: "core-installer-welcome-launcher"
+namespace: "launcher"
 readme: "App Launcher application will be installed on Private or Public network and be accessible at https://\(_domain)"
 description: "The application is a App launcher, designed to run all accessible applications. Can be configured to be reachable only from private network or publicly."
-icon: "<svg xmlns='http://www.w3.org/2000/svg' width='50' height='50' viewBox='0 0 24 24'><path fill='currentColor' d='M15.43 15.48c-1.1-.49-2.26-.73-3.43-.73c-1.18 0-2.33.25-3.43.73c-.23.1-.4.29-.49.52h7.85a.978.978 0 0 0-.5-.52m-2.49-6.69C12.86 8.33 12.47 8 12 8s-.86.33-.94.79l-.2 1.21h2.28z' opacity='0.3'/><path fill='currentColor' d='M10.27 12h3.46a1.5 1.5 0 0 0 1.48-1.75l-.3-1.79a2.951 2.951 0 0 0-5.82.01l-.3 1.79c-.15.91.55 1.74 1.48 1.74m.79-3.21c.08-.46.47-.79.94-.79s.86.33.94.79l.2 1.21h-2.28zm-9.4 2.32c-.13.26-.18.57-.1.88c.16.69.76 1.03 1.53 1h1.95c.83 0 1.51-.58 1.51-1.29c0-.14-.03-.27-.07-.4c-.01-.03-.01-.05.01-.08c.09-.16.14-.34.14-.53c0-.31-.14-.6-.36-.82c-.03-.03-.03-.06-.02-.1c.07-.2.07-.43.01-.65a1.12 1.12 0 0 0-.99-.74a.09.09 0 0 1-.07-.03C5.03 8.14 4.72 8 4.37 8c-.3 0-.57.1-.75.26c-.03.03-.06.03-.09.02a1.24 1.24 0 0 0-1.7 1.03c0 .02-.01.04-.03.06c-.29.26-.46.65-.41 1.05c.03.22.12.43.25.6c.03.02.03.06.02.09m14.58 2.54c-1.17-.52-2.61-.9-4.24-.9c-1.63 0-3.07.39-4.24.9A2.988 2.988 0 0 0 6 16.39V18h12v-1.61c0-1.18-.68-2.26-1.76-2.74M8.07 16a.96.96 0 0 1 .49-.52c1.1-.49 2.26-.73 3.43-.73c1.18 0 2.33.25 3.43.73c.23.1.4.29.49.52zm-6.85-1.42A2.01 2.01 0 0 0 0 16.43V18h4.5v-1.61c0-.83.23-1.61.63-2.29c-.37-.06-.74-.1-1.13-.1c-.99 0-1.93.21-2.78.58m21.56 0A6.95 6.95 0 0 0 20 14c-.39 0-.76.04-1.13.1c.4.68.63 1.46.63 2.29V18H24v-1.57c0-.81-.48-1.53-1.22-1.85M22 11v-.5c0-1.1-.9-2-2-2h-2c-.42 0-.65.48-.39.81l.7.63c-.19.31-.31.67-.31 1.06c0 1.1.9 2 2 2s2-.9 2-2'/></svg>"
+icon: "<svg xmlns='http://www.w3.org/2000/svg' width='50' height='50' viewBox='0 0 48 48'><path fill='none' stroke='green' stroke-linecap='round' stroke-linejoin='round' d='M42.5 23.075L26.062 7.525a3 3 0 0 0-4.124 0L5.5 23.075m5.86 1.54v14.68a2 2 0 0 0 2 2h7.14v-9.5h7v9.5h7.14a2 2 0 0 0 2-2v-14.68'/></svg>"
 
 _httpPortName: "http"
 
@@ -33,7 +34,7 @@
 images: {
     launcher: {
         repository: "giolekva"
-        name: "launcher"
+        name: "pcloud-installer"
         tag: "latest"
         pullPolicy: "Always"
     }
@@ -63,6 +64,8 @@
             repoAddr: input.repoAddr
             sshPrivateKey: base64.Encode(null, input.sshPrivateKey)
             logoutUrl: "https://accounts-ui.\(global.domain)/logout"
+			repoAddr: input.repoAddr
+			sshPrivateKey: base64.Encode(null, input.sshPrivateKey)
         }
     }
 }
diff --git a/core/installer/values-tmpl/matrix.cue b/core/installer/values-tmpl/matrix.cue
index a236a16..4b4ca06 100644
--- a/core/installer/values-tmpl/matrix.cue
+++ b/core/installer/values-tmpl/matrix.cue
@@ -144,3 +144,11 @@
 		}
 	}
 }
+
+help: [{
+	title: "Client Applications"
+	contents: "You can connect to \(_domain) Matrix server with any of the official clients. We recommend using Element. You can use official Element Web application to chat within the browser. Platform native client applications can be downloaded from: [https://element.io/download](https://element.io/download). Follow **Custom Homeserver** section to login with your dodo: account."
+}, {
+	title: "Custom Homeserver"
+	contents: "Click **Sign in** button, edit **Homeserver** address and enter **\(input.network.domain)**, click **Continue**. Choose **Continue with PCloud** option and login to your dodo: account."
+}]
diff --git a/core/installer/values-tmpl/memberships.cue b/core/installer/values-tmpl/memberships.cue
index 53082f0..c0ffaeb 100644
--- a/core/installer/values-tmpl/memberships.cue
+++ b/core/installer/values-tmpl/memberships.cue
@@ -4,6 +4,7 @@
 
 _subdomain: "memberships"
 _domain: "\(_subdomain).\(global.privateDomain)"
+url: "https://\(_domain)"
 
 name: "Memberships"
 namespace: "core-auth-memberships"
diff --git a/core/installer/values-tmpl/open-project.cue b/core/installer/values-tmpl/open-project.cue
index 5428a0d..76f604b 100644
--- a/core/installer/values-tmpl/open-project.cue
+++ b/core/installer/values-tmpl/open-project.cue
@@ -4,6 +4,7 @@
 }
 
 _domain: "\(input.subdomain).\(input.network.domain)"
+url: "https://\(_domain)"
 
 name: "OpenProject"
 namespace: "app-open-project"
diff --git a/core/installer/values-tmpl/penpot.cue b/core/installer/values-tmpl/penpot.cue
index d35ccc9..4a8e66a 100644
--- a/core/installer/values-tmpl/penpot.cue
+++ b/core/installer/values-tmpl/penpot.cue
@@ -4,6 +4,7 @@
 }
 
 _domain: "\(input.subdomain).\(input.network.domain)"
+url: "https://\(_domain)"
 
 name: "Penpot"
 namespace: "app-penpot"
diff --git a/core/installer/values-tmpl/pihole.cue b/core/installer/values-tmpl/pihole.cue
index 37a44d5..d1b9097 100644
--- a/core/installer/values-tmpl/pihole.cue
+++ b/core/installer/values-tmpl/pihole.cue
@@ -5,6 +5,7 @@
 }
 
 _domain: "\(input.subdomain).\(input.network.domain)"
+url: "https://\(_domain)"
 
 name: "Pi-hole"
 namespace: "app-pihole"
diff --git a/core/installer/values-tmpl/qbittorrent.cue b/core/installer/values-tmpl/qbittorrent.cue
index 2309d10..179a718 100644
--- a/core/installer/values-tmpl/qbittorrent.cue
+++ b/core/installer/values-tmpl/qbittorrent.cue
@@ -4,6 +4,7 @@
 }
 
 _domain: "\(input.subdomain).\(input.network.domain)"
+url: "https://\(_domain)"
 
 name: "qBitorrent"
 namespace: "app-qbittorrent"
diff --git a/core/installer/values-tmpl/rpuppy.cue b/core/installer/values-tmpl/rpuppy.cue
index 25e176d..05f40c7 100644
--- a/core/installer/values-tmpl/rpuppy.cue
+++ b/core/installer/values-tmpl/rpuppy.cue
@@ -11,7 +11,6 @@
 readme: "rpuppy application will be installed on \(input.network.name) network and be accessible to any user on https://\(_domain)"
 description: "Delights users with randomly generate puppy pictures. Can be configured to be reachable only from private network or publicly."
 icon: "<svg xmlns='http://www.w3.org/2000/svg' width='50' height='50' viewBox='0 0 256 256'><path fill='currentColor' d='M100 140a8 8 0 1 1-8-8a8 8 0 0 1 8 8Zm64 8a8 8 0 1 0-8-8a8 8 0 0 0 8 8Zm64.94-9.11a12.12 12.12 0 0 1-5 1.11a11.83 11.83 0 0 1-9.35-4.62l-2.59-3.29V184a36 36 0 0 1-36 36H80a36 36 0 0 1-36-36v-51.91l-2.53 3.27A11.88 11.88 0 0 1 32.1 140a12.08 12.08 0 0 1-5-1.11a11.82 11.82 0 0 1-6.84-13.14l16.42-88a12 12 0 0 1 14.7-9.43h.16L104.58 44h46.84l53.08-15.6h.16a12 12 0 0 1 14.7 9.43l16.42 88a11.81 11.81 0 0 1-6.84 13.06ZM97.25 50.18L49.34 36.1a4.18 4.18 0 0 0-.92-.1a4 4 0 0 0-3.92 3.26l-16.42 88a4 4 0 0 0 7.08 3.22ZM204 121.75L150 52h-44l-54 69.75V184a28 28 0 0 0 28 28h44v-18.34l-14.83-14.83a4 4 0 0 1 5.66-5.66L128 186.34l13.17-13.17a4 4 0 0 1 5.66 5.66L132 193.66V212h44a28 28 0 0 0 28-28Zm23.92 5.48l-16.42-88a4 4 0 0 0-4.84-3.16l-47.91 14.11l62.11 80.28a4 4 0 0 0 7.06-3.23Z'/></svg>"
-url: _domain
 
 _httpPortName: "http"
 
@@ -60,3 +59,5 @@
 		}
 	}
 }
+
+url: "https://\(_domain)"
diff --git a/core/installer/values-tmpl/soft-serve.cue b/core/installer/values-tmpl/soft-serve.cue
index 3d34615..c31c855 100644
--- a/core/installer/values-tmpl/soft-serve.cue
+++ b/core/installer/values-tmpl/soft-serve.cue
@@ -4,6 +4,7 @@
 }
 
 _domain: "\(input.subdomain).\(global.privateDomain)"
+url: "https://\(_domain)"
 
 name: "Soft-Serve"
 namespace: "app-soft-serve"
diff --git a/core/installer/values-tmpl/url-shortener.cue b/core/installer/values-tmpl/url-shortener.cue
index 8e9a179..84a0edf 100644
--- a/core/installer/values-tmpl/url-shortener.cue
+++ b/core/installer/values-tmpl/url-shortener.cue
@@ -5,6 +5,7 @@
 }
 
 _domain: "\(input.subdomain).\(input.network.domain)"
+url: "https://\(_domain)"
 
 name: "URL Shortener"
 namespace: "app-url-shortener"
diff --git a/core/installer/values-tmpl/vaultwarden.cue b/core/installer/values-tmpl/vaultwarden.cue
index 72c2ec4..072b5f2 100644
--- a/core/installer/values-tmpl/vaultwarden.cue
+++ b/core/installer/values-tmpl/vaultwarden.cue
@@ -4,6 +4,7 @@
 }
 
 _domain: "\(input.subdomain).\(input.network.domain)"
+url: "https://\(_domain)"
 
 name: "Vaultwarden"
 namespace: "app-vaultwarden"
diff --git a/core/installer/values-tmpl/zot.cue b/core/installer/values-tmpl/zot.cue
index a8a7766..ac0674e 100644
--- a/core/installer/values-tmpl/zot.cue
+++ b/core/installer/values-tmpl/zot.cue
@@ -8,6 +8,7 @@
 }
 
 _domain: "\(input.subdomain).\(input.network.domain)"
+url: "https://\(_domain)"
 
 name: "Zot"
 namespace: "app-zot"
diff --git a/core/installer/welcome/env_test.go b/core/installer/welcome/env_test.go
index ed7a2d3..0d61af8 100644
--- a/core/installer/welcome/env_test.go
+++ b/core/installer/welcome/env_test.go
@@ -264,6 +264,7 @@
 		"https://accounts-ui.test.t",
 		"https://welcome.test.t",
 		"https://memberships.p.test.t",
+		"https://launcher.test.t",
 		"https://headscale.test.t/apple",
 	}
 	for _, e := range expected {
@@ -271,7 +272,7 @@
 			t.Fatal(httpClient.counts)
 		}
 	}
-	if len(httpClient.counts) != 4 {
+	if len(httpClient.counts) != 5 {
 		t.Fatal(httpClient.counts)
 	}
 }
diff --git a/core/installer/welcome/launcher.go b/core/installer/welcome/launcher.go
index df4f863..7816dfc 100644
--- a/core/installer/welcome/launcher.go
+++ b/core/installer/welcome/launcher.go
@@ -32,6 +32,26 @@
 	AppManager *installer.AppManager
 }
 
+func (d *AppManagerDirectory) GetAllApps() ([]AppLauncherInfo, error) {
+	all, err := d.AppManager.FindAllInstances()
+	if err != nil {
+		return nil, err
+	}
+	ret := []AppLauncherInfo{}
+	for _, a := range all {
+		if a.URL == "" && len(a.Help) == 0 {
+			continue
+		}
+		ret = append(ret, AppLauncherInfo{
+			Name: a.AppId,
+			Icon: template.HTML(a.Icon),
+			Help: a.Help,
+			Url:  a.URL,
+		})
+	}
+	return ret, nil
+}
+
 type LauncherServer struct {
 	port         int
 	logoutUrl    string
@@ -77,24 +97,6 @@
 	return cleanName
 }
 
-func (d *AppManagerDirectory) GetAllApps() ([]AppLauncherInfo, error) {
-	allAppInstances, err := d.AppManager.FindAllInstances()
-	if err != nil {
-		return nil, err
-	}
-	var ret []AppLauncherInfo
-	for _, appInstance := range allAppInstances {
-		appLauncherInfo := AppLauncherInfo{
-			Name: appInstance.AppId,
-			Icon: template.HTML(appInstance.Icon),
-			Help: appInstance.Help,
-			Url:  appInstance.Url,
-		}
-		ret = append(ret, appLauncherInfo)
-	}
-	return ret, nil
-}
-
 func getLoggedInUser(r *http.Request) (string, error) {
 	if user := r.Header.Get("X-User"); user != "" {
 		return user, nil
