updated icons

This commit is contained in:
naturallaw777 committed 2026-03-31 13:35:22 -05:00
1 parent e686cb60aa
commit b669e6349d
26 files changed
+35 -1413

No files matched your search

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

+1
View File
@@ -0,0 +1 @@
<!DOCTYPE html><html lang="en" class="__variable_f367f3"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/cd0f790f4041f2ba.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-bf270f4cf29f373d.js"/><script src="/_next/static/chunks/fd9d1056-d22a852a8a2fb290.js" async=""></script><script src="/_next/static/chunks/117-30f9b27799b83c6a.js" async=""></script><script src="/_next/static/chunks/main-app-2dcde4753ea0d175.js" async=""></script><script src="/_next/static/chunks/855-14f0d586cb1150be.js" async=""></script><script src="/_next/static/chunks/718-e2bb5c0b3f477e27.js" async=""></script><script src="/_next/static/chunks/716-cd5dd0af024a6144.js" async=""></script><script src="/_next/static/chunks/app/layout-bd109086f2ceb074.js" async=""></script><script src="/_next/static/chunks/app/page-f4f4588aec9ab4cd.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>Umbrel App Store</title><meta name="description" content="Discover self-hosted apps for your umbrelOS home server. Learn more, see screenshots, and more."/><link rel="manifest" href="/manifest.json" crossorigin="use-credentials"/><meta name="keywords" content="umbrel app store,umbrel,umbrel app,umbrel apps,umbrelOS,umbrel os,raspberry pi,home server,self hosted,personal server,umbrell"/><meta name="robots" content="index, follow"/><meta name="googlebot" content="index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1"/><meta property="og:title" content="Umbrel App Store"/><meta property="og:description" content="Discover self-hosted apps for your umbrelOS home server. Learn more, see screenshots, and more."/><meta property="og:url" content="https://apps.umbrel.com"/><meta property="og:locale" content="en-US"/><meta property="og:image" content="https://apps.umbrel.com/api/og-image"/><meta property="og:image:width" content="1230"/><meta property="og:image:height" content="600"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:site" content="@umbrel"/><meta name="twitter:creator" content="@umbrel"/><meta name="twitter:title" content="Umbrel App Store"/><meta name="twitter:description" content="Discover self-hosted apps for your umbrelOS home server. Learn more, see screenshots, and more."/><meta name="twitter:image" content="https://apps.umbrel.com/api/og-image"/><meta name="twitter:image:width" content="1230"/><meta name="twitter:image:height" content="600"/><link rel="shortcut icon" href="/images/icon-192x192.png"/><link rel="icon" href="/images/icon-32x32.png"/><link rel="apple-touch-icon" href="/images/icon-180x180.png"/><link rel="/images/icon-180x180.png" href="/images/icon-180x180.png"/><meta name="next-size-adjust"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><body><div class="fixed -z-20 top-0 inset-x-0 flex justify-center overflow-hidden pointer-events-none"><div class="w-[100rem] flex-none flex justify-end"><img alt="" loading="lazy" width="2880" height="1232" decoding="async" data-nimg="1" class="w-[75rem] flex-none max-w-none blur-xl" style="color:transparent" srcSet="/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fbackground.95b19baa.jpg&amp;w=3840&amp;q=75 1x" src="/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fbackground.95b19baa.jpg&amp;w=3840&amp;q=75"/></div></div><div class="2xl:container 2xl:mx-auto"><div class="fixed z-[999] right-1/2 translate-x-1/2 lg:right-6 bottom-5 lg:bottom-12 lg:translate-x-0 2xl:right-[calc(((100vw-1536px)/2)+1.5rem)]"><div class="" style="opacity:0;transform:scale(0.85) translateZ(0)"><div class="" tabindex="0"><a class="install-umbrel-cta px-8 py-2 text-sm sm:text-base shadow-lg bg-white/70 backdrop-blur-md backdrop-saturate-150" href="https://umbrel.com/umbrelos" target="_blank" rel="noreferrer">Explore umbrelOS<span class="gradient"></span></a></div></div></div><div class="w-full"><header class="w-full fixed z-50 sm:w-[34vw] md:w-[28vw] lg:w-[18vw] 2xl:w-[280px] sm:bg-white/10 sm:backdrop-blur-2xl sm:min-h-screen overflow-y-auto flex flex-col sm:py-6 sm:after:block sm:after:absolute sm:after:top-10 sm:after:bottom-10 sm:after:right-0 sm:after:w-px after:h-[calc(100vh - 20px)] sm:after:bg-black sm:after:opacity-[0.09]"><div class="hidden sm:flex flex-col mx-6"><a href="/"><svg class="w-[80px]" viewBox="0 0 96 51" fill="none" xmlns="http://www.w3.org/2000/svg"><g filter="url(#filter0_d_17_614)"><path fill-rule="evenodd" clip-rule="evenodd" d="M47.1782 12.0277C56.7533 11.8437 64.2913 14.4199 70.1383 19.4912C74.386 23.1753 77.9382 28.3479 80.6853 35.1793C78.5921Line truncated
Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

+1
View File
@@ -0,0 +1 @@
<!DOCTYPE html><html lang="en" class="__variable_f367f3"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/cd0f790f4041f2ba.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-bf270f4cf29f373d.js"/><script src="/_next/static/chunks/fd9d1056-d22a852a8a2fb290.js" async=""></script><script src="/_next/static/chunks/117-30f9b27799b83c6a.js" async=""></script><script src="/_next/static/chunks/main-app-2dcde4753ea0d175.js" async=""></script><script src="/_next/static/chunks/855-14f0d586cb1150be.js" async=""></script><script src="/_next/static/chunks/718-e2bb5c0b3f477e27.js" async=""></script><script src="/_next/static/chunks/716-cd5dd0af024a6144.js" async=""></script><script src="/_next/static/chunks/app/layout-bd109086f2ceb074.js" async=""></script><script src="/_next/static/chunks/app/page-f4f4588aec9ab4cd.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>Umbrel App Store</title><meta name="description" content="Discover self-hosted apps for your umbrelOS home server. Learn more, see screenshots, and more."/><link rel="manifest" href="/manifest.json" crossorigin="use-credentials"/><meta name="keywords" content="umbrel app store,umbrel,umbrel app,umbrel apps,umbrelOS,umbrel os,raspberry pi,home server,self hosted,personal server,umbrell"/><meta name="robots" content="index, follow"/><meta name="googlebot" content="index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1"/><meta property="og:title" content="Umbrel App Store"/><meta property="og:description" content="Discover self-hosted apps for your umbrelOS home server. Learn more, see screenshots, and more."/><meta property="og:url" content="https://apps.umbrel.com"/><meta property="og:locale" content="en-US"/><meta property="og:image" content="https://apps.umbrel.com/api/og-image"/><meta property="og:image:width" content="1230"/><meta property="og:image:height" content="600"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:site" content="@umbrel"/><meta name="twitter:creator" content="@umbrel"/><meta name="twitter:title" content="Umbrel App Store"/><meta name="twitter:description" content="Discover self-hosted apps for your umbrelOS home server. Learn more, see screenshots, and more."/><meta name="twitter:image" content="https://apps.umbrel.com/api/og-image"/><meta name="twitter:image:width" content="1230"/><meta name="twitter:image:height" content="600"/><link rel="shortcut icon" href="/images/icon-192x192.png"/><link rel="icon" href="/images/icon-32x32.png"/><link rel="apple-touch-icon" href="/images/icon-180x180.png"/><link rel="/images/icon-180x180.png" href="/images/icon-180x180.png"/><meta name="next-size-adjust"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><body><div class="fixed -z-20 top-0 inset-x-0 flex justify-center overflow-hidden pointer-events-none"><div class="w-[100rem] flex-none flex justify-end"><img alt="" loading="lazy" width="2880" height="1232" decoding="async" data-nimg="1" class="w-[75rem] flex-none max-w-none blur-xl" style="color:transparent" srcSet="/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fbackground.95b19baa.jpg&amp;w=3840&amp;q=75 1x" src="/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fbackground.95b19baa.jpg&amp;w=3840&amp;q=75"/></div></div><div class="2xl:container 2xl:mx-auto"><div class="fixed z-[999] right-1/2 translate-x-1/2 lg:right-6 bottom-5 lg:bottom-12 lg:translate-x-0 2xl:right-[calc(((100vw-1536px)/2)+1.5rem)]"><div class="" style="opacity:0;transform:scale(0.85) translateZ(0)"><div class="" tabindex="0"><a class="install-umbrel-cta px-8 py-2 text-sm sm:text-base shadow-lg bg-white/70 backdrop-blur-md backdrop-saturate-150" href="https://umbrel.com/umbrelos" target="_blank" rel="noreferrer">Explore umbrelOS<span class="gradient"></span></a></div></div></div><div class="w-full"><header class="w-full fixed z-50 sm:w-[34vw] md:w-[28vw] lg:w-[18vw] 2xl:w-[280px] sm:bg-white/10 sm:backdrop-blur-2xl sm:min-h-screen overflow-y-auto flex flex-col sm:py-6 sm:after:block sm:after:absolute sm:after:top-10 sm:after:bottom-10 sm:after:right-0 sm:after:w-px after:h-[calc(100vh - 20px)] sm:after:bg-black sm:after:opacity-[0.09]"><div class="hidden sm:flex flex-col mx-6"><a href="/"><svg class="w-[80px]" viewBox="0 0 96 51" fill="none" xmlns="http://www.w3.org/2000/svg"><g filter="url(#filter0_d_17_614)"><path fill-rule="evenodd" clip-rule="evenodd" d="M47.1782 12.0277C56.7533 11.8437 64.2913 14.4199 70.1383 19.4912C74.386 23.1753 77.9382 28.3479 80.6853 35.1793C78.5921Line truncated
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

+1
View File
@@ -0,0 +1 @@
<!DOCTYPE html><html lang="en" class="__variable_f367f3"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/cd0f790f4041f2ba.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-bf270f4cf29f373d.js"/><script src="/_next/static/chunks/fd9d1056-d22a852a8a2fb290.js" async=""></script><script src="/_next/static/chunks/117-30f9b27799b83c6a.js" async=""></script><script src="/_next/static/chunks/main-app-2dcde4753ea0d175.js" async=""></script><script src="/_next/static/chunks/855-14f0d586cb1150be.js" async=""></script><script src="/_next/static/chunks/718-e2bb5c0b3f477e27.js" async=""></script><script src="/_next/static/chunks/716-cd5dd0af024a6144.js" async=""></script><script src="/_next/static/chunks/app/layout-bd109086f2ceb074.js" async=""></script><script src="/_next/static/chunks/app/page-f4f4588aec9ab4cd.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>Umbrel App Store</title><meta name="description" content="Discover self-hosted apps for your umbrelOS home server. Learn more, see screenshots, and more."/><link rel="manifest" href="/manifest.json" crossorigin="use-credentials"/><meta name="keywords" content="umbrel app store,umbrel,umbrel app,umbrel apps,umbrelOS,umbrel os,raspberry pi,home server,self hosted,personal server,umbrell"/><meta name="robots" content="index, follow"/><meta name="googlebot" content="index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1"/><meta property="og:title" content="Umbrel App Store"/><meta property="og:description" content="Discover self-hosted apps for your umbrelOS home server. Learn more, see screenshots, and more."/><meta property="og:url" content="https://apps.umbrel.com"/><meta property="og:locale" content="en-US"/><meta property="og:image" content="https://apps.umbrel.com/api/og-image"/><meta property="og:image:width" content="1230"/><meta property="og:image:height" content="600"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:site" content="@umbrel"/><meta name="twitter:creator" content="@umbrel"/><meta name="twitter:title" content="Umbrel App Store"/><meta name="twitter:description" content="Discover self-hosted apps for your umbrelOS home server. Learn more, see screenshots, and more."/><meta name="twitter:image" content="https://apps.umbrel.com/api/og-image"/><meta name="twitter:image:width" content="1230"/><meta name="twitter:image:height" content="600"/><link rel="shortcut icon" href="/images/icon-192x192.png"/><link rel="icon" href="/images/icon-32x32.png"/><link rel="apple-touch-icon" href="/images/icon-180x180.png"/><link rel="/images/icon-180x180.png" href="/images/icon-180x180.png"/><meta name="next-size-adjust"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><body><div class="fixed -z-20 top-0 inset-x-0 flex justify-center overflow-hidden pointer-events-none"><div class="w-[100rem] flex-none flex justify-end"><img alt="" loading="lazy" width="2880" height="1232" decoding="async" data-nimg="1" class="w-[75rem] flex-none max-w-none blur-xl" style="color:transparent" srcSet="/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fbackground.95b19baa.jpg&amp;w=3840&amp;q=75 1x" src="/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fbackground.95b19baa.jpg&amp;w=3840&amp;q=75"/></div></div><div class="2xl:container 2xl:mx-auto"><div class="fixed z-[999] right-1/2 translate-x-1/2 lg:right-6 bottom-5 lg:bottom-12 lg:translate-x-0 2xl:right-[calc(((100vw-1536px)/2)+1.5rem)]"><div class="" style="opacity:0;transform:scale(0.85) translateZ(0)"><div class="" tabindex="0"><a class="install-umbrel-cta px-8 py-2 text-sm sm:text-base shadow-lg bg-white/70 backdrop-blur-md backdrop-saturate-150" href="https://umbrel.com/umbrelos" target="_blank" rel="noreferrer">Explore umbrelOS<span class="gradient"></span></a></div></div></div><div class="w-full"><header class="w-full fixed z-50 sm:w-[34vw] md:w-[28vw] lg:w-[18vw] 2xl:w-[280px] sm:bg-white/10 sm:backdrop-blur-2xl sm:min-h-screen overflow-y-auto flex flex-col sm:py-6 sm:after:block sm:after:absolute sm:after:top-10 sm:after:bottom-10 sm:after:right-0 sm:after:w-px after:h-[calc(100vh - 20px)] sm:after:bg-black sm:after:opacity-[0.09]"><div class="hidden sm:flex flex-col mx-6"><a href="/"><svg class="w-[80px]" viewBox="0 0 96 51" fill="none" xmlns="http://www.w3.org/2000/svg"><g filter="url(#filter0_d_17_614)"><path fill-rule="evenodd" clip-rule="evenodd" d="M47.1782 12.0277C56.7533 11.8437 64.2913 14.4199 70.1383 19.4912C74.386 23.1753 77.9382 28.3479 80.6853 35.1793C78.5921Line truncated
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

File diff suppressed because it is too large. Load diff
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

+1
View File
@@ -0,0 +1 @@
<!DOCTYPE html><html lang="en" class="__variable_f367f3"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/cd0f790f4041f2ba.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-bf270f4cf29f373d.js"/><script src="/_next/static/chunks/fd9d1056-d22a852a8a2fb290.js" async=""></script><script src="/_next/static/chunks/117-30f9b27799b83c6a.js" async=""></script><script src="/_next/static/chunks/main-app-2dcde4753ea0d175.js" async=""></script><script src="/_next/static/chunks/855-14f0d586cb1150be.js" async=""></script><script src="/_next/static/chunks/718-e2bb5c0b3f477e27.js" async=""></script><script src="/_next/static/chunks/716-cd5dd0af024a6144.js" async=""></script><script src="/_next/static/chunks/app/layout-bd109086f2ceb074.js" async=""></script><script src="/_next/static/chunks/app/page-f4f4588aec9ab4cd.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>Umbrel App Store</title><meta name="description" content="Discover self-hosted apps for your umbrelOS home server. Learn more, see screenshots, and more."/><link rel="manifest" href="/manifest.json" crossorigin="use-credentials"/><meta name="keywords" content="umbrel app store,umbrel,umbrel app,umbrel apps,umbrelOS,umbrel os,raspberry pi,home server,self hosted,personal server,umbrell"/><meta name="robots" content="index, follow"/><meta name="googlebot" content="index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1"/><meta property="og:title" content="Umbrel App Store"/><meta property="og:description" content="Discover self-hosted apps for your umbrelOS home server. Learn more, see screenshots, and more."/><meta property="og:url" content="https://apps.umbrel.com"/><meta property="og:locale" content="en-US"/><meta property="og:image" content="https://apps.umbrel.com/api/og-image"/><meta property="og:image:width" content="1230"/><meta property="og:image:height" content="600"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:site" content="@umbrel"/><meta name="twitter:creator" content="@umbrel"/><meta name="twitter:title" content="Umbrel App Store"/><meta name="twitter:description" content="Discover self-hosted apps for your umbrelOS home server. Learn more, see screenshots, and more."/><meta name="twitter:image" content="https://apps.umbrel.com/api/og-image"/><meta name="twitter:image:width" content="1230"/><meta name="twitter:image:height" content="600"/><link rel="shortcut icon" href="/images/icon-192x192.png"/><link rel="icon" href="/images/icon-32x32.png"/><link rel="apple-touch-icon" href="/images/icon-180x180.png"/><link rel="/images/icon-180x180.png" href="/images/icon-180x180.png"/><meta name="next-size-adjust"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><body><div class="fixed -z-20 top-0 inset-x-0 flex justify-center overflow-hidden pointer-events-none"><div class="w-[100rem] flex-none flex justify-end"><img alt="" loading="lazy" width="2880" height="1232" decoding="async" data-nimg="1" class="w-[75rem] flex-none max-w-none blur-xl" style="color:transparent" srcSet="/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fbackground.95b19baa.jpg&amp;w=3840&amp;q=75 1x" src="/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fbackground.95b19baa.jpg&amp;w=3840&amp;q=75"/></div></div><div class="2xl:container 2xl:mx-auto"><div class="fixed z-[999] right-1/2 translate-x-1/2 lg:right-6 bottom-5 lg:bottom-12 lg:translate-x-0 2xl:right-[calc(((100vw-1536px)/2)+1.5rem)]"><div class="" style="opacity:0;transform:scale(0.85) translateZ(0)"><div class="" tabindex="0"><a class="install-umbrel-cta px-8 py-2 text-sm sm:text-base shadow-lg bg-white/70 backdrop-blur-md backdrop-saturate-150" href="https://umbrel.com/umbrelos" target="_blank" rel="noreferrer">Explore umbrelOS<span class="gradient"></span></a></div></div></div><div class="w-full"><header class="w-full fixed z-50 sm:w-[34vw] md:w-[28vw] lg:w-[18vw] 2xl:w-[280px] sm:bg-white/10 sm:backdrop-blur-2xl sm:min-h-screen overflow-y-auto flex flex-col sm:py-6 sm:after:block sm:after:absolute sm:after:top-10 sm:after:bottom-10 sm:after:right-0 sm:after:w-px after:h-[calc(100vh - 20px)] sm:after:bg-black sm:after:opacity-[0.09]"><div class="hidden sm:flex flex-col mx-6"><a href="/"><svg class="w-[80px]" viewBox="0 0 96 51" fill="none" xmlns="http://www.w3.org/2000/svg"><g filter="url(#filter0_d_17_614)"><path fill-rule="evenodd" clip-rule="evenodd" d="M47.1782 12.0277C56.7533 11.8437 64.2913 14.4199 70.1383 19.4912C74.386 23.1753 77.9382 28.3479 80.6853 35.1793C78.5921Line truncated
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

+1
View File
@@ -0,0 +1 @@
<!DOCTYPE html><html lang="en" class="__variable_f367f3"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/cd0f790f4041f2ba.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-bf270f4cf29f373d.js"/><script src="/_next/static/chunks/fd9d1056-d22a852a8a2fb290.js" async=""></script><script src="/_next/static/chunks/117-30f9b27799b83c6a.js" async=""></script><script src="/_next/static/chunks/main-app-2dcde4753ea0d175.js" async=""></script><script src="/_next/static/chunks/855-14f0d586cb1150be.js" async=""></script><script src="/_next/static/chunks/718-e2bb5c0b3f477e27.js" async=""></script><script src="/_next/static/chunks/716-cd5dd0af024a6144.js" async=""></script><script src="/_next/static/chunks/app/layout-bd109086f2ceb074.js" async=""></script><script src="/_next/static/chunks/app/page-f4f4588aec9ab4cd.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>Umbrel App Store</title><meta name="description" content="Discover self-hosted apps for your umbrelOS home server. Learn more, see screenshots, and more."/><link rel="manifest" href="/manifest.json" crossorigin="use-credentials"/><meta name="keywords" content="umbrel app store,umbrel,umbrel app,umbrel apps,umbrelOS,umbrel os,raspberry pi,home server,self hosted,personal server,umbrell"/><meta name="robots" content="index, follow"/><meta name="googlebot" content="index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1"/><meta property="og:title" content="Umbrel App Store"/><meta property="og:description" content="Discover self-hosted apps for your umbrelOS home server. Learn more, see screenshots, and more."/><meta property="og:url" content="https://apps.umbrel.com"/><meta property="og:locale" content="en-US"/><meta property="og:image" content="https://apps.umbrel.com/api/og-image"/><meta property="og:image:width" content="1230"/><meta property="og:image:height" content="600"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:site" content="@umbrel"/><meta name="twitter:creator" content="@umbrel"/><meta name="twitter:title" content="Umbrel App Store"/><meta name="twitter:description" content="Discover self-hosted apps for your umbrelOS home server. Learn more, see screenshots, and more."/><meta name="twitter:image" content="https://apps.umbrel.com/api/og-image"/><meta name="twitter:image:width" content="1230"/><meta name="twitter:image:height" content="600"/><link rel="shortcut icon" href="/images/icon-192x192.png"/><link rel="icon" href="/images/icon-32x32.png"/><link rel="apple-touch-icon" href="/images/icon-180x180.png"/><link rel="/images/icon-180x180.png" href="/images/icon-180x180.png"/><meta name="next-size-adjust"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><body><div class="fixed -z-20 top-0 inset-x-0 flex justify-center overflow-hidden pointer-events-none"><div class="w-[100rem] flex-none flex justify-end"><img alt="" loading="lazy" width="2880" height="1232" decoding="async" data-nimg="1" class="w-[75rem] flex-none max-w-none blur-xl" style="color:transparent" srcSet="/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fbackground.95b19baa.jpg&amp;w=3840&amp;q=75 1x" src="/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fbackground.95b19baa.jpg&amp;w=3840&amp;q=75"/></div></div><div class="2xl:container 2xl:mx-auto"><div class="fixed z-[999] right-1/2 translate-x-1/2 lg:right-6 bottom-5 lg:bottom-12 lg:translate-x-0 2xl:right-[calc(((100vw-1536px)/2)+1.5rem)]"><div class="" style="opacity:0;transform:scale(0.85) translateZ(0)"><div class="" tabindex="0"><a class="install-umbrel-cta px-8 py-2 text-sm sm:text-base shadow-lg bg-white/70 backdrop-blur-md backdrop-saturate-150" href="https://umbrel.com/umbrelos" target="_blank" rel="noreferrer">Explore umbrelOS<span class="gradient"></span></a></div></div></div><div class="w-full"><header class="w-full fixed z-50 sm:w-[34vw] md:w-[28vw] lg:w-[18vw] 2xl:w-[280px] sm:bg-white/10 sm:backdrop-blur-2xl sm:min-h-screen overflow-y-auto flex flex-col sm:py-6 sm:after:block sm:after:absolute sm:after:top-10 sm:after:bottom-10 sm:after:right-0 sm:after:w-px after:h-[calc(100vh - 20px)] sm:after:bg-black sm:after:opacity-[0.09]"><div class="hidden sm:flex flex-col mx-6"><a href="/"><svg class="w-[80px]" viewBox="0 0 96 51" fill="none" xmlns="http://www.w3.org/2000/svg"><g filter="url(#filter0_d_17_614)"><path fill-rule="evenodd" clip-rule="evenodd" d="M47.1782 12.0277C56.7533 11.8437 64.2913 14.4199 70.1383 19.4912C74.386 23.1753 77.9382 28.3479 80.6853 35.1793C78.5921Line truncated
Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

+1
View File
@@ -0,0 +1 @@
<!DOCTYPE html><html lang="en" class="__variable_f367f3"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/cd0f790f4041f2ba.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-bf270f4cf29f373d.js"/><script src="/_next/static/chunks/fd9d1056-d22a852a8a2fb290.js" async=""></script><script src="/_next/static/chunks/117-30f9b27799b83c6a.js" async=""></script><script src="/_next/static/chunks/main-app-2dcde4753ea0d175.js" async=""></script><script src="/_next/static/chunks/855-14f0d586cb1150be.js" async=""></script><script src="/_next/static/chunks/718-e2bb5c0b3f477e27.js" async=""></script><script src="/_next/static/chunks/716-cd5dd0af024a6144.js" async=""></script><script src="/_next/static/chunks/app/layout-bd109086f2ceb074.js" async=""></script><script src="/_next/static/chunks/app/page-f4f4588aec9ab4cd.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>Umbrel App Store</title><meta name="description" content="Discover self-hosted apps for your umbrelOS home server. Learn more, see screenshots, and more."/><link rel="manifest" href="/manifest.json" crossorigin="use-credentials"/><meta name="keywords" content="umbrel app store,umbrel,umbrel app,umbrel apps,umbrelOS,umbrel os,raspberry pi,home server,self hosted,personal server,umbrell"/><meta name="robots" content="index, follow"/><meta name="googlebot" content="index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1"/><meta property="og:title" content="Umbrel App Store"/><meta property="og:description" content="Discover self-hosted apps for your umbrelOS home server. Learn more, see screenshots, and more."/><meta property="og:url" content="https://apps.umbrel.com"/><meta property="og:locale" content="en-US"/><meta property="og:image" content="https://apps.umbrel.com/api/og-image"/><meta property="og:image:width" content="1230"/><meta property="og:image:height" content="600"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:site" content="@umbrel"/><meta name="twitter:creator" content="@umbrel"/><meta name="twitter:title" content="Umbrel App Store"/><meta name="twitter:description" content="Discover self-hosted apps for your umbrelOS home server. Learn more, see screenshots, and more."/><meta name="twitter:image" content="https://apps.umbrel.com/api/og-image"/><meta name="twitter:image:width" content="1230"/><meta name="twitter:image:height" content="600"/><link rel="shortcut icon" href="/images/icon-192x192.png"/><link rel="icon" href="/images/icon-32x32.png"/><link rel="apple-touch-icon" href="/images/icon-180x180.png"/><link rel="/images/icon-180x180.png" href="/images/icon-180x180.png"/><meta name="next-size-adjust"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><body><div class="fixed -z-20 top-0 inset-x-0 flex justify-center overflow-hidden pointer-events-none"><div class="w-[100rem] flex-none flex justify-end"><img alt="" loading="lazy" width="2880" height="1232" decoding="async" data-nimg="1" class="w-[75rem] flex-none max-w-none blur-xl" style="color:transparent" srcSet="/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fbackground.95b19baa.jpg&amp;w=3840&amp;q=75 1x" src="/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fbackground.95b19baa.jpg&amp;w=3840&amp;q=75"/></div></div><div class="2xl:container 2xl:mx-auto"><div class="fixed z-[999] right-1/2 translate-x-1/2 lg:right-6 bottom-5 lg:bottom-12 lg:translate-x-0 2xl:right-[calc(((100vw-1536px)/2)+1.5rem)]"><div class="" style="opacity:0;transform:scale(0.85) translateZ(0)"><div class="" tabindex="0"><a class="install-umbrel-cta px-8 py-2 text-sm sm:text-base shadow-lg bg-white/70 backdrop-blur-md backdrop-saturate-150" href="https://umbrel.com/umbrelos" target="_blank" rel="noreferrer">Explore umbrelOS<span class="gradient"></span></a></div></div></div><div class="w-full"><header class="w-full fixed z-50 sm:w-[34vw] md:w-[28vw] lg:w-[18vw] 2xl:w-[280px] sm:bg-white/10 sm:backdrop-blur-2xl sm:min-h-screen overflow-y-auto flex flex-col sm:py-6 sm:after:block sm:after:absolute sm:after:top-10 sm:after:bottom-10 sm:after:right-0 sm:after:w-px after:h-[calc(100vh - 20px)] sm:after:bg-black sm:after:opacity-[0.09]"><div class="hidden sm:flex flex-col mx-6"><a href="/"><svg class="w-[80px]" viewBox="0 0 96 51" fill="none" xmlns="http://www.w3.org/2000/svg"><g filter="url(#filter0_d_17_614)"><path fill-rule="evenodd" clip-rule="evenodd" d="M47.1782 12.0277C56.7533 11.8437 64.2913 14.4199 70.1383 19.4912C74.386 23.1753 77.9382 28.3479 80.6853 35.1793C78.5921Line truncated
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

+1
View File
@@ -0,0 +1 @@
<!DOCTYPE html><html lang="en" class="__variable_f367f3"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/cd0f790f4041f2ba.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-bf270f4cf29f373d.js"/><script src="/_next/static/chunks/fd9d1056-d22a852a8a2fb290.js" async=""></script><script src="/_next/static/chunks/117-30f9b27799b83c6a.js" async=""></script><script src="/_next/static/chunks/main-app-2dcde4753ea0d175.js" async=""></script><script src="/_next/static/chunks/855-14f0d586cb1150be.js" async=""></script><script src="/_next/static/chunks/718-e2bb5c0b3f477e27.js" async=""></script><script src="/_next/static/chunks/716-cd5dd0af024a6144.js" async=""></script><script src="/_next/static/chunks/app/layout-bd109086f2ceb074.js" async=""></script><script src="/_next/static/chunks/app/page-f4f4588aec9ab4cd.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>Umbrel App Store</title><meta name="description" content="Discover self-hosted apps for your umbrelOS home server. Learn more, see screenshots, and more."/><link rel="manifest" href="/manifest.json" crossorigin="use-credentials"/><meta name="keywords" content="umbrel app store,umbrel,umbrel app,umbrel apps,umbrelOS,umbrel os,raspberry pi,home server,self hosted,personal server,umbrell"/><meta name="robots" content="index, follow"/><meta name="googlebot" content="index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1"/><meta property="og:title" content="Umbrel App Store"/><meta property="og:description" content="Discover self-hosted apps for your umbrelOS home server. Learn more, see screenshots, and more."/><meta property="og:url" content="https://apps.umbrel.com"/><meta property="og:locale" content="en-US"/><meta property="og:image" content="https://apps.umbrel.com/api/og-image"/><meta property="og:image:width" content="1230"/><meta property="og:image:height" content="600"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:site" content="@umbrel"/><meta name="twitter:creator" content="@umbrel"/><meta name="twitter:title" content="Umbrel App Store"/><meta name="twitter:description" content="Discover self-hosted apps for your umbrelOS home server. Learn more, see screenshots, and more."/><meta name="twitter:image" content="https://apps.umbrel.com/api/og-image"/><meta name="twitter:image:width" content="1230"/><meta name="twitter:image:height" content="600"/><link rel="shortcut icon" href="/images/icon-192x192.png"/><link rel="icon" href="/images/icon-32x32.png"/><link rel="apple-touch-icon" href="/images/icon-180x180.png"/><link rel="/images/icon-180x180.png" href="/images/icon-180x180.png"/><meta name="next-size-adjust"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><body><div class="fixed -z-20 top-0 inset-x-0 flex justify-center overflow-hidden pointer-events-none"><div class="w-[100rem] flex-none flex justify-end"><img alt="" loading="lazy" width="2880" height="1232" decoding="async" data-nimg="1" class="w-[75rem] flex-none max-w-none blur-xl" style="color:transparent" srcSet="/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fbackground.95b19baa.jpg&amp;w=3840&amp;q=75 1x" src="/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fbackground.95b19baa.jpg&amp;w=3840&amp;q=75"/></div></div><div class="2xl:container 2xl:mx-auto"><div class="fixed z-[999] right-1/2 translate-x-1/2 lg:right-6 bottom-5 lg:bottom-12 lg:translate-x-0 2xl:right-[calc(((100vw-1536px)/2)+1.5rem)]"><div class="" style="opacity:0;transform:scale(0.85) translateZ(0)"><div class="" tabindex="0"><a class="install-umbrel-cta px-8 py-2 text-sm sm:text-base shadow-lg bg-white/70 backdrop-blur-md backdrop-saturate-150" href="https://umbrel.com/umbrelos" target="_blank" rel="noreferrer">Explore umbrelOS<span class="gradient"></span></a></div></div></div><div class="w-full"><header class="w-full fixed z-50 sm:w-[34vw] md:w-[28vw] lg:w-[18vw] 2xl:w-[280px] sm:bg-white/10 sm:backdrop-blur-2xl sm:min-h-screen overflow-y-auto flex flex-col sm:py-6 sm:after:block sm:after:absolute sm:after:top-10 sm:after:bottom-10 sm:after:right-0 sm:after:w-px after:h-[calc(100vh - 20px)] sm:after:bg-black sm:after:opacity-[0.09]"><div class="hidden sm:flex flex-col mx-6"><a href="/"><svg class="w-[80px]" viewBox="0 0 96 51" fill="none" xmlns="http://www.w3.org/2000/svg"><g filter="url(#filter0_d_17_614)"><path fill-rule="evenodd" clip-rule="evenodd" d="M47.1782 12.0277C56.7533 11.8437 64.2913 14.4199 70.1383 19.4912C74.386 23.1753 77.9382 28.3479 80.6853 35.1793C78.5921Line truncated
Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

+1
View File
@@ -0,0 +1 @@
<!DOCTYPE html><html lang="en" class="__variable_f367f3"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/cd0f790f4041f2ba.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-bf270f4cf29f373d.js"/><script src="/_next/static/chunks/fd9d1056-d22a852a8a2fb290.js" async=""></script><script src="/_next/static/chunks/117-30f9b27799b83c6a.js" async=""></script><script src="/_next/static/chunks/main-app-2dcde4753ea0d175.js" async=""></script><script src="/_next/static/chunks/855-14f0d586cb1150be.js" async=""></script><script src="/_next/static/chunks/718-e2bb5c0b3f477e27.js" async=""></script><script src="/_next/static/chunks/716-cd5dd0af024a6144.js" async=""></script><script src="/_next/static/chunks/app/layout-bd109086f2ceb074.js" async=""></script><script src="/_next/static/chunks/app/page-f4f4588aec9ab4cd.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>Umbrel App Store</title><meta name="description" content="Discover self-hosted apps for your umbrelOS home server. Learn more, see screenshots, and more."/><link rel="manifest" href="/manifest.json" crossorigin="use-credentials"/><meta name="keywords" content="umbrel app store,umbrel,umbrel app,umbrel apps,umbrelOS,umbrel os,raspberry pi,home server,self hosted,personal server,umbrell"/><meta name="robots" content="index, follow"/><meta name="googlebot" content="index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1"/><meta property="og:title" content="Umbrel App Store"/><meta property="og:description" content="Discover self-hosted apps for your umbrelOS home server. Learn more, see screenshots, and more."/><meta property="og:url" content="https://apps.umbrel.com"/><meta property="og:locale" content="en-US"/><meta property="og:image" content="https://apps.umbrel.com/api/og-image"/><meta property="og:image:width" content="1230"/><meta property="og:image:height" content="600"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:site" content="@umbrel"/><meta name="twitter:creator" content="@umbrel"/><meta name="twitter:title" content="Umbrel App Store"/><meta name="twitter:description" content="Discover self-hosted apps for your umbrelOS home server. Learn more, see screenshots, and more."/><meta name="twitter:image" content="https://apps.umbrel.com/api/og-image"/><meta name="twitter:image:width" content="1230"/><meta name="twitter:image:height" content="600"/><link rel="shortcut icon" href="/images/icon-192x192.png"/><link rel="icon" href="/images/icon-32x32.png"/><link rel="apple-touch-icon" href="/images/icon-180x180.png"/><link rel="/images/icon-180x180.png" href="/images/icon-180x180.png"/><meta name="next-size-adjust"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><body><div class="fixed -z-20 top-0 inset-x-0 flex justify-center overflow-hidden pointer-events-none"><div class="w-[100rem] flex-none flex justify-end"><img alt="" loading="lazy" width="2880" height="1232" decoding="async" data-nimg="1" class="w-[75rem] flex-none max-w-none blur-xl" style="color:transparent" srcSet="/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fbackground.95b19baa.jpg&amp;w=3840&amp;q=75 1x" src="/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fbackground.95b19baa.jpg&amp;w=3840&amp;q=75"/></div></div><div class="2xl:container 2xl:mx-auto"><div class="fixed z-[999] right-1/2 translate-x-1/2 lg:right-6 bottom-5 lg:bottom-12 lg:translate-x-0 2xl:right-[calc(((100vw-1536px)/2)+1.5rem)]"><div class="" style="opacity:0;transform:scale(0.85) translateZ(0)"><div class="" tabindex="0"><a class="install-umbrel-cta px-8 py-2 text-sm sm:text-base shadow-lg bg-white/70 backdrop-blur-md backdrop-saturate-150" href="https://umbrel.com/umbrelos" target="_blank" rel="noreferrer">Explore umbrelOS<span class="gradient"></span></a></div></div></div><div class="w-full"><header class="w-full fixed z-50 sm:w-[34vw] md:w-[28vw] lg:w-[18vw] 2xl:w-[280px] sm:bg-white/10 sm:backdrop-blur-2xl sm:min-h-screen overflow-y-auto flex flex-col sm:py-6 sm:after:block sm:after:absolute sm:after:top-10 sm:after:bottom-10 sm:after:right-0 sm:after:w-px after:h-[calc(100vh - 20px)] sm:after:bg-black sm:after:opacity-[0.09]"><div class="hidden sm:flex flex-col mx-6"><a href="/"><svg class="w-[80px]" viewBox="0 0 96 51" fill="none" xmlns="http://www.w3.org/2000/svg"><g filter="url(#filter0_d_17_614)"><path fill-rule="evenodd" clip-rule="evenodd" d="M47.1782 12.0277C56.7533 11.8437 64.2913 14.4199 70.1383 19.4912C74.386 23.1753 77.9382 28.3479 80.6853 35.1793C78.5921Line truncated
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

+1
View File
@@ -0,0 +1 @@
<!DOCTYPE html><html lang="en" class="__variable_f367f3"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/cd0f790f4041f2ba.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-bf270f4cf29f373d.js"/><script src="/_next/static/chunks/fd9d1056-d22a852a8a2fb290.js" async=""></script><script src="/_next/static/chunks/117-30f9b27799b83c6a.js" async=""></script><script src="/_next/static/chunks/main-app-2dcde4753ea0d175.js" async=""></script><script src="/_next/static/chunks/855-14f0d586cb1150be.js" async=""></script><script src="/_next/static/chunks/718-e2bb5c0b3f477e27.js" async=""></script><script src="/_next/static/chunks/716-cd5dd0af024a6144.js" async=""></script><script src="/_next/static/chunks/app/layout-bd109086f2ceb074.js" async=""></script><script src="/_next/static/chunks/app/page-f4f4588aec9ab4cd.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>Umbrel App Store</title><meta name="description" content="Discover self-hosted apps for your umbrelOS home server. Learn more, see screenshots, and more."/><link rel="manifest" href="/manifest.json" crossorigin="use-credentials"/><meta name="keywords" content="umbrel app store,umbrel,umbrel app,umbrel apps,umbrelOS,umbrel os,raspberry pi,home server,self hosted,personal server,umbrell"/><meta name="robots" content="index, follow"/><meta name="googlebot" content="index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1"/><meta property="og:title" content="Umbrel App Store"/><meta property="og:description" content="Discover self-hosted apps for your umbrelOS home server. Learn more, see screenshots, and more."/><meta property="og:url" content="https://apps.umbrel.com"/><meta property="og:locale" content="en-US"/><meta property="og:image" content="https://apps.umbrel.com/api/og-image"/><meta property="og:image:width" content="1230"/><meta property="og:image:height" content="600"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:site" content="@umbrel"/><meta name="twitter:creator" content="@umbrel"/><meta name="twitter:title" content="Umbrel App Store"/><meta name="twitter:description" content="Discover self-hosted apps for your umbrelOS home server. Learn more, see screenshots, and more."/><meta name="twitter:image" content="https://apps.umbrel.com/api/og-image"/><meta name="twitter:image:width" content="1230"/><meta name="twitter:image:height" content="600"/><link rel="shortcut icon" href="/images/icon-192x192.png"/><link rel="icon" href="/images/icon-32x32.png"/><link rel="apple-touch-icon" href="/images/icon-180x180.png"/><link rel="/images/icon-180x180.png" href="/images/icon-180x180.png"/><meta name="next-size-adjust"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><body><div class="fixed -z-20 top-0 inset-x-0 flex justify-center overflow-hidden pointer-events-none"><div class="w-[100rem] flex-none flex justify-end"><img alt="" loading="lazy" width="2880" height="1232" decoding="async" data-nimg="1" class="w-[75rem] flex-none max-w-none blur-xl" style="color:transparent" srcSet="/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fbackground.95b19baa.jpg&amp;w=3840&amp;q=75 1x" src="/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fbackground.95b19baa.jpg&amp;w=3840&amp;q=75"/></div></div><div class="2xl:container 2xl:mx-auto"><div class="fixed z-[999] right-1/2 translate-x-1/2 lg:right-6 bottom-5 lg:bottom-12 lg:translate-x-0 2xl:right-[calc(((100vw-1536px)/2)+1.5rem)]"><div class="" style="opacity:0;transform:scale(0.85) translateZ(0)"><div class="" tabindex="0"><a class="install-umbrel-cta px-8 py-2 text-sm sm:text-base shadow-lg bg-white/70 backdrop-blur-md backdrop-saturate-150" href="https://umbrel.com/umbrelos" target="_blank" rel="noreferrer">Explore umbrelOS<span class="gradient"></span></a></div></div></div><div class="w-full"><header class="w-full fixed z-50 sm:w-[34vw] md:w-[28vw] lg:w-[18vw] 2xl:w-[280px] sm:bg-white/10 sm:backdrop-blur-2xl sm:min-h-screen overflow-y-auto flex flex-col sm:py-6 sm:after:block sm:after:absolute sm:after:top-10 sm:after:bottom-10 sm:after:right-0 sm:after:w-px after:h-[calc(100vh - 20px)] sm:after:bg-black sm:after:opacity-[0.09]"><div class="hidden sm:flex flex-col mx-6"><a href="/"><svg class="w-[80px]" viewBox="0 0 96 51" fill="none" xmlns="http://www.w3.org/2000/svg"><g filter="url(#filter0_d_17_614)"><path fill-rule="evenodd" clip-rule="evenodd" d="M47.1782 12.0277C56.7533 11.8437 64.2913 14.4199 70.1383 19.4912C74.386 23.1753 77.9382 28.3479 80.6853 35.1793C78.5921Line truncated
Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

+1
View File
@@ -0,0 +1 @@
<!DOCTYPE html><html lang="en" class="__variable_f367f3"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/e4af272ccee01ff0-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/cd0f790f4041f2ba.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-bf270f4cf29f373d.js"/><script src="/_next/static/chunks/fd9d1056-d22a852a8a2fb290.js" async=""></script><script src="/_next/static/chunks/117-30f9b27799b83c6a.js" async=""></script><script src="/_next/static/chunks/main-app-2dcde4753ea0d175.js" async=""></script><script src="/_next/static/chunks/855-14f0d586cb1150be.js" async=""></script><script src="/_next/static/chunks/718-e2bb5c0b3f477e27.js" async=""></script><script src="/_next/static/chunks/716-cd5dd0af024a6144.js" async=""></script><script src="/_next/static/chunks/app/layout-bd109086f2ceb074.js" async=""></script><script src="/_next/static/chunks/app/page-f4f4588aec9ab4cd.js" async=""></script><meta name="robots" content="noindex"/><title>404: This page could not be found.</title><title>Umbrel App Store</title><meta name="description" content="Discover self-hosted apps for your umbrelOS home server. Learn more, see screenshots, and more."/><link rel="manifest" href="/manifest.json" crossorigin="use-credentials"/><meta name="keywords" content="umbrel app store,umbrel,umbrel app,umbrel apps,umbrelOS,umbrel os,raspberry pi,home server,self hosted,personal server,umbrell"/><meta name="robots" content="index, follow"/><meta name="googlebot" content="index, follow, max-video-preview:-1, max-image-preview:large, max-snippet:-1"/><meta property="og:title" content="Umbrel App Store"/><meta property="og:description" content="Discover self-hosted apps for your umbrelOS home server. Learn more, see screenshots, and more."/><meta property="og:url" content="https://apps.umbrel.com"/><meta property="og:locale" content="en-US"/><meta property="og:image" content="https://apps.umbrel.com/api/og-image"/><meta property="og:image:width" content="1230"/><meta property="og:image:height" content="600"/><meta property="og:type" content="website"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:site" content="@umbrel"/><meta name="twitter:creator" content="@umbrel"/><meta name="twitter:title" content="Umbrel App Store"/><meta name="twitter:description" content="Discover self-hosted apps for your umbrelOS home server. Learn more, see screenshots, and more."/><meta name="twitter:image" content="https://apps.umbrel.com/api/og-image"/><meta name="twitter:image:width" content="1230"/><meta name="twitter:image:height" content="600"/><link rel="shortcut icon" href="/images/icon-192x192.png"/><link rel="icon" href="/images/icon-32x32.png"/><link rel="apple-touch-icon" href="/images/icon-180x180.png"/><link rel="/images/icon-180x180.png" href="/images/icon-180x180.png"/><meta name="next-size-adjust"/><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><body><div class="fixed -z-20 top-0 inset-x-0 flex justify-center overflow-hidden pointer-events-none"><div class="w-[100rem] flex-none flex justify-end"><img alt="" loading="lazy" width="2880" height="1232" decoding="async" data-nimg="1" class="w-[75rem] flex-none max-w-none blur-xl" style="color:transparent" srcSet="/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fbackground.95b19baa.jpg&amp;w=3840&amp;q=75 1x" src="/_next/image?url=%2F_next%2Fstatic%2Fmedia%2Fbackground.95b19baa.jpg&amp;w=3840&amp;q=75"/></div></div><div class="2xl:container 2xl:mx-auto"><div class="fixed z-[999] right-1/2 translate-x-1/2 lg:right-6 bottom-5 lg:bottom-12 lg:translate-x-0 2xl:right-[calc(((100vw-1536px)/2)+1.5rem)]"><div class="" style="opacity:0;transform:scale(0.85) translateZ(0)"><div class="" tabindex="0"><a class="install-umbrel-cta px-8 py-2 text-sm sm:text-base shadow-lg bg-white/70 backdrop-blur-md backdrop-saturate-150" href="https://umbrel.com/umbrelos" target="_blank" rel="noreferrer">Explore umbrelOS<span class="gradient"></span></a></div></div></div><div class="w-full"><header class="w-full fixed z-50 sm:w-[34vw] md:w-[28vw] lg:w-[18vw] 2xl:w-[280px] sm:bg-white/10 sm:backdrop-blur-2xl sm:min-h-screen overflow-y-auto flex flex-col sm:py-6 sm:after:block sm:after:absolute sm:after:top-10 sm:after:bottom-10 sm:after:right-0 sm:after:w-px after:h-[calc(100vh - 20px)] sm:after:bg-black sm:after:opacity-[0.09]"><div class="hidden sm:flex flex-col mx-6"><a href="/"><svg class="w-[80px]" viewBox="0 0 96 51" fill="none" xmlns="http://www.w3.org/2000/svg"><g filter="url(#filter0_d_17_614)"><path fill-rule="evenodd" clip-rule="evenodd" d="M47.1782 12.0277C56.7533 11.8437 64.2913 14.4199 70.1383 19.4912C74.386 23.1753 77.9382 28.3479 80.6853 35.1793C78.5921Line truncated
+22 -9
View File
@@ -19,6 +19,9 @@ LOADING_STATES = {"reloading", "activating", "deactivating", "maintenance"}
# Icon directory injected by the Nix derivation via environment variable
ICON_DIR = os.environ.get("SOVRAN_HUB_ICONS", "")
# Supported icon extensions in priority order
ICON_EXTENSIONS = [".svg", ".png"]
class ServiceTile(Gtk.Box):
"""A square tile showing a service logo, name, status, toggle, and restart."""
@@ -106,16 +109,26 @@ class ServiceTile(Gtk.Box):
self.refresh()
def _set_logo(self, icon_name: str):
"""Set the tile logo from a PNG in the icons dir, or fall back to a symbolic icon."""
"""Set the tile logo from an SVG or PNG in the icons dir."""
if icon_name and ICON_DIR:
png_path = os.path.join(ICON_DIR, f"{icon_name}.png")
if os.path.isfile(png_path):
pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_scale(
png_path, 48, 48, True
)
texture = Gdk.Texture.new_for_pixbuf(pixbuf)
self._logo.set_from_paintable(texture)
return
for ext in ICON_EXTENSIONS:
icon_path = os.path.join(ICON_DIR, f"{icon_name}{ext}")
if os.path.isfile(icon_path):
if ext == ".svg":
# GTK4 handles SVGs natively via GdkPixbuf
pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_scale(
icon_path, 48, 48, True
)
texture = Gdk.Texture.new_for_pixbuf(pixbuf)
self._logo.set_from_paintable(texture)
else:
# PNG path
pixbuf = GdkPixbuf.Pixbuf.new_from_file_at_scale(
icon_path, 48, 48, True
)
texture = Gdk.Texture.new_for_pixbuf(pixbuf)
self._logo.set_from_paintable(texture)
return
# Fallback: themed symbolic icon
self._logo.set_from_icon_name("system-run-symbolic")
+3 -2
View File
@@ -67,6 +67,7 @@ let
pkgs.libadwaita
pkgs.gobject-introspection
pkgs.gdk-pixbuf
pkgs.librsvg
];
propagatedBuildInputs = [
@@ -85,7 +86,7 @@ let
cp style.css $out/lib/sovran-hub/style.css
# Copy logos from the repo (no fetchurl needed)
cp icons/*.png $out/share/sovran-hub/icons/
cp icons/* $out/share/sovran-hub/icons/ 2>/dev/null || true
# Install the generated config
cp ${generatedConfig} $out/lib/sovran-hub/config.json
@@ -130,4 +131,4 @@ in
config = {
environment.systemPackages = [ sovran-hub ];
};
}
}