diff --git a/404.html b/404.html index 821167c8281..73f12c5cecb 100644 --- a/404.html +++ b/404.html @@ -13,13 +13,13 @@ - +
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

- + \ No newline at end of file diff --git a/assets/js/059d1c6a.e2b37df5.js b/assets/js/059d1c6a.e2b37df5.js deleted file mode 100644 index edb9d2d9717..00000000000 --- a/assets/js/059d1c6a.e2b37df5.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[8262,1724,5248,7505],{544:(e,t,a)=>{a.d(t,{Z:()=>r});var l=a(7378),n=a(161);const r=function(){function e(){var e,t;if(null==(e=document)||!e.documentElement)return;const a=document.documentElement;"dark"===(null==(t=a.dataset)?void 0:t.theme)?(a.classList.add("dark"),setTimeout((()=>{a.classList.add("dark")}),100)):(a.classList.remove("dark"),setTimeout((()=>{a.classList.remove("dark")}),100))}return(0,l.useEffect)((()=>{n.Z.canUseDOM&&e()}),[n.Z.canUseDOM]),(0,l.useEffect)((()=>{if(!n.Z.canUseDOM)return;const t=new MutationObserver((t=>{t.forEach((t=>{"attributes"!=t.type||"data-rh"!==t.attributeName&&"data-theme"!==t.attributeName||e()}))}));return t.observe(document.documentElement,{attributes:!0,childList:!1,subtree:!1}),()=>{t.disconnect()}}),[n.Z.canUseDOM]),l.createElement("div",null)}},6187:(e,t,a)=>{a.r(t),a.d(t,{default:()=>m});var l=a(353),n=a(432),r=a(7378),s=a(544),o=a(919),c=a(36),i=a(3963);function m(){const{siteConfig:e}=(0,l.Z)();return r.createElement(n.Z,{title:e.title,description:"Downloads"},r.createElement("section",{className:"container mx-auto flex justify-left flex-col bg-hero-pattern bg-no-repeat bg-center bg-cover"},r.createElement("div",{className:"bg-white/30 dark:bg-transparent"},r.createElement("div",{className:"lg:w-2/3 w-full"},r.createElement("h1",{className:"flex flex-col title-font sm:text-3xl text-2xl lg:text-5xl mb-10 font-medium text-gray-900 dark:text-white"},"Downloads")),r.createElement("div",{className:"flex lg:flex-row flex-col mb-12 gap-8"},r.createElement(s.Z,null),r.createElement(c.WindowsDownloads,null),r.createElement(o.MacOSDownloads,null),r.createElement(i.LinuxDownloads,null)))))}},3963:(e,t,a)=>{a.r(t),a.d(t,{LinuxDownloads:()=>d,default:()=>x});var l=a(353),n=a(432),r=a(7378),s=a(544),o=a(1884),c=a(2739),i=a(9374),m=a(9928);function d(){const[e,t]=(0,r.useState)({version:"",binary:"",flatpak:""});return(0,r.useEffect)((()=>{(async function(e){const t=await fetch("https://api.github.com/repos/containers/podman-desktop/releases/latest"),a=await t.json(),l=a.assets,n=l.filter((e=>e.name.endsWith(".tar.gz")));if(1!==n.length)throw new Error("Unable to grab .tar.gz");const r=n[0],s=l.filter((e=>e.name.endsWith(".flatpak")));if(1!==s.length)throw new Error("Unable to grab .flatpak");const o=s[0];e({version:a.name,binary:r.browser_download_url,flatpak:o.browser_download_url})})(t).catch((e=>{console.error(e)}))}),[]),r.createElement("div",{className:"basis-1/3 py-2 rounded-lg dark:text-gray-400 text-gray-900 bg-zinc-300/25 dark:bg-zinc-700/25 bg-blend-multiply text-center items-center"},r.createElement(c.G,{size:"4x",icon:m.qJE,className:"my-4"}),r.createElement("h2",{className:"w-full text-center text-4xl title-font font-medium pb-3 border-purple-500 border-b-2"},"Linux"),r.createElement("div",{className:"flex p-1 flex-col md:flex-col items-center align-top"},r.createElement("div",{className:"flex flex-col align-middle items-center"},r.createElement("h3",{className:"mt-0"},"Podman Desktop for Linux"),r.createElement("div",{className:"pt-8"},r.createElement(o.Z,{className:"mt-auto no-underline hover:no-underline inline-flex text-white hover:text-white bg-purple-500 border-0 py-2 px-6 focus:outline-none hover:bg-purple-500 rounded text-md font-semibold",to:e.flatpak},r.createElement(c.G,{size:"1x",icon:i.q7m,className:"mr-2"}),"Download Now"),r.createElement("caption",{className:"block w-full mt-1 text/50 dark:text-white/50"},"Linux *.flatpak, version ",e.version)),r.createElement("div",{className:"mt-4"},r.createElement("div",null,"Other Linux downloads:"),r.createElement(o.Z,{className:"underline inline-flex dark:text-white text-purple-500 hover:text-purple-200 py-2 px-6 font-semibold text-md",to:e.binary},r.createElement(c.G,{size:"1x",icon:i.q7m,className:"mr-2"}),"AMD64 binary (tar.gz)")),r.createElement("div",{className:"flex flex-col align-middle items-center"},r.createElement("div",{className:"items-center text-center pt-6"},r.createElement("p",{className:"text-lg"},"Using"," ",r.createElement("a",{className:"text-purple-500",href:"https://flathub.org/apps/details/io.podman_desktop.PodmanDesktop"},"Flathub")," ","? Install in one command:"),r.createElement("div",{className:"flex flex-row pt-3 pb-7"},r.createElement("p",{className:"text-xl p-1 mx-1"},r.createElement("svg",{width:"35px",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor"},r.createElement("path",{d:"M12 2.604l-.43.283L0 10.459v6.752l6.393 4.184L12 17.725l5.607 3.671L24 17.211v-6.752L12 2.604zm0 .828l5.434 3.556-2.717 1.778L12 10.545l-2.717-1.78-2.717-1.777L12 3.432zM6.39 7.104l5.434 3.556-5.408 3.54-5.434-3.557 5.409-3.54zm11.22 0l5.431 3.554-5.434 3.557-5.433-3.555 5.435-3.556zM.925 10.867l5.379 3.52a.123.08 0 00.027.013v5.647l-5.406-3.54v-5.64zm11.213.115l5.408 3.54v5.664l-5.408-3.54v-5.664z"}))),r.createElement("div",{className:"dark:bg-charcoal-800/50 bg-zinc-300/50 p-1 text-xl dark:text-purple-200 text-purple-600 flex flex-row"},r.createElement("div",{className:"w-72 truncate"},r.createElement(c.G,{size:"xs",icon:i.Jw3,className:"mx-2 mt-3"}),"flatpak install flathub io.podman_desktop.PodmanDesktop"),r.createElement("div",null,r.createElement("button",{title:"Copy To Clipboard",className:"mr-2 p-1"}," ",r.createElement(c.G,{size:"xs",icon:i.O4,className:"ml-3 cursor-pointer text-xl text-white-500",onClick:()=>{(async()=>{await navigator.clipboard.writeText("flatpak install flathub io.podman_desktop.PodmanDesktop")})().catch((e=>{console.error("unable to copy instructions",e)}))}}))))))))))}function x(){const{siteConfig:e}=(0,l.Z)();return r.createElement(n.Z,{title:e.title,description:"Downloads for macOS"},r.createElement(s.Z,null),r.createElement("section",{className:"container mx-auto flex justify-center flex-col"},r.createElement("div",{className:"w-full flex flex-col"},r.createElement("h1",{className:"title-font sm:text-3xl text-2xl lg:text-5xl mb-10 font-medium text-gray-900 dark:text-white"},"Linux Downloads"),r.createElement("main",{className:"h-screen"},r.createElement(d,null)))))}},919:(e,t,a)=>{a.r(t),a.d(t,{MacOSDownloads:()=>d,default:()=>x});var l=a(353),n=a(432),r=a(7378),s=a(544),o=a(1884),c=a(2739),i=a(9928),m=a(9374);function d(){const[e,t]=(0,r.useState)({version:"",universal:"",x64:"",arm64:"",airgapsetup:""});return(0,r.useEffect)((()=>{(async function(e){var t;const a=await fetch("https://api.github.com/repos/containers/podman-desktop/releases/latest"),l=await a.json(),n=l.assets,r=n.filter((e=>e.name.endsWith("-arm64.dmg")));if(1!==r.length)throw new Error("Unable to grab arm64 dmg");const s=r[0],o=n.filter((e=>e.name.endsWith("-x64.dmg")));if(1!==o.length)throw new Error("Unable to grab x64 dmg");const c=o[0],i=n.filter((e=>e.name.endsWith("universal.dmg")&&e.name.includes("airgap")));let m;1!==i.length?console.log("Error: Unable to find Apple Disk Image for restricted environments"):m=i[0];const d=n.filter((e=>e.name.endsWith(".dmg")&&!e.name.includes("airgap")&&e.name!==s.name&&e.name!==c.name));if(1!==d.length)throw new Error("Unable to grab unified dmg");const x=d[0];e({version:l.name,universal:x.browser_download_url,x64:c.browser_download_url,arm64:s.browser_download_url,airgapsetup:null==(t=m)?void 0:t.browser_download_url})})(t).catch((e=>{console.error(e)}))}),[]),r.createElement("div",{className:"basis-1/3 py-2 rounded-lg dark:text-gray-400 text-gray-900 bg-zinc-300/25 dark:bg-zinc-700/25 bg-blend-multiply text-center items-center"},r.createElement(c.G,{size:"4x",icon:i.Av$,className:"my-4"}),r.createElement("h2",{className:"w-full text-center text-4xl title-font font-medium pb-3 border-purple-500 border-b-2"},"macOS"),r.createElement("div",{className:"flex p-1 flex-col md:flex-col items-center align-top"},r.createElement("div",{className:"flex flex-col align-middle items-center"},r.createElement("h3",{className:"mt-0"},"Podman Desktop for macOS"),r.createElement("div",{className:"pt-8"},r.createElement(o.Z,{className:"mt-auto no-underline hover:no-underline inline-flex text-white hover:text-white bg-purple-500 border-0 py-2 px-6 focus:outline-none hover:bg-purple-500 rounded text-md font-semibold",to:e.universal},r.createElement(c.G,{size:"1x",icon:m.q7m,className:"mr-2"}),"Download Now"),r.createElement("caption",{className:"block w-full mt-1 text/50 dark:text-white/50"},"Universal *.dmg, version ",e.version)),r.createElement("div",{className:"mt-4"},r.createElement("div",null,"Other macOS downloads:"),r.createElement(o.Z,{className:"underline inline-flex dark:text-white text-purple-500 hover:text-purple-200 py-2 px-6 font-semibold text-md",to:e.x64},r.createElement(c.G,{size:"1x",icon:m.q7m,className:"mr-2"}),"Intel"),r.createElement(o.Z,{className:"underline inline-flex dark:text-white text-purple-500 hover:text-purple-200 py-2 px-6 text-md font-semibold",to:e.arm64},r.createElement(c.G,{size:"1x",icon:m.q7m,className:"mr-2"}),"Arm"),r.createElement(o.Z,{className:"underline inline-flex dark:text-white text-purple-500 hover:text-purple-200 py-2 px-6 text-md font-semibold",to:e.airgapsetup},r.createElement(c.G,{size:"1x",icon:m.q7m,className:"mr-2"}),"Disk Image for restricted environments")),r.createElement("div",{className:"flex flex-col align-middle items-center"},r.createElement("div",{className:"items-center text-center pt-6"},r.createElement("p",{className:"text-lg"},"Using ",r.createElement("strong",null,"Brew"),"? Install in one command:"),r.createElement("div",{className:"flex flex-row pt-3"},r.createElement("p",{className:"text-xl p-1"},r.createElement(c.G,{size:"sm",icon:m.v8y,className:"mx-1 mt-2"})),r.createElement("div",{className:"dark:bg-charcoal-800/50 bg-zinc-300/50 p-1 truncate"},r.createElement("p",{className:"text-xl dark:text-purple-200 text-purple-600"},r.createElement(c.G,{size:"xs",icon:m.Jw3,className:"mx-2 mt-3"}),"brew install podman-desktop",r.createElement("button",{title:"Copy To Clipboard",className:"mr-2 p-1"}," ",r.createElement(c.G,{size:"xs",icon:m.O4,className:"ml-3 cursor-pointer text-xl text-white-500",onClick:()=>{(async()=>{await navigator.clipboard.writeText("brew install podman-desktop")})().catch((e=>{console.error("unable to copy instructions",e)}))}}))))))))))}function x(){const{siteConfig:e}=(0,l.Z)();return r.createElement(n.Z,{title:e.title,description:"Downloads for macOS"},r.createElement(s.Z,null),r.createElement("section",{className:"container mx-auto flex justify-center flex-col"},r.createElement("div",{className:"w-full flex flex-col"},r.createElement("h1",{className:"title-font sm:text-3xl text-2xl lg:text-5xl mb-10 font-medium text-gray-900 dark:text-white"},"macOS Downloads"),r.createElement("main",{className:"h-screen"},r.createElement(d,null)))))}},36:(e,t,a)=>{a.r(t),a.d(t,{WindowsDownloads:()=>d,default:()=>x});var l=a(353),n=a(432),r=a(7378),s=a(544),o=a(1884),c=a(2739),i=a(9928),m=a(9374);function d(){const[e,t]=(0,r.useState)({version:"",binary:"",setup:"",airgapsetup:""});return(0,r.useEffect)((()=>{(async function(e){const t=await fetch("https://api.github.com/repos/containers/podman-desktop/releases/latest"),a=await t.json(),l=a.assets,n=l.filter((e=>e.name.endsWith("-setup.exe")&&!e.name.includes("airgap")));if(1!==n.length)throw new Error("Unable to grab setup.exe");const r=n[0],s=l.filter((e=>e.name.endsWith(".exe")&&!e.name.includes("airgap")&&e.name!==r.name))[0],o=l.filter((e=>e.name.endsWith("-setup.exe")&&e.name.includes("airgap")&&e.name!==r.name))[0];e({version:a.name,binary:s.browser_download_url,setup:r.browser_download_url,airgapsetup:o.browser_download_url})})(t).catch((e=>{console.error(e)}))}),[]),r.createElement("div",{className:"basis-1/3 py-2 rounded-lg dark:text-gray-400 text-gray-900 bg-zinc-300/25 dark:bg-zinc-700/25 bg-blend-multiply text-center items-center"},r.createElement(c.G,{size:"4x",icon:i.ts2,className:"my-4"}),r.createElement("h2",{className:"w-full text-center text-4xl title-font font-medium pb-3 border-purple-500 border-b-2"},"Windows"),r.createElement("div",{className:"flex p-1 flex-col md:flex-col items-center align-top"},r.createElement("div",{className:"flex flex-col align-middle items-center"},r.createElement("h3",{className:"mt-0"},"Podman Desktop for Windows"),r.createElement("div",{className:"pt-8"},r.createElement(o.Z,{className:"mt-auto no-underline hover:no-underline inline-flex text-white hover:text-white bg-purple-500 border-0 py-2 px-6 focus:outline-none hover:bg-purple-500 rounded text-md font-semibold",to:e.setup},r.createElement(c.G,{size:"1x",icon:m.q7m,className:"mr-2"}),"Download Now"),r.createElement("caption",{className:"block w-full mt-1 text/50 dark:text-white/50"},"Windows installer, version ",e.version)),r.createElement("div",{className:"mt-4"},r.createElement("div",null,"Other downloads for Windows:"),r.createElement(o.Z,{className:"underline inline-flex dark:text-white text-purple-500 hover:text-purple-200 py-2 px-6 font-semibold text-md",to:e.binary},r.createElement(c.G,{size:"1x",icon:m.q7m,className:"mr-2"}),"Windows portable executable"),r.createElement(o.Z,{className:"underline inline-flex dark:text-white text-purple-500 hover:text-purple-200 py-2 px-6 font-semibold text-md",to:e.airgapsetup},r.createElement(c.G,{size:"1x",icon:m.q7m,className:"mr-2"}),"Windows installer for restricted environments"),r.createElement(o.Z,{className:"underline inline-flex dark:text-white text-purple-500 hover:text-purple-200 py-2 px-6 font-semibold text-md",to:"/docs/Installation/windows-install"},r.createElement(c.G,{size:"1x",icon:i.ts2,className:"mr-2"}),"Package Managers Guide")),r.createElement("div",{className:"flex flex-col align-middle items-center"},r.createElement("div",{className:"items-center text-center pt-6"},r.createElement("p",{className:"text-lg"},"Using ",r.createElement("strong",null,"winget"),"? Install in one command:"),r.createElement("div",{className:"flex flex-row pt-3"},r.createElement("p",{className:"text-xl p-1"},r.createElement(c.G,{size:"sm",icon:i.hVS,className:"mx-1 mt-2"})),r.createElement("div",{className:"dark:bg-charcoal-800/50 bg-zinc-300/50 p-1 text-xl dark:text-purple-200 text-purple-600 flex flex-row"},r.createElement("div",{className:"w-72 truncate"},r.createElement(c.G,{size:"xs",icon:m.Jw3,className:"mx-2 mt-3"}),"winget install -e --id RedHat.Podman-Desktop"),r.createElement("div",null,r.createElement("button",{title:"Copy To Clipboard",className:"mr-2 p-1"}," ",r.createElement(c.G,{size:"xs",icon:m.O4,className:"ml-3 cursor-pointer text-xl text-white-500",onClick:()=>{(async()=>{await navigator.clipboard.writeText("winget install -e --id RedHat.Podman-Desktop")})().catch((e=>{console.error("unable to copy instructions",e)}))}}))))))))))}function x(){const{siteConfig:e}=(0,l.Z)();return r.createElement(n.Z,{title:e.title,description:"Downloads for Windows"},r.createElement(s.Z,null),r.createElement("section",{className:"container mx-auto flex justify-center flex-col"},r.createElement("div",{className:"w-full flex flex-col"},r.createElement("h1",{className:"title-font sm:text-3xl text-2xl lg:text-5xl mb-10 font-medium text-gray-900 dark:text-white"},"Windows Downloads"),r.createElement("main",{className:"h-screen"},r.createElement(d,null)))))}}}]); \ No newline at end of file diff --git a/assets/js/059d1c6a.e7d625ae.js b/assets/js/059d1c6a.e7d625ae.js new file mode 100644 index 00000000000..7a58b2ec697 --- /dev/null +++ b/assets/js/059d1c6a.e7d625ae.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[8262,1724,5248,7505],{544:(e,t,a)=>{a.d(t,{Z:()=>r});var l=a(7378),n=a(161);const r=function(){function e(){var e,t;if(null==(e=document)||!e.documentElement)return;const a=document.documentElement;"dark"===(null==(t=a.dataset)?void 0:t.theme)?(a.classList.add("dark"),setTimeout((()=>{a.classList.add("dark")}),100)):(a.classList.remove("dark"),setTimeout((()=>{a.classList.remove("dark")}),100))}return(0,l.useEffect)((()=>{n.Z.canUseDOM&&e()}),[n.Z.canUseDOM]),(0,l.useEffect)((()=>{if(!n.Z.canUseDOM)return;const t=new MutationObserver((t=>{t.forEach((t=>{"attributes"!==t.type||"data-rh"!==t.attributeName&&"data-theme"!==t.attributeName||e()}))}));return t.observe(document.documentElement,{attributes:!0,childList:!1,subtree:!1}),()=>{t.disconnect()}}),[n.Z.canUseDOM]),l.createElement("div",null)}},6187:(e,t,a)=>{a.r(t),a.d(t,{default:()=>m});var l=a(353),n=a(432),r=a(7378),s=a(544),o=a(919),c=a(36),i=a(3963);function m(){const{siteConfig:e}=(0,l.Z)();return r.createElement(n.Z,{title:e.title,description:"Downloads"},r.createElement("section",{className:"container mx-auto flex justify-left flex-col bg-hero-pattern bg-no-repeat bg-center bg-cover"},r.createElement("div",{className:"bg-white/30 dark:bg-transparent"},r.createElement("div",{className:"lg:w-2/3 w-full"},r.createElement("h1",{className:"flex flex-col title-font sm:text-3xl text-2xl lg:text-5xl mb-10 font-medium text-gray-900 dark:text-white"},"Downloads")),r.createElement("div",{className:"flex lg:flex-row flex-col mb-12 gap-8"},r.createElement(s.Z,null),r.createElement(c.WindowsDownloads,null),r.createElement(o.MacOSDownloads,null),r.createElement(i.LinuxDownloads,null)))))}},3963:(e,t,a)=>{a.r(t),a.d(t,{LinuxDownloads:()=>d,default:()=>x});var l=a(353),n=a(432),r=a(7378),s=a(544),o=a(1884),c=a(2739),i=a(9374),m=a(9928);function d(){const[e,t]=(0,r.useState)({version:"",binary:"",flatpak:""});return(0,r.useEffect)((()=>{(async function(e){const t=await fetch("https://api.github.com/repos/containers/podman-desktop/releases/latest"),a=await t.json(),l=a.assets,n=l.filter((e=>e.name.endsWith(".tar.gz")));if(1!==n.length)throw new Error("Unable to grab .tar.gz");const r=n[0],s=l.filter((e=>e.name.endsWith(".flatpak")));if(1!==s.length)throw new Error("Unable to grab .flatpak");const o=s[0];e({version:a.name,binary:r.browser_download_url,flatpak:o.browser_download_url})})(t).catch((e=>{console.error(e)}))}),[]),r.createElement("div",{className:"basis-1/3 py-2 rounded-lg dark:text-gray-400 text-gray-900 bg-zinc-300/25 dark:bg-zinc-700/25 bg-blend-multiply text-center items-center"},r.createElement(c.G,{size:"4x",icon:m.qJE,className:"my-4"}),r.createElement("h2",{className:"w-full text-center text-4xl title-font font-medium pb-3 border-purple-500 border-b-2"},"Linux"),r.createElement("div",{className:"flex p-1 flex-col md:flex-col items-center align-top"},r.createElement("div",{className:"flex flex-col align-middle items-center"},r.createElement("h3",{className:"mt-0"},"Podman Desktop for Linux"),r.createElement("div",{className:"pt-8"},r.createElement(o.Z,{className:"mt-auto no-underline hover:no-underline inline-flex text-white hover:text-white bg-purple-500 border-0 py-2 px-6 focus:outline-none hover:bg-purple-500 rounded text-md font-semibold",to:e.flatpak},r.createElement(c.G,{size:"1x",icon:i.q7m,className:"mr-2"}),"Download Now"),r.createElement("caption",{className:"block w-full mt-1 text/50 dark:text-white/50"},"Linux *.flatpak, version ",e.version)),r.createElement("div",{className:"mt-4"},r.createElement("div",null,"Other Linux downloads:"),r.createElement(o.Z,{className:"underline inline-flex dark:text-white text-purple-500 hover:text-purple-200 py-2 px-6 font-semibold text-md",to:e.binary},r.createElement(c.G,{size:"1x",icon:i.q7m,className:"mr-2"}),"AMD64 binary (tar.gz)")),r.createElement("div",{className:"flex flex-col align-middle items-center"},r.createElement("div",{className:"items-center text-center pt-6"},r.createElement("p",{className:"text-lg"},"Using"," ",r.createElement("a",{className:"text-purple-500",href:"https://flathub.org/apps/details/io.podman_desktop.PodmanDesktop"},"Flathub")," ","? Install in one command:"),r.createElement("div",{className:"flex flex-row pt-3 pb-7"},r.createElement("p",{className:"text-xl p-1 mx-1"},r.createElement("svg",{width:"35px",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor"},r.createElement("path",{d:"M12 2.604l-.43.283L0 10.459v6.752l6.393 4.184L12 17.725l5.607 3.671L24 17.211v-6.752L12 2.604zm0 .828l5.434 3.556-2.717 1.778L12 10.545l-2.717-1.78-2.717-1.777L12 3.432zM6.39 7.104l5.434 3.556-5.408 3.54-5.434-3.557 5.409-3.54zm11.22 0l5.431 3.554-5.434 3.557-5.433-3.555 5.435-3.556zM.925 10.867l5.379 3.52a.123.08 0 00.027.013v5.647l-5.406-3.54v-5.64zm11.213.115l5.408 3.54v5.664l-5.408-3.54v-5.664z"}))),r.createElement("div",{className:"dark:bg-charcoal-800/50 bg-zinc-300/50 p-1 text-xl dark:text-purple-200 text-purple-600 flex flex-row"},r.createElement("div",{className:"w-72 truncate"},r.createElement(c.G,{size:"xs",icon:i.Jw3,className:"mx-2 mt-3"}),"flatpak install flathub io.podman_desktop.PodmanDesktop"),r.createElement("div",null,r.createElement("button",{title:"Copy To Clipboard",className:"mr-2 p-1"}," ",r.createElement(c.G,{size:"xs",icon:i.O4,className:"ml-3 cursor-pointer text-xl text-white-500",onClick:()=>{(async()=>{await navigator.clipboard.writeText("flatpak install flathub io.podman_desktop.PodmanDesktop")})().catch((e=>{console.error("unable to copy instructions",e)}))}}))))))))))}function x(){const{siteConfig:e}=(0,l.Z)();return r.createElement(n.Z,{title:e.title,description:"Downloads for macOS"},r.createElement(s.Z,null),r.createElement("section",{className:"container mx-auto flex justify-center flex-col"},r.createElement("div",{className:"w-full flex flex-col"},r.createElement("h1",{className:"title-font sm:text-3xl text-2xl lg:text-5xl mb-10 font-medium text-gray-900 dark:text-white"},"Linux Downloads"),r.createElement("main",{className:"h-screen"},r.createElement(d,null)))))}},919:(e,t,a)=>{a.r(t),a.d(t,{MacOSDownloads:()=>d,default:()=>x});var l=a(353),n=a(432),r=a(7378),s=a(544),o=a(1884),c=a(2739),i=a(9928),m=a(9374);function d(){const[e,t]=(0,r.useState)({version:"",universal:"",x64:"",arm64:"",airgapsetup:""});return(0,r.useEffect)((()=>{(async function(e){var t;const a=await fetch("https://api.github.com/repos/containers/podman-desktop/releases/latest"),l=await a.json(),n=l.assets,r=n.filter((e=>e.name.endsWith("-arm64.dmg")));if(1!==r.length)throw new Error("Unable to grab arm64 dmg");const s=r[0],o=n.filter((e=>e.name.endsWith("-x64.dmg")));if(1!==o.length)throw new Error("Unable to grab x64 dmg");const c=o[0],i=n.filter((e=>e.name.endsWith("universal.dmg")&&e.name.includes("airgap")));let m;1!==i.length?console.log("Error: Unable to find Apple Disk Image for restricted environments"):m=i[0];const d=n.filter((e=>e.name.endsWith(".dmg")&&!e.name.includes("airgap")&&e.name!==s.name&&e.name!==c.name));if(1!==d.length)throw new Error("Unable to grab unified dmg");const x=d[0];e({version:l.name,universal:x.browser_download_url,x64:c.browser_download_url,arm64:s.browser_download_url,airgapsetup:null==(t=m)?void 0:t.browser_download_url})})(t).catch((e=>{console.error(e)}))}),[]),r.createElement("div",{className:"basis-1/3 py-2 rounded-lg dark:text-gray-400 text-gray-900 bg-zinc-300/25 dark:bg-zinc-700/25 bg-blend-multiply text-center items-center"},r.createElement(c.G,{size:"4x",icon:i.Av$,className:"my-4"}),r.createElement("h2",{className:"w-full text-center text-4xl title-font font-medium pb-3 border-purple-500 border-b-2"},"macOS"),r.createElement("div",{className:"flex p-1 flex-col md:flex-col items-center align-top"},r.createElement("div",{className:"flex flex-col align-middle items-center"},r.createElement("h3",{className:"mt-0"},"Podman Desktop for macOS"),r.createElement("div",{className:"pt-8"},r.createElement(o.Z,{className:"mt-auto no-underline hover:no-underline inline-flex text-white hover:text-white bg-purple-500 border-0 py-2 px-6 focus:outline-none hover:bg-purple-500 rounded text-md font-semibold",to:e.universal},r.createElement(c.G,{size:"1x",icon:m.q7m,className:"mr-2"}),"Download Now"),r.createElement("caption",{className:"block w-full mt-1 text/50 dark:text-white/50"},"Universal *.dmg, version ",e.version)),r.createElement("div",{className:"mt-4"},r.createElement("div",null,"Other macOS downloads:"),r.createElement(o.Z,{className:"underline inline-flex dark:text-white text-purple-500 hover:text-purple-200 py-2 px-6 font-semibold text-md",to:e.x64},r.createElement(c.G,{size:"1x",icon:m.q7m,className:"mr-2"}),"Intel"),r.createElement(o.Z,{className:"underline inline-flex dark:text-white text-purple-500 hover:text-purple-200 py-2 px-6 text-md font-semibold",to:e.arm64},r.createElement(c.G,{size:"1x",icon:m.q7m,className:"mr-2"}),"Arm"),r.createElement(o.Z,{className:"underline inline-flex dark:text-white text-purple-500 hover:text-purple-200 py-2 px-6 text-md font-semibold",to:e.airgapsetup},r.createElement(c.G,{size:"1x",icon:m.q7m,className:"mr-2"}),"Disk Image for restricted environments")),r.createElement("div",{className:"flex flex-col align-middle items-center"},r.createElement("div",{className:"items-center text-center pt-6"},r.createElement("p",{className:"text-lg"},"Using ",r.createElement("strong",null,"Brew"),"? Install in one command:"),r.createElement("div",{className:"flex flex-row pt-3"},r.createElement("p",{className:"text-xl p-1"},r.createElement(c.G,{size:"sm",icon:m.v8y,className:"mx-1 mt-2"})),r.createElement("div",{className:"dark:bg-charcoal-800/50 bg-zinc-300/50 p-1 truncate"},r.createElement("p",{className:"text-xl dark:text-purple-200 text-purple-600"},r.createElement(c.G,{size:"xs",icon:m.Jw3,className:"mx-2 mt-3"}),"brew install podman-desktop",r.createElement("button",{title:"Copy To Clipboard",className:"mr-2 p-1"}," ",r.createElement(c.G,{size:"xs",icon:m.O4,className:"ml-3 cursor-pointer text-xl text-white-500",onClick:()=>{(async()=>{await navigator.clipboard.writeText("brew install podman-desktop")})().catch((e=>{console.error("unable to copy instructions",e)}))}}))))))))))}function x(){const{siteConfig:e}=(0,l.Z)();return r.createElement(n.Z,{title:e.title,description:"Downloads for macOS"},r.createElement(s.Z,null),r.createElement("section",{className:"container mx-auto flex justify-center flex-col"},r.createElement("div",{className:"w-full flex flex-col"},r.createElement("h1",{className:"title-font sm:text-3xl text-2xl lg:text-5xl mb-10 font-medium text-gray-900 dark:text-white"},"macOS Downloads"),r.createElement("main",{className:"h-screen"},r.createElement(d,null)))))}},36:(e,t,a)=>{a.r(t),a.d(t,{WindowsDownloads:()=>d,default:()=>x});var l=a(353),n=a(432),r=a(7378),s=a(544),o=a(1884),c=a(2739),i=a(9928),m=a(9374);function d(){const[e,t]=(0,r.useState)({version:"",binary:"",setup:"",airgapsetup:""});return(0,r.useEffect)((()=>{(async function(e){const t=await fetch("https://api.github.com/repos/containers/podman-desktop/releases/latest"),a=await t.json(),l=a.assets,n=l.filter((e=>e.name.endsWith("-setup.exe")&&!e.name.includes("airgap")));if(1!==n.length)throw new Error("Unable to grab setup.exe");const r=n[0],s=l.filter((e=>e.name.endsWith(".exe")&&!e.name.includes("airgap")&&e.name!==r.name))[0],o=l.filter((e=>e.name.endsWith("-setup.exe")&&e.name.includes("airgap")&&e.name!==r.name))[0];e({version:a.name,binary:s.browser_download_url,setup:r.browser_download_url,airgapsetup:o.browser_download_url})})(t).catch((e=>{console.error(e)}))}),[]),r.createElement("div",{className:"basis-1/3 py-2 rounded-lg dark:text-gray-400 text-gray-900 bg-zinc-300/25 dark:bg-zinc-700/25 bg-blend-multiply text-center items-center"},r.createElement(c.G,{size:"4x",icon:i.ts2,className:"my-4"}),r.createElement("h2",{className:"w-full text-center text-4xl title-font font-medium pb-3 border-purple-500 border-b-2"},"Windows"),r.createElement("div",{className:"flex p-1 flex-col md:flex-col items-center align-top"},r.createElement("div",{className:"flex flex-col align-middle items-center"},r.createElement("h3",{className:"mt-0"},"Podman Desktop for Windows"),r.createElement("div",{className:"pt-8"},r.createElement(o.Z,{className:"mt-auto no-underline hover:no-underline inline-flex text-white hover:text-white bg-purple-500 border-0 py-2 px-6 focus:outline-none hover:bg-purple-500 rounded text-md font-semibold",to:e.setup},r.createElement(c.G,{size:"1x",icon:m.q7m,className:"mr-2"}),"Download Now"),r.createElement("caption",{className:"block w-full mt-1 text/50 dark:text-white/50"},"Windows installer, version ",e.version)),r.createElement("div",{className:"mt-4"},r.createElement("div",null,"Other downloads for Windows:"),r.createElement(o.Z,{className:"underline inline-flex dark:text-white text-purple-500 hover:text-purple-200 py-2 px-6 font-semibold text-md",to:e.binary},r.createElement(c.G,{size:"1x",icon:m.q7m,className:"mr-2"}),"Windows portable executable"),r.createElement(o.Z,{className:"underline inline-flex dark:text-white text-purple-500 hover:text-purple-200 py-2 px-6 font-semibold text-md",to:e.airgapsetup},r.createElement(c.G,{size:"1x",icon:m.q7m,className:"mr-2"}),"Windows installer for restricted environments"),r.createElement(o.Z,{className:"underline inline-flex dark:text-white text-purple-500 hover:text-purple-200 py-2 px-6 font-semibold text-md",to:"/docs/Installation/windows-install"},r.createElement(c.G,{size:"1x",icon:i.ts2,className:"mr-2"}),"Package Managers Guide")),r.createElement("div",{className:"flex flex-col align-middle items-center"},r.createElement("div",{className:"items-center text-center pt-6"},r.createElement("p",{className:"text-lg"},"Using ",r.createElement("strong",null,"winget"),"? Install in one command:"),r.createElement("div",{className:"flex flex-row pt-3"},r.createElement("p",{className:"text-xl p-1"},r.createElement(c.G,{size:"sm",icon:i.hVS,className:"mx-1 mt-2"})),r.createElement("div",{className:"dark:bg-charcoal-800/50 bg-zinc-300/50 p-1 text-xl dark:text-purple-200 text-purple-600 flex flex-row"},r.createElement("div",{className:"w-72 truncate"},r.createElement(c.G,{size:"xs",icon:m.Jw3,className:"mx-2 mt-3"}),"winget install -e --id RedHat.Podman-Desktop"),r.createElement("div",null,r.createElement("button",{title:"Copy To Clipboard",className:"mr-2 p-1"}," ",r.createElement(c.G,{size:"xs",icon:m.O4,className:"ml-3 cursor-pointer text-xl text-white-500",onClick:()=>{(async()=>{await navigator.clipboard.writeText("winget install -e --id RedHat.Podman-Desktop")})().catch((e=>{console.error("unable to copy instructions",e)}))}}))))))))))}function x(){const{siteConfig:e}=(0,l.Z)();return r.createElement(n.Z,{title:e.title,description:"Downloads for Windows"},r.createElement(s.Z,null),r.createElement("section",{className:"container mx-auto flex justify-center flex-col"},r.createElement("div",{className:"w-full flex flex-col"},r.createElement("h1",{className:"title-font sm:text-3xl text-2xl lg:text-5xl mb-10 font-medium text-gray-900 dark:text-white"},"Windows Downloads"),r.createElement("main",{className:"h-screen"},r.createElement(d,null)))))}}}]); \ No newline at end of file diff --git a/assets/js/1df93b7f.43ef3782.js b/assets/js/1df93b7f.43ef3782.js deleted file mode 100644 index 67749adf959..00000000000 --- a/assets/js/1df93b7f.43ef3782.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[3237],{544:(e,t,a)=>{a.d(t,{Z:()=>r});var l=a(7378),n=a(161);const r=function(){function e(){var e,t;if(null==(e=document)||!e.documentElement)return;const a=document.documentElement;"dark"===(null==(t=a.dataset)?void 0:t.theme)?(a.classList.add("dark"),setTimeout((()=>{a.classList.add("dark")}),100)):(a.classList.remove("dark"),setTimeout((()=>{a.classList.remove("dark")}),100))}return(0,l.useEffect)((()=>{n.Z.canUseDOM&&e()}),[n.Z.canUseDOM]),(0,l.useEffect)((()=>{if(!n.Z.canUseDOM)return;const t=new MutationObserver((t=>{t.forEach((t=>{"attributes"!=t.type||"data-rh"!==t.attributeName&&"data-theme"!==t.attributeName||e()}))}));return t.observe(document.documentElement,{attributes:!0,childList:!1,subtree:!1}),()=>{t.disconnect()}}),[n.Z.canUseDOM]),l.createElement("div",null)}},7501:(e,t,a)=>{a.r(t),a.d(t,{default:()=>G});var l=a(7378),n=a(432),r=a(1884),s=a(6457);function m(e){let{children:t,fallback:a}=e;return(0,s.Z)()?l.createElement(l.Fragment,null,null==t?void 0:t()):a??null}var c=a(544),i=a(2739),o=a(9928),d=a(9374),x=a(4034),u=a(8948);function f(){let e="",t=null;const a=navigator.userAgent;let n,s;return-1!=a.indexOf("Windows")?(e="Windows",t="faWindows"):-1!=a.indexOf("Mac")?(e="macOS",t="faApple"):-1!=a.indexOf("Linux")&&(e="Linux",t="faLinux"),""!==e?(n=l.createElement("div",null,l.createElement(r.Z,{className:"no-underline hover:no-underline inline-flex text-white hover:text-white bg-violet-600 border-0 py-4 px-8 mt-6 mb-1 focus:outline-none hover:bg-violet-700 rounded text-lg",to:"/downloads/"+e},l.createElement(i.G,{size:"2x",icon:t,className:"px-2"})," Download Now"),l.createElement("caption",{className:"block mt-0 dark:text-gray-400"},"For ",l.createElement("strong",null,e)," ",l.createElement("em",null,"(browser-detected)"))),s=l.createElement("div",null,l.createElement(r.Z,{className:"underline font-semibold hover:underline ml-4 inline-flex py-2 px-6 my-4 focus:outline-none text-lg",to:"/downloads"},"Other downloads"))):n=l.createElement(r.Z,{className:"no-underline hover:no-underline inline-flex text-white hover:text-white bg-indigo-500 border-0 py-2 px-6 focus:outline-none hover:bg-indigo-600 rounded text-lg",to:"/downloads"},"Download Page"),l.createElement("div",{className:"flex justify-center flex-col"},n,s)}function g(){return l.createElement("div",{className:"flex justify-center"},l.createElement(r.Z,{className:"no-underline hover:no-underline inline-flex text-white hover:text-white bg-indigo-500 border-0 py-2 px-6 focus:outline-none hover:bg-indigo-600 rounded text-lg",to:"/downloads"},"Download Page"))}function p(){return l.createElement("section",{className:"text-gray-900 dark:text-gray-400 body-font"},l.createElement("div",{className:"container mx-auto flex px-5 pb-24 pt-4 items-center justify-center flex-col"},l.createElement("div",{className:"text-center lg:w-2/3 w-full bg-hero-pattern bg-no-repeat bg-center"},l.createElement("div",{className:"bg-white/30 dark:bg-transparent"},l.createElement("h1",{className:"title-font sm:text-4xl text-3xl lg:text-6xl mb-8 font-medium text-gray-900 dark:text-white"},"Containers and Kubernetes for application developers"),l.createElement("p",{className:"text-base md:text-lg"},"Podman Desktop is an open source graphical tool enabling you to seamlessly work with containers and Kubernetes from your local environment."),l.createElement("div",{className:"flex-none"},l.createElement(m,{fallback:l.createElement(g,null)},(()=>l.createElement(f,null)))))),l.createElement("div",{className:"sm:pl-8 md:pl-12 lg:pl-36 text-center w-full"},l.createElement("img",{className:"sm:w-full md:w-full lg:w-10/12",alt:"Podman Desktop home page",src:"img/features/homepage.webp"}))))}function E(e){return l.createElement("div",null,l.createElement("p",{className:"inline-block px-3 py-px mb-4 text-xs font-semibold tracking-wider text-purple-800 uppercase rounded-full dark:bg-purple-400 bg-purple-400"},e.name))}function N(){return l.createElement("section",{className:"text-gray-900 dark:text-gray-400 dark:bg-charcoal-800 bg-zinc-100 body-font"},l.createElement("div",{className:"container px-5 py-24 mx-auto flex flex-wrap"},l.createElement("div",{className:"flex flex-col text-center w-full mb-5"},l.createElement(E,{name:"update"}),l.createElement("h2",{className:"max-w-lg mb-6 font-sans text-3xl font-light leading-none tracking-tight text-gray-900 dark:text-white sm:text-4xl md:mx-auto"},"Install and keep up to date ",l.createElement("span",{className:"font-bold"},"Podman"))),l.createElement("div",{className:"flex flex-col w-full text-center"},l.createElement("div",{className:"mx-10"},l.createElement(i.G,{size:"3x",icon:d.mHK,className:"ml-2 mb-4 text-gray-900 dark:text-gray-300"})),l.createElement("div",{className:"flex flex-col items-center"},l.createElement("p",{className:"leading-relaxed text-base"},"Install Podman and other dependencies directly from Podman Desktop if not yet installed."),l.createElement("p",{className:"leading-relaxed text-base"},"Check for updates and get notified about new changes."),l.createElement("p",{className:"leading-relaxed text-base"},"Available on"," ",l.createElement("a",{href:"/downloads/windows",className:"text-purple-600 dark:text-purple-400",target:"_blank"},"Windows")," ","and"," ",l.createElement("a",{href:"/downloads/macos",className:"text-purple-600 dark:text-purple-400",target:"_blank"},"macOS"),"!")))))}function b(){return l.createElement("section",{className:"text-gray-900 dark:text-gray-400 dark:bg-charcoal-600 bg-zinc-200 body-font"},l.createElement("div",{className:"container px-5 py-24 mx-auto flex flex-wrap"},l.createElement("div",{className:"flex flex-col text-center w-full mb-5"},l.createElement(E,{name:"extensibility"}),l.createElement("h2",{className:"max-w-lg mb-6 font-sans text-3xl font-light leading-none tracking-tight text-gray-900 dark:text-white sm:text-4xl md:mx-auto"},"Bring new features with Podman Desktop plug-ins or Docker Desktop Extensions.")),l.createElement("div",{className:"flex flex-col w-full text-center"},l.createElement("div",{className:"mx-10"},l.createElement(i.G,{size:"3x",icon:d.oso,className:"ml-2 mb-4 text-gray-900 dark:text-gray-300"})),l.createElement("ul",{className:"list-disc list-inside text-center"},l.createElement("li",null,"Container engines are plugged through extension points"),l.createElement("li",null,"JavaScript extensions can contribute new behaviour"),l.createElement("li",null,"Reuse existing extensions such as Trivy and OpenShift directly in Podman Desktop")),l.createElement("div",{className:"flex flex-col items-center"},l.createElement("div",{className:"text-left my-4"},l.createElement("p",{className:"-ml-5 text-base"},"Current Podman Desktop plugins: Podman, Docker, Lima, Kubernetes, and OpenShift Local with the Podman preset."))),l.createElement(x.Z,{className:"sm:w-full md:w-full lg:w-10/12 sm:pl-8 md:pl-12 lg:pl-24 text-center",alt:"Reuse Docker Desktop extensions",sources:{light:(0,u.Z)("img/ddextensions/dd-support.png"),dark:(0,u.Z)("img/ddextensions/dd-support.png")}}),l.createElement("div",{className:"flex flex-col items-center"},l.createElement(r.Z,{title:"Extend Podman Desktop",className:"no-underline hover:no-underline text-gray-900 dark:text-white hover:dark:text-violet-600 ",to:"/extend"},l.createElement("div",{className:"mt-3 text-purple-800 dark:text-purple-400 inline-flex items-center"},"Learn More",l.createElement("svg",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",className:"w-4 h-4 ml-2",viewBox:"0 0 24 24"},l.createElement("path",{d:"M5 12h14M12 5l7 7-7 7"}))))))))}function h(){return l.createElement("section",{className:"text-gray-900 dark:text-gray-400 dark:bg-charcoal-800 bg-zinc-100 body-font py-24"},l.createElement("div",{className:"container px-5 mx-auto flex flex-wrap"},l.createElement("div",{className:"flex flex-col text-center w-full mb-5"},l.createElement(E,{name:"Configure"}),l.createElement("h2",{className:"max-w-lg mb-6 font-sans text-3xl font-bold leading-none tracking-tight text-gray-900 dark:text-white sm:text-4xl md:mx-auto"},"Multiple configuration options")),l.createElement("div",{className:"container px-5 pb-5 mx-auto"},l.createElement("div",{className:"flex flex-wrap sm:-m-4 -mx-4 -mb-10 -mt-4 md:space-y-0 space-y-6"},l.createElement("div",{className:"p-4 md:w-1/4 flex"},l.createElement("div",{className:"w-12 h-12 inline-flex items-center justify-center rounded-full bg-gray-700 text-purple-700 mb-4 flex-shrink-0"},l.createElement(i.G,{size:"2x",icon:d.Kb6,className:"w-6 h-6 "})),l.createElement("div",{className:"flex-grow pl-6"},l.createElement("h2",{className:"text-gray-900 dark:text-gray-100 text-lg title-font font-medium mb-2"},"Registries"),l.createElement("p",{className:"leading-relaxed text-base"},"Manage OCI registries. Add/edit/delete registries."))),l.createElement("div",{className:"p-4 md:w-1/4 flex"},l.createElement("div",{className:"w-12 h-12 inline-flex items-center justify-center rounded-full bg-gray-700 text-purple-700 mb-4 flex-shrink-0"},l.createElement(i.G,{size:"2x",icon:d.Kb6,className:"w-6 h-6 "})),l.createElement("div",{className:"flex-grow pl-6"},l.createElement("h2",{className:"text-gray-900 dark:text-gray-100 text-lg title-font font-medium mb-2"},"Proxy"),l.createElement("p",{className:"leading-relaxed text-base"},"Configure your proxy settings."))),l.createElement("div",{className:"p-4 md:w-1/4 flex"},l.createElement("div",{className:"w-12 h-12 inline-flex items-center justify-center rounded-full bg-gray-700 text-purple-700 mb-4 flex-shrink-0"},l.createElement(i.G,{size:"2x",icon:d.Kb6,className:"w-6 h-6 "})),l.createElement("div",{className:"flex-grow pl-6"},l.createElement("h2",{className:"text-gray-900 dark:text-gray-100 text-lg title-font font-medium mb-2"},"Resources Utilization"),l.createElement("p",{className:"leading-relaxed text-base"},"Configure CPU/Memory/Disk of Podman machines."))),l.createElement("div",{className:"p-4 md:w-1/4 flex"},l.createElement("div",{className:"w-12 h-12 inline-flex items-center justify-center rounded-full bg-gray-700 text-purple-700 mb-4 flex-shrink-0"},l.createElement(i.G,{size:"2x",icon:d.Kb6,className:"w-6 h-6 "})),l.createElement("div",{className:"flex-grow pl-6"},l.createElement("h2",{className:"text-gray-900 dark:text-gray-100 text-lg title-font font-medium mb-2"},"Container Engines"),l.createElement("p",{className:"leading-relaxed text-base"},"Handle multiple container engines at the same time: Podman, Docker, and Lima.")))))))}function w(){return l.createElement("section",{className:"text-gray-900 dark:text-gray-400 dark:bg-charcoal-600 bg-zinc-200 body-font py-24"},l.createElement("div",{className:"container px-5 mx-auto flex flex-wrap"},l.createElement("div",{className:"flex flex-col text-center w-full mb-5"},l.createElement(E,{name:"enterprise"}),l.createElement("h2",{className:"max-w-lg mb-6 font-sans text-3xl font-bold leading-none tracking-tight text-gray-900 dark:text-white sm:text-4xl md:mx-auto"},"Enterprise ready")),l.createElement("div",{className:"container px-5 pb-5 mx-auto"},l.createElement("h1",{className:"sm:text-3xl text-2xl font-medium title-font text-center text-gray-900 dark:text-gray-100 mb-20"},"Match configuration options."),l.createElement("div",{className:"flex flex-wrap sm:-m-4 -mx-4 -mb-10 -mt-4 md:space-y-0 space-y-6"},l.createElement("div",{className:"p-4 md:w-1/3 flex"},l.createElement("div",{className:"w-12 h-12 inline-flex items-center justify-center rounded-full bg-gray-700 text-purple-700 mb-4 flex-shrink-0"},l.createElement(i.G,{size:"2x",icon:d.Ua$,className:"w-6 h-6 "})),l.createElement("div",{className:"flex-grow pl-6"},l.createElement("h2",{className:"text-gray-900 dark:text-gray-100 text-lg title-font font-medium mb-2"},"Code signing"),l.createElement("p",{className:"leading-relaxed text-base"},"Signed binaries for both macOS and Windows"))),l.createElement("div",{className:"p-4 md:w-1/3 flex"},l.createElement("div",{className:"w-12 h-12 inline-flex items-center justify-center rounded-full bg-gray-700 text-purple-800 mb-4 flex-shrink-0"},l.createElement(i.G,{size:"2x",icon:d.zoY,className:"w-6 h-6 "})),l.createElement("div",{className:"flex-grow pl-6"},l.createElement("h2",{className:"text-gray-900 dark:text-gray-100 text-lg title-font font-medium mb-2"},"Proxy"),l.createElement("p",{className:"leading-relaxed text-base"},"Configure proxy within the tool. Avoid any painful files to edit."))),l.createElement("div",{className:"p-4 md:w-1/3 flex"},l.createElement("div",{className:"w-12 h-12 inline-flex items-center justify-center rounded-full bg-gray-700 text-purple-800 mb-4 flex-shrink-0"},l.createElement(i.G,{size:"2x",icon:d.Kb6,className:"w-6 h-6 "})),l.createElement("div",{className:"flex-grow pl-6"},l.createElement("h2",{className:"text-gray-900 dark:text-gray-100 text-lg title-font font-medium mb-2"},"Registries"),l.createElement("p",{className:"leading-relaxed text-base"},"Manage OCI registries. Add/edit/delete registries.")))))))}function v(){return l.createElement("section",{className:"text-gray-900 dark:text-gray-400 dark:bg-charcoal-600 bg-zinc-200 body-font"},l.createElement("div",{className:"container px-5 py-24 mx-auto flex flex-wrap"},l.createElement("div",{className:"flex flex-col text-center w-full mb-5"},l.createElement("h2",{className:"max-w-lg mb-6 font-sans text-3xl font-bold leading-none tracking-tight text-gray-900 dark:text-white sm:text-4xl md:mx-auto"},"Available on Windows, Mac and Linux"),l.createElement("p",{className:"text-base text-gray-900 md:text-lg dark:text-gray-400"},"Use the same UI across different operating systems")),l.createElement("div",{className:"flex flex-wrap w-full justify-center"},l.createElement("div",{className:"p-4 w-11/12 md:w-1/2 lg:w-1/3"},l.createElement("div",{className:"flex rounded-lg h-full bg-zinc-100 dark:bg-charcoal-800 bg-opacity-60 p-8 flex-col"},l.createElement(r.Z,{title:"Download for Windows",className:"no-underline hover:no-underline text-gray-900 dark:text-white hover:dark:text-violet-600 ",to:"/downloads/Windows"},l.createElement("div",{className:"flex items-center mb-3 flex-col"},l.createElement(i.G,{size:"4x",icon:o.ts2}),l.createElement("div",{className:"inline-flex items-center justify-center rounded-full text-gray-900 dark:text-gray-400 flex-shrink-0"}),l.createElement("h2",{className:" text-lg title-font font-medium"}," Windows"))),l.createElement("div",{className:"flex-grow"},l.createElement("div",{className:"flex-grow w-full"},l.createElement("p",{className:"text-base text-center"},"exe or setup.exe"))))),l.createElement("div",{className:"p-4 w-11/12 md:w-1/2 lg:w-1/3"},l.createElement("div",{className:"flex rounded-lg h-full bg-zinc-100 dark:bg-charcoal-800 bg-opacity-60 p-8 flex-col"},l.createElement(r.Z,{title:"Download for macOS",className:"no-underline hover:no-underline text-gray-900 dark:text-white hover:dark:text-violet-600 ",to:"/downloads/macOS"},l.createElement("div",{className:"flex items-center mb-3 flex-col"},l.createElement(i.G,{size:"4x",icon:o.Av$}),l.createElement("div",{className:"inline-flex items-center justify-center rounded-full text-gray-900 dark:text-gray-400 flex-shrink-0"}),l.createElement("h2",{className:" text-lg title-font font-medium"}," macOS"))),l.createElement("div",{className:"flex-grow w-full"},l.createElement("p",{className:"text-base text-center"},"arm64, x64 or unified dmg"),l.createElement("p",{className:"text-base text-center"},l.createElement(i.G,{size:"1x",icon:d.v8y,className:"ml-2"})," brew install podman-desktop",l.createElement("button",{title:"Copy To Clipboard",className:"mr-5"},l.createElement(i.G,{size:"1x",icon:d.O4,className:"ml-3 cursor-pointer text-3xl text-white-500",onClick:()=>{(async()=>{await navigator.clipboard.writeText("brew install podman-desktop")})().catch((e=>{console.error("unable to copy instructions",e)}))}})))))),l.createElement("div",{className:"p-4 w-11/12 md:w-1/2 lg:w-1/3"},l.createElement("div",{className:"flex rounded-lg h-full bg-zinc-100 dark:bg-charcoal-800 bg-opacity-60 p-8 flex-col"},l.createElement(r.Z,{title:"Download for Linux",className:"no-underline hover:no-underline text-gray-900 dark:text-white hover:dark:text-violet-600 ",to:"/downloads/Linux"},l.createElement("div",{className:"flex items-center mb-3 flex-col"},l.createElement(i.G,{size:"4x",icon:o.qJE}),l.createElement("div",{className:"inline-flex items-center justify-center rounded-full text-gray-900 dark:text-gray-400 flex-shrink-0"}),l.createElement("h2",{className:" text-lg title-font font-medium"}," Linux"))),l.createElement("div",{className:"flex-grow"},l.createElement("p",{className:"text-base text-center"},"Flatpak or AMD64 binary (tar.gz)")))))))}function y(){return l.createElement("section",{className:"text-gray-900 dark:text-gray-400 dark:bg-charcoal-800 bg-zinc-100 body-font py-24"},l.createElement("div",{className:"container px-5 mx-auto flex flex-wrap"},l.createElement("div",{className:"flex flex-col text-center w-full mb-5"},l.createElement(E,{name:"features"}),l.createElement("h2",{className:"max-w-lg mb-6 font-sans text-3xl font-bold leading-none tracking-tight text-gray-900 dark:text-white sm:text-4xl md:mx-auto"},"Build, run and manage containers.")),l.createElement("div",{className:"container px-5 pb-5 mx-auto"},l.createElement("div",{className:"flex flex-wrap sm:-m-4 -mx-4 -mb-10 -mt-4 md:space-y-0 space-y-6"},l.createElement("div",{className:"p-4 md:w-1/4 flex"},l.createElement("div",{className:"w-12 h-12 inline-flex items-center justify-center rounded-full bg-gray-700 text-purple-700 mb-4 flex-shrink-0"},l.createElement(i.G,{size:"2x",icon:d.Obi,className:"w-6 h-6 "})),l.createElement("div",{className:"flex-grow pl-6"},l.createElement("h2",{className:"text-gray-900 dark:text-gray-100 text-lg title-font font-medium mb-2"},"Build"),l.createElement("p",{className:"leading-relaxed text-base list-disc"},l.createElement(i.G,{icon:d.ESn,className:"text-purple-700 w-3 h-3 mt-1 mr-2"}),"Build images from Containerfile or Dockerfile"))),l.createElement("div",{className:"p-4 md:w-1/4 flex"},l.createElement("div",{className:"w-12 h-12 inline-flex items-center justify-center rounded-full bg-gray-700 text-purple-700 mb-4 flex-shrink-0"},l.createElement(i.G,{size:"2x",icon:d.tMT,className:"w-6 h-6 "})),l.createElement("div",{className:"flex-grow pl-6"},l.createElement("h2",{className:"text-gray-900 dark:text-gray-100 text-lg title-font font-medium mb-2"},"Run"),l.createElement("p",{className:"leading-relaxed text-base list-disc"},l.createElement(i.G,{icon:d.Bkj,className:"text-purple-700 w-3 h-3 mt-1 mr-2"}),"Pull images from remote registries"),l.createElement("p",{className:"leading-relaxed text-base list-disc"},l.createElement(i.G,{icon:d.ESn,className:"text-purple-700 w-3 h-3 mt-1 mr-2"}),"Start / Stop / Restart containers"))),l.createElement("div",{className:"p-4 md:w-1/4 flex"},l.createElement("div",{className:"w-12 h-12 inline-flex items-center justify-center rounded-full bg-gray-700 text-purple-800 mb-4 flex-shrink-0"},l.createElement(i.G,{size:"2x",icon:d.ESn,className:"w-6 h-6 "})),l.createElement("div",{className:"flex-grow pl-6"},l.createElement("h2",{className:"text-gray-900 dark:text-gray-100 text-lg title-font font-medium mb-2"},"Inspect"),l.createElement("p",{className:"leading-relaxed text-base list-disc"},l.createElement(i.G,{icon:d.tMT,className:"text-purple-700 w-3 h-3 mt-1 mr-2"}),"Get a terminal in your container"),l.createElement("p",{className:"leading-relaxed text-base list-disc"},l.createElement(i.G,{icon:d.tMT,className:"text-purple-700 w-3 h-3 mt-1 mr-2"}),"Inspect logs"))),l.createElement("div",{className:"p-4 md:w-1/4 flex"},l.createElement("div",{className:"w-12 h-12 inline-flex items-center justify-center rounded-full bg-gray-700 text-purple-800 mb-4 flex-shrink-0"},l.createElement(i.G,{size:"2x",icon:d.Bkj,className:"w-6 h-6 "})),l.createElement("div",{className:"flex-grow pl-6"},l.createElement("h2",{className:"text-gray-900 dark:text-gray-100 text-lg title-font font-medium mb-2"},"Push"),l.createElement("p",{className:"leading-relaxed text-base list-disc"},l.createElement(i.G,{icon:d.tMT,className:"text-purple-700 w-3 h-3 mt-1 mr-2"}),"Push images to OCI registries"),l.createElement("p",{className:"leading-relaxed text-base list-disc"},l.createElement(i.G,{icon:d.tMT,className:"text-purple-700 w-3 h-3 mt-1 mr-2"}),"Deploy & Test images on Kubernetes")))))),l.createElement("div",{className:"container px-5 mx-auto flex flex-wrap"},l.createElement("div",{className:"flex flex-col text-center w-full mb-5"},l.createElement(r.Z,{title:"Discover More",className:"no-underline hover:no-underline text-gray-900 dark:text-white hover:dark:text-violet-600 ",to:"/features"},l.createElement("div",{className:"mt-3 text-purple-800 dark:text-purple-400 inline-flex items-center"},"Discover More",l.createElement("svg",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",className:"w-4 h-4 ml-2",viewBox:"0 0 24 24"},l.createElement("path",{d:"M5 12h14M12 5l7 7-7 7"})))))))}function k(){return l.createElement("section",{className:"text-gray-900 dark:text-gray-400 dark:bg-charcoal-600 bg-zinc-200 body-font py-24"},l.createElement("div",{className:"container px-5 mx-auto flex flex-wrap"},l.createElement("div",{className:"flex flex-col text-center w-full mb-5"},l.createElement(E,{name:"features"}),l.createElement("h2",{className:"max-w-lg mb-6 font-sans text-3xl font-bold leading-none tracking-tight text-gray-900 dark:text-white sm:text-4xl md:mx-auto"},"Work with Pods and Kubernetes")),l.createElement("div",{className:"container px-5 pb-5 mx-auto"},l.createElement("div",{className:"flex flex-wrap sm:-m-4 -mx-4 -mb-10 -mt-4 md:space-y-0 space-y-6"},l.createElement("div",{className:"p-4 md:w-1/2 flex"},l.createElement("div",{className:"w-12 h-12 inline-flex items-center justify-center rounded-full bg-gray-700 text-purple-700 mb-4 flex-shrink-0"},l.createElement(i.G,{size:"2x",icon:d.Obi,className:"w-6 h-6 "})),l.createElement("div",{className:"flex-grow pl-6"},l.createElement("h2",{className:"text-gray-900 dark:text-gray-100 text-lg title-font font-medium mb-2"},"Working with pods"),l.createElement("p",{className:"leading-relaxed text-base list-disc"},l.createElement(i.G,{icon:d.Bkj,className:"text-purple-700 w-3 h-3 mt-1 mr-2"}),l.createElement("a",{href:"docs/getting-started/creating-a-pod"},"Create Pods from existing containers")),l.createElement("p",{className:"leading-relaxed text-base list-disc"},l.createElement(i.G,{icon:d.ESn,className:"text-purple-700 w-3 h-3 mt-1 mr-2"}),"Create, start, inspect and manage pods"))),l.createElement("div",{className:"p-4 md:w-1/2 flex"},l.createElement("div",{className:"w-12 h-12 inline-flex items-center justify-center rounded-full bg-gray-700 text-purple-800 mb-4 flex-shrink-0"},l.createElement(i.G,{size:"2x",icon:d.ESn,className:"w-6 h-6 "})),l.createElement("div",{className:"flex-grow pl-6"},l.createElement("h2",{className:"text-gray-900 dark:text-gray-100 text-lg title-font font-medium mb-2"},"Working with Kubernetes"),l.createElement("p",{className:"leading-relaxed text-base list-disc"},l.createElement(i.G,{icon:d.tMT,className:"text-purple-700 w-3 h-3 mt-1 mr-2"}),"Play Kubernetes YAML directly with Podman Engine"),l.createElement("p",{className:"leading-relaxed text-base list-disc"},l.createElement(i.G,{icon:d.tMT,className:"text-purple-700 w-3 h-3 mt-1 mr-2"}),"Generate Kubernetes YAML from pods"),l.createElement("p",{className:"leading-relaxed text-base list-disc"},l.createElement(i.G,{icon:d.tMT,className:"text-purple-700 w-3 h-3 mt-1 mr-2"}),l.createElement("a",{href:"docs/kubernetes/deploying-a-pod-to-kubernetes"},"Deploy to existing Kubernetes environments")),l.createElement("p",{className:"leading-relaxed text-base list-disc"},l.createElement(i.G,{icon:d.tMT,className:"text-purple-700 w-3 h-3 mt-1 mr-2"}),l.createElement("a",{href:"docs/kubernetes/kind"},"Running Kubernetes on your workstation with Kind and Podman"))))))),l.createElement("div",{className:"container px-5 mx-auto flex flex-wrap"},l.createElement("div",{className:"flex flex-col text-center w-full mb-5"},l.createElement(r.Z,{title:"Discover More",className:"no-underline hover:no-underline text-gray-900 dark:text-white hover:dark:text-violet-600 ",to:"/features"},l.createElement("div",{className:"mt-3 text-purple-800 dark:text-purple-400 inline-flex items-center"},"Discover More",l.createElement("svg",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",className:"w-4 h-4 ml-2",viewBox:"0 0 24 24"},l.createElement("path",{d:"M5 12h14M12 5l7 7-7 7"})))))))}function G(){return l.createElement(n.Z,{title:"Podman Desktop - Containers and Kubernetes",description:"Podman Desktop - An open source graphical tool for developing on containers and Kubernetes"},l.createElement(c.Z,null),l.createElement(p,null),l.createElement(v,null),l.createElement(y,null),l.createElement(k,null),l.createElement(h,null),l.createElement(b,null),l.createElement(N,null),l.createElement(w,null))}}}]); \ No newline at end of file diff --git a/assets/js/1df93b7f.54a3aab3.js b/assets/js/1df93b7f.54a3aab3.js new file mode 100644 index 00000000000..30e509bd2f5 --- /dev/null +++ b/assets/js/1df93b7f.54a3aab3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[3237],{544:(e,t,a)=>{a.d(t,{Z:()=>r});var l=a(7378),n=a(161);const r=function(){function e(){var e,t;if(null==(e=document)||!e.documentElement)return;const a=document.documentElement;"dark"===(null==(t=a.dataset)?void 0:t.theme)?(a.classList.add("dark"),setTimeout((()=>{a.classList.add("dark")}),100)):(a.classList.remove("dark"),setTimeout((()=>{a.classList.remove("dark")}),100))}return(0,l.useEffect)((()=>{n.Z.canUseDOM&&e()}),[n.Z.canUseDOM]),(0,l.useEffect)((()=>{if(!n.Z.canUseDOM)return;const t=new MutationObserver((t=>{t.forEach((t=>{"attributes"!==t.type||"data-rh"!==t.attributeName&&"data-theme"!==t.attributeName||e()}))}));return t.observe(document.documentElement,{attributes:!0,childList:!1,subtree:!1}),()=>{t.disconnect()}}),[n.Z.canUseDOM]),l.createElement("div",null)}},7501:(e,t,a)=>{a.r(t),a.d(t,{default:()=>G});var l=a(7378),n=a(432),r=a(1884),s=a(6457);function m(e){let{children:t,fallback:a}=e;return(0,s.Z)()?l.createElement(l.Fragment,null,null==t?void 0:t()):a??null}var c=a(544),i=a(2739),o=a(9928),d=a(9374),x=a(4034),u=a(8948);function f(){let e="",t=null;const a=navigator.userAgent;let n,s;return-1!==a.indexOf("Windows")?(e="Windows",t="faWindows"):-1!==a.indexOf("Mac")?(e="macOS",t="faApple"):-1!==a.indexOf("Linux")&&(e="Linux",t="faLinux"),""!==e?(n=l.createElement("div",null,l.createElement(r.Z,{className:"no-underline hover:no-underline inline-flex text-white hover:text-white bg-violet-600 border-0 py-4 px-8 mt-6 mb-1 focus:outline-none hover:bg-violet-700 rounded text-lg",to:"/downloads/"+e},l.createElement(i.G,{size:"2x",icon:t,className:"px-2"})," Download Now"),l.createElement("caption",{className:"block mt-0 dark:text-gray-400"},"For ",l.createElement("strong",null,e)," ",l.createElement("em",null,"(browser-detected)"))),s=l.createElement("div",null,l.createElement(r.Z,{className:"underline font-semibold hover:underline ml-4 inline-flex py-2 px-6 my-4 focus:outline-none text-lg",to:"/downloads"},"Other downloads"))):n=l.createElement(r.Z,{className:"no-underline hover:no-underline inline-flex text-white hover:text-white bg-indigo-500 border-0 py-2 px-6 focus:outline-none hover:bg-indigo-600 rounded text-lg",to:"/downloads"},"Download Page"),l.createElement("div",{className:"flex justify-center flex-col"},n,s)}function g(){return l.createElement("div",{className:"flex justify-center"},l.createElement(r.Z,{className:"no-underline hover:no-underline inline-flex text-white hover:text-white bg-indigo-500 border-0 py-2 px-6 focus:outline-none hover:bg-indigo-600 rounded text-lg",to:"/downloads"},"Download Page"))}function p(){return l.createElement("section",{className:"text-gray-900 dark:text-gray-400 body-font"},l.createElement("div",{className:"container mx-auto flex px-5 pb-24 pt-4 items-center justify-center flex-col"},l.createElement("div",{className:"text-center lg:w-2/3 w-full bg-hero-pattern bg-no-repeat bg-center"},l.createElement("div",{className:"bg-white/30 dark:bg-transparent"},l.createElement("h1",{className:"title-font sm:text-4xl text-3xl lg:text-6xl mb-8 font-medium text-gray-900 dark:text-white"},"Containers and Kubernetes for application developers"),l.createElement("p",{className:"text-base md:text-lg"},"Podman Desktop is an open source graphical tool enabling you to seamlessly work with containers and Kubernetes from your local environment."),l.createElement("div",{className:"flex-none"},l.createElement(m,{fallback:l.createElement(g,null)},(()=>l.createElement(f,null)))))),l.createElement("div",{className:"sm:pl-8 md:pl-12 lg:pl-36 text-center w-full"},l.createElement("img",{className:"sm:w-full md:w-full lg:w-10/12",alt:"Podman Desktop home page",src:"img/features/homepage.webp"}))))}function E(e){return l.createElement("div",null,l.createElement("p",{className:"inline-block px-3 py-px mb-4 text-xs font-semibold tracking-wider text-purple-800 uppercase rounded-full dark:bg-purple-400 bg-purple-400"},e.name))}function N(){return l.createElement("section",{className:"text-gray-900 dark:text-gray-400 dark:bg-charcoal-800 bg-zinc-100 body-font"},l.createElement("div",{className:"container px-5 py-24 mx-auto flex flex-wrap"},l.createElement("div",{className:"flex flex-col text-center w-full mb-5"},l.createElement(E,{name:"update"}),l.createElement("h2",{className:"max-w-lg mb-6 font-sans text-3xl font-light leading-none tracking-tight text-gray-900 dark:text-white sm:text-4xl md:mx-auto"},"Install and keep up to date ",l.createElement("span",{className:"font-bold"},"Podman"))),l.createElement("div",{className:"flex flex-col w-full text-center"},l.createElement("div",{className:"mx-10"},l.createElement(i.G,{size:"3x",icon:d.mHK,className:"ml-2 mb-4 text-gray-900 dark:text-gray-300"})),l.createElement("div",{className:"flex flex-col items-center"},l.createElement("p",{className:"leading-relaxed text-base"},"Install Podman and other dependencies directly from Podman Desktop if not yet installed."),l.createElement("p",{className:"leading-relaxed text-base"},"Check for updates and get notified about new changes."),l.createElement("p",{className:"leading-relaxed text-base"},"Available on"," ",l.createElement("a",{href:"/downloads/windows",className:"text-purple-600 dark:text-purple-400",target:"_blank"},"Windows")," ","and"," ",l.createElement("a",{href:"/downloads/macos",className:"text-purple-600 dark:text-purple-400",target:"_blank"},"macOS"),"!")))))}function b(){return l.createElement("section",{className:"text-gray-900 dark:text-gray-400 dark:bg-charcoal-600 bg-zinc-200 body-font"},l.createElement("div",{className:"container px-5 py-24 mx-auto flex flex-wrap"},l.createElement("div",{className:"flex flex-col text-center w-full mb-5"},l.createElement(E,{name:"extensibility"}),l.createElement("h2",{className:"max-w-lg mb-6 font-sans text-3xl font-light leading-none tracking-tight text-gray-900 dark:text-white sm:text-4xl md:mx-auto"},"Bring new features with Podman Desktop plug-ins or Docker Desktop Extensions.")),l.createElement("div",{className:"flex flex-col w-full text-center"},l.createElement("div",{className:"mx-10"},l.createElement(i.G,{size:"3x",icon:d.oso,className:"ml-2 mb-4 text-gray-900 dark:text-gray-300"})),l.createElement("ul",{className:"list-disc list-inside text-center"},l.createElement("li",null,"Container engines are plugged through extension points"),l.createElement("li",null,"JavaScript extensions can contribute new behaviour"),l.createElement("li",null,"Reuse existing extensions such as Trivy and OpenShift directly in Podman Desktop")),l.createElement("div",{className:"flex flex-col items-center"},l.createElement("div",{className:"text-left my-4"},l.createElement("p",{className:"-ml-5 text-base"},"Current Podman Desktop plugins: Podman, Docker, Lima, Kubernetes, and OpenShift Local with the Podman preset."))),l.createElement(x.Z,{className:"sm:w-full md:w-full lg:w-10/12 sm:pl-8 md:pl-12 lg:pl-24 text-center",alt:"Reuse Docker Desktop extensions",sources:{light:(0,u.Z)("img/ddextensions/dd-support.png"),dark:(0,u.Z)("img/ddextensions/dd-support.png")}}),l.createElement("div",{className:"flex flex-col items-center"},l.createElement(r.Z,{title:"Extend Podman Desktop",className:"no-underline hover:no-underline text-gray-900 dark:text-white hover:dark:text-violet-600 ",to:"/extend"},l.createElement("div",{className:"mt-3 text-purple-800 dark:text-purple-400 inline-flex items-center"},"Learn More",l.createElement("svg",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",className:"w-4 h-4 ml-2",viewBox:"0 0 24 24"},l.createElement("path",{d:"M5 12h14M12 5l7 7-7 7"}))))))))}function h(){return l.createElement("section",{className:"text-gray-900 dark:text-gray-400 dark:bg-charcoal-800 bg-zinc-100 body-font py-24"},l.createElement("div",{className:"container px-5 mx-auto flex flex-wrap"},l.createElement("div",{className:"flex flex-col text-center w-full mb-5"},l.createElement(E,{name:"Configure"}),l.createElement("h2",{className:"max-w-lg mb-6 font-sans text-3xl font-bold leading-none tracking-tight text-gray-900 dark:text-white sm:text-4xl md:mx-auto"},"Multiple configuration options")),l.createElement("div",{className:"container px-5 pb-5 mx-auto"},l.createElement("div",{className:"flex flex-wrap sm:-m-4 -mx-4 -mb-10 -mt-4 md:space-y-0 space-y-6"},l.createElement("div",{className:"p-4 md:w-1/4 flex"},l.createElement("div",{className:"w-12 h-12 inline-flex items-center justify-center rounded-full bg-gray-700 text-purple-700 mb-4 flex-shrink-0"},l.createElement(i.G,{size:"2x",icon:d.Kb6,className:"w-6 h-6 "})),l.createElement("div",{className:"flex-grow pl-6"},l.createElement("h2",{className:"text-gray-900 dark:text-gray-100 text-lg title-font font-medium mb-2"},"Registries"),l.createElement("p",{className:"leading-relaxed text-base"},"Manage OCI registries. Add/edit/delete registries."))),l.createElement("div",{className:"p-4 md:w-1/4 flex"},l.createElement("div",{className:"w-12 h-12 inline-flex items-center justify-center rounded-full bg-gray-700 text-purple-700 mb-4 flex-shrink-0"},l.createElement(i.G,{size:"2x",icon:d.Kb6,className:"w-6 h-6 "})),l.createElement("div",{className:"flex-grow pl-6"},l.createElement("h2",{className:"text-gray-900 dark:text-gray-100 text-lg title-font font-medium mb-2"},"Proxy"),l.createElement("p",{className:"leading-relaxed text-base"},"Configure your proxy settings."))),l.createElement("div",{className:"p-4 md:w-1/4 flex"},l.createElement("div",{className:"w-12 h-12 inline-flex items-center justify-center rounded-full bg-gray-700 text-purple-700 mb-4 flex-shrink-0"},l.createElement(i.G,{size:"2x",icon:d.Kb6,className:"w-6 h-6 "})),l.createElement("div",{className:"flex-grow pl-6"},l.createElement("h2",{className:"text-gray-900 dark:text-gray-100 text-lg title-font font-medium mb-2"},"Resources Utilization"),l.createElement("p",{className:"leading-relaxed text-base"},"Configure CPU/Memory/Disk of Podman machines."))),l.createElement("div",{className:"p-4 md:w-1/4 flex"},l.createElement("div",{className:"w-12 h-12 inline-flex items-center justify-center rounded-full bg-gray-700 text-purple-700 mb-4 flex-shrink-0"},l.createElement(i.G,{size:"2x",icon:d.Kb6,className:"w-6 h-6 "})),l.createElement("div",{className:"flex-grow pl-6"},l.createElement("h2",{className:"text-gray-900 dark:text-gray-100 text-lg title-font font-medium mb-2"},"Container Engines"),l.createElement("p",{className:"leading-relaxed text-base"},"Handle multiple container engines at the same time: Podman, Docker, and Lima.")))))))}function w(){return l.createElement("section",{className:"text-gray-900 dark:text-gray-400 dark:bg-charcoal-600 bg-zinc-200 body-font py-24"},l.createElement("div",{className:"container px-5 mx-auto flex flex-wrap"},l.createElement("div",{className:"flex flex-col text-center w-full mb-5"},l.createElement(E,{name:"enterprise"}),l.createElement("h2",{className:"max-w-lg mb-6 font-sans text-3xl font-bold leading-none tracking-tight text-gray-900 dark:text-white sm:text-4xl md:mx-auto"},"Enterprise ready")),l.createElement("div",{className:"container px-5 pb-5 mx-auto"},l.createElement("h1",{className:"sm:text-3xl text-2xl font-medium title-font text-center text-gray-900 dark:text-gray-100 mb-20"},"Match configuration options."),l.createElement("div",{className:"flex flex-wrap sm:-m-4 -mx-4 -mb-10 -mt-4 md:space-y-0 space-y-6"},l.createElement("div",{className:"p-4 md:w-1/3 flex"},l.createElement("div",{className:"w-12 h-12 inline-flex items-center justify-center rounded-full bg-gray-700 text-purple-700 mb-4 flex-shrink-0"},l.createElement(i.G,{size:"2x",icon:d.Ua$,className:"w-6 h-6 "})),l.createElement("div",{className:"flex-grow pl-6"},l.createElement("h2",{className:"text-gray-900 dark:text-gray-100 text-lg title-font font-medium mb-2"},"Code signing"),l.createElement("p",{className:"leading-relaxed text-base"},"Signed binaries for both macOS and Windows"))),l.createElement("div",{className:"p-4 md:w-1/3 flex"},l.createElement("div",{className:"w-12 h-12 inline-flex items-center justify-center rounded-full bg-gray-700 text-purple-800 mb-4 flex-shrink-0"},l.createElement(i.G,{size:"2x",icon:d.zoY,className:"w-6 h-6 "})),l.createElement("div",{className:"flex-grow pl-6"},l.createElement("h2",{className:"text-gray-900 dark:text-gray-100 text-lg title-font font-medium mb-2"},"Proxy"),l.createElement("p",{className:"leading-relaxed text-base"},"Configure proxy within the tool. Avoid any painful files to edit."))),l.createElement("div",{className:"p-4 md:w-1/3 flex"},l.createElement("div",{className:"w-12 h-12 inline-flex items-center justify-center rounded-full bg-gray-700 text-purple-800 mb-4 flex-shrink-0"},l.createElement(i.G,{size:"2x",icon:d.Kb6,className:"w-6 h-6 "})),l.createElement("div",{className:"flex-grow pl-6"},l.createElement("h2",{className:"text-gray-900 dark:text-gray-100 text-lg title-font font-medium mb-2"},"Registries"),l.createElement("p",{className:"leading-relaxed text-base"},"Manage OCI registries. Add/edit/delete registries.")))))))}function v(){return l.createElement("section",{className:"text-gray-900 dark:text-gray-400 dark:bg-charcoal-600 bg-zinc-200 body-font"},l.createElement("div",{className:"container px-5 py-24 mx-auto flex flex-wrap"},l.createElement("div",{className:"flex flex-col text-center w-full mb-5"},l.createElement("h2",{className:"max-w-lg mb-6 font-sans text-3xl font-bold leading-none tracking-tight text-gray-900 dark:text-white sm:text-4xl md:mx-auto"},"Available on Windows, Mac and Linux"),l.createElement("p",{className:"text-base text-gray-900 md:text-lg dark:text-gray-400"},"Use the same UI across different operating systems")),l.createElement("div",{className:"flex flex-wrap w-full justify-center"},l.createElement("div",{className:"p-4 w-11/12 md:w-1/2 lg:w-1/3"},l.createElement("div",{className:"flex rounded-lg h-full bg-zinc-100 dark:bg-charcoal-800 bg-opacity-60 p-8 flex-col"},l.createElement(r.Z,{title:"Download for Windows",className:"no-underline hover:no-underline text-gray-900 dark:text-white hover:dark:text-violet-600 ",to:"/downloads/Windows"},l.createElement("div",{className:"flex items-center mb-3 flex-col"},l.createElement(i.G,{size:"4x",icon:o.ts2}),l.createElement("div",{className:"inline-flex items-center justify-center rounded-full text-gray-900 dark:text-gray-400 flex-shrink-0"}),l.createElement("h2",{className:" text-lg title-font font-medium"}," Windows"))),l.createElement("div",{className:"flex-grow"},l.createElement("div",{className:"flex-grow w-full"},l.createElement("p",{className:"text-base text-center"},"exe or setup.exe"))))),l.createElement("div",{className:"p-4 w-11/12 md:w-1/2 lg:w-1/3"},l.createElement("div",{className:"flex rounded-lg h-full bg-zinc-100 dark:bg-charcoal-800 bg-opacity-60 p-8 flex-col"},l.createElement(r.Z,{title:"Download for macOS",className:"no-underline hover:no-underline text-gray-900 dark:text-white hover:dark:text-violet-600 ",to:"/downloads/macOS"},l.createElement("div",{className:"flex items-center mb-3 flex-col"},l.createElement(i.G,{size:"4x",icon:o.Av$}),l.createElement("div",{className:"inline-flex items-center justify-center rounded-full text-gray-900 dark:text-gray-400 flex-shrink-0"}),l.createElement("h2",{className:" text-lg title-font font-medium"}," macOS"))),l.createElement("div",{className:"flex-grow w-full"},l.createElement("p",{className:"text-base text-center"},"arm64, x64 or unified dmg"),l.createElement("p",{className:"text-base text-center"},l.createElement(i.G,{size:"1x",icon:d.v8y,className:"ml-2"})," brew install podman-desktop",l.createElement("button",{title:"Copy To Clipboard",className:"mr-5"},l.createElement(i.G,{size:"1x",icon:d.O4,className:"ml-3 cursor-pointer text-3xl text-white-500",onClick:()=>{(async()=>{await navigator.clipboard.writeText("brew install podman-desktop")})().catch((e=>{console.error("unable to copy instructions",e)}))}})))))),l.createElement("div",{className:"p-4 w-11/12 md:w-1/2 lg:w-1/3"},l.createElement("div",{className:"flex rounded-lg h-full bg-zinc-100 dark:bg-charcoal-800 bg-opacity-60 p-8 flex-col"},l.createElement(r.Z,{title:"Download for Linux",className:"no-underline hover:no-underline text-gray-900 dark:text-white hover:dark:text-violet-600 ",to:"/downloads/Linux"},l.createElement("div",{className:"flex items-center mb-3 flex-col"},l.createElement(i.G,{size:"4x",icon:o.qJE}),l.createElement("div",{className:"inline-flex items-center justify-center rounded-full text-gray-900 dark:text-gray-400 flex-shrink-0"}),l.createElement("h2",{className:" text-lg title-font font-medium"}," Linux"))),l.createElement("div",{className:"flex-grow"},l.createElement("p",{className:"text-base text-center"},"Flatpak or AMD64 binary (tar.gz)")))))))}function y(){return l.createElement("section",{className:"text-gray-900 dark:text-gray-400 dark:bg-charcoal-800 bg-zinc-100 body-font py-24"},l.createElement("div",{className:"container px-5 mx-auto flex flex-wrap"},l.createElement("div",{className:"flex flex-col text-center w-full mb-5"},l.createElement(E,{name:"features"}),l.createElement("h2",{className:"max-w-lg mb-6 font-sans text-3xl font-bold leading-none tracking-tight text-gray-900 dark:text-white sm:text-4xl md:mx-auto"},"Build, run and manage containers.")),l.createElement("div",{className:"container px-5 pb-5 mx-auto"},l.createElement("div",{className:"flex flex-wrap sm:-m-4 -mx-4 -mb-10 -mt-4 md:space-y-0 space-y-6"},l.createElement("div",{className:"p-4 md:w-1/4 flex"},l.createElement("div",{className:"w-12 h-12 inline-flex items-center justify-center rounded-full bg-gray-700 text-purple-700 mb-4 flex-shrink-0"},l.createElement(i.G,{size:"2x",icon:d.Obi,className:"w-6 h-6 "})),l.createElement("div",{className:"flex-grow pl-6"},l.createElement("h2",{className:"text-gray-900 dark:text-gray-100 text-lg title-font font-medium mb-2"},"Build"),l.createElement("p",{className:"leading-relaxed text-base list-disc"},l.createElement(i.G,{icon:d.ESn,className:"text-purple-700 w-3 h-3 mt-1 mr-2"}),"Build images from Containerfile or Dockerfile"))),l.createElement("div",{className:"p-4 md:w-1/4 flex"},l.createElement("div",{className:"w-12 h-12 inline-flex items-center justify-center rounded-full bg-gray-700 text-purple-700 mb-4 flex-shrink-0"},l.createElement(i.G,{size:"2x",icon:d.tMT,className:"w-6 h-6 "})),l.createElement("div",{className:"flex-grow pl-6"},l.createElement("h2",{className:"text-gray-900 dark:text-gray-100 text-lg title-font font-medium mb-2"},"Run"),l.createElement("p",{className:"leading-relaxed text-base list-disc"},l.createElement(i.G,{icon:d.Bkj,className:"text-purple-700 w-3 h-3 mt-1 mr-2"}),"Pull images from remote registries"),l.createElement("p",{className:"leading-relaxed text-base list-disc"},l.createElement(i.G,{icon:d.ESn,className:"text-purple-700 w-3 h-3 mt-1 mr-2"}),"Start / Stop / Restart containers"))),l.createElement("div",{className:"p-4 md:w-1/4 flex"},l.createElement("div",{className:"w-12 h-12 inline-flex items-center justify-center rounded-full bg-gray-700 text-purple-800 mb-4 flex-shrink-0"},l.createElement(i.G,{size:"2x",icon:d.ESn,className:"w-6 h-6 "})),l.createElement("div",{className:"flex-grow pl-6"},l.createElement("h2",{className:"text-gray-900 dark:text-gray-100 text-lg title-font font-medium mb-2"},"Inspect"),l.createElement("p",{className:"leading-relaxed text-base list-disc"},l.createElement(i.G,{icon:d.tMT,className:"text-purple-700 w-3 h-3 mt-1 mr-2"}),"Get a terminal in your container"),l.createElement("p",{className:"leading-relaxed text-base list-disc"},l.createElement(i.G,{icon:d.tMT,className:"text-purple-700 w-3 h-3 mt-1 mr-2"}),"Inspect logs"))),l.createElement("div",{className:"p-4 md:w-1/4 flex"},l.createElement("div",{className:"w-12 h-12 inline-flex items-center justify-center rounded-full bg-gray-700 text-purple-800 mb-4 flex-shrink-0"},l.createElement(i.G,{size:"2x",icon:d.Bkj,className:"w-6 h-6 "})),l.createElement("div",{className:"flex-grow pl-6"},l.createElement("h2",{className:"text-gray-900 dark:text-gray-100 text-lg title-font font-medium mb-2"},"Push"),l.createElement("p",{className:"leading-relaxed text-base list-disc"},l.createElement(i.G,{icon:d.tMT,className:"text-purple-700 w-3 h-3 mt-1 mr-2"}),"Push images to OCI registries"),l.createElement("p",{className:"leading-relaxed text-base list-disc"},l.createElement(i.G,{icon:d.tMT,className:"text-purple-700 w-3 h-3 mt-1 mr-2"}),"Deploy & Test images on Kubernetes")))))),l.createElement("div",{className:"container px-5 mx-auto flex flex-wrap"},l.createElement("div",{className:"flex flex-col text-center w-full mb-5"},l.createElement(r.Z,{title:"Discover More",className:"no-underline hover:no-underline text-gray-900 dark:text-white hover:dark:text-violet-600 ",to:"/features"},l.createElement("div",{className:"mt-3 text-purple-800 dark:text-purple-400 inline-flex items-center"},"Discover More",l.createElement("svg",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",className:"w-4 h-4 ml-2",viewBox:"0 0 24 24"},l.createElement("path",{d:"M5 12h14M12 5l7 7-7 7"})))))))}function k(){return l.createElement("section",{className:"text-gray-900 dark:text-gray-400 dark:bg-charcoal-600 bg-zinc-200 body-font py-24"},l.createElement("div",{className:"container px-5 mx-auto flex flex-wrap"},l.createElement("div",{className:"flex flex-col text-center w-full mb-5"},l.createElement(E,{name:"features"}),l.createElement("h2",{className:"max-w-lg mb-6 font-sans text-3xl font-bold leading-none tracking-tight text-gray-900 dark:text-white sm:text-4xl md:mx-auto"},"Work with Pods and Kubernetes")),l.createElement("div",{className:"container px-5 pb-5 mx-auto"},l.createElement("div",{className:"flex flex-wrap sm:-m-4 -mx-4 -mb-10 -mt-4 md:space-y-0 space-y-6"},l.createElement("div",{className:"p-4 md:w-1/2 flex"},l.createElement("div",{className:"w-12 h-12 inline-flex items-center justify-center rounded-full bg-gray-700 text-purple-700 mb-4 flex-shrink-0"},l.createElement(i.G,{size:"2x",icon:d.Obi,className:"w-6 h-6 "})),l.createElement("div",{className:"flex-grow pl-6"},l.createElement("h2",{className:"text-gray-900 dark:text-gray-100 text-lg title-font font-medium mb-2"},"Working with pods"),l.createElement("p",{className:"leading-relaxed text-base list-disc"},l.createElement(i.G,{icon:d.Bkj,className:"text-purple-700 w-3 h-3 mt-1 mr-2"}),l.createElement("a",{href:"docs/getting-started/creating-a-pod"},"Create Pods from existing containers")),l.createElement("p",{className:"leading-relaxed text-base list-disc"},l.createElement(i.G,{icon:d.ESn,className:"text-purple-700 w-3 h-3 mt-1 mr-2"}),"Create, start, inspect and manage pods"))),l.createElement("div",{className:"p-4 md:w-1/2 flex"},l.createElement("div",{className:"w-12 h-12 inline-flex items-center justify-center rounded-full bg-gray-700 text-purple-800 mb-4 flex-shrink-0"},l.createElement(i.G,{size:"2x",icon:d.ESn,className:"w-6 h-6 "})),l.createElement("div",{className:"flex-grow pl-6"},l.createElement("h2",{className:"text-gray-900 dark:text-gray-100 text-lg title-font font-medium mb-2"},"Working with Kubernetes"),l.createElement("p",{className:"leading-relaxed text-base list-disc"},l.createElement(i.G,{icon:d.tMT,className:"text-purple-700 w-3 h-3 mt-1 mr-2"}),"Play Kubernetes YAML directly with Podman Engine"),l.createElement("p",{className:"leading-relaxed text-base list-disc"},l.createElement(i.G,{icon:d.tMT,className:"text-purple-700 w-3 h-3 mt-1 mr-2"}),"Generate Kubernetes YAML from pods"),l.createElement("p",{className:"leading-relaxed text-base list-disc"},l.createElement(i.G,{icon:d.tMT,className:"text-purple-700 w-3 h-3 mt-1 mr-2"}),l.createElement("a",{href:"docs/kubernetes/deploying-a-pod-to-kubernetes"},"Deploy to existing Kubernetes environments")),l.createElement("p",{className:"leading-relaxed text-base list-disc"},l.createElement(i.G,{icon:d.tMT,className:"text-purple-700 w-3 h-3 mt-1 mr-2"}),l.createElement("a",{href:"docs/kubernetes/kind"},"Running Kubernetes on your workstation with Kind and Podman"))))))),l.createElement("div",{className:"container px-5 mx-auto flex flex-wrap"},l.createElement("div",{className:"flex flex-col text-center w-full mb-5"},l.createElement(r.Z,{title:"Discover More",className:"no-underline hover:no-underline text-gray-900 dark:text-white hover:dark:text-violet-600 ",to:"/features"},l.createElement("div",{className:"mt-3 text-purple-800 dark:text-purple-400 inline-flex items-center"},"Discover More",l.createElement("svg",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",className:"w-4 h-4 ml-2",viewBox:"0 0 24 24"},l.createElement("path",{d:"M5 12h14M12 5l7 7-7 7"})))))))}function G(){return l.createElement(n.Z,{title:"Podman Desktop - Containers and Kubernetes",description:"Podman Desktop - An open source graphical tool for developing on containers and Kubernetes"},l.createElement(c.Z,null),l.createElement(p,null),l.createElement(v,null),l.createElement(y,null),l.createElement(k,null),l.createElement(h,null),l.createElement(b,null),l.createElement(N,null),l.createElement(w,null))}}}]); \ No newline at end of file diff --git a/assets/js/5087625a.6b7ff57c.js b/assets/js/5087625a.6b7ff57c.js deleted file mode 100644 index aa0fe1f17ae..00000000000 --- a/assets/js/5087625a.6b7ff57c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[1724],{544:(e,t,a)=>{a.d(t,{Z:()=>s});var n=a(7378),l=a(161);const s=function(){function e(){var e,t;if(null==(e=document)||!e.documentElement)return;const a=document.documentElement;"dark"===(null==(t=a.dataset)?void 0:t.theme)?(a.classList.add("dark"),setTimeout((()=>{a.classList.add("dark")}),100)):(a.classList.remove("dark"),setTimeout((()=>{a.classList.remove("dark")}),100))}return(0,n.useEffect)((()=>{l.Z.canUseDOM&&e()}),[l.Z.canUseDOM]),(0,n.useEffect)((()=>{if(!l.Z.canUseDOM)return;const t=new MutationObserver((t=>{t.forEach((t=>{"attributes"!=t.type||"data-rh"!==t.attributeName&&"data-theme"!==t.attributeName||e()}))}));return t.observe(document.documentElement,{attributes:!0,childList:!1,subtree:!1}),()=>{t.disconnect()}}),[l.Z.canUseDOM]),n.createElement("div",null)}},36:(e,t,a)=>{a.r(t),a.d(t,{WindowsDownloads:()=>d,default:()=>u});var n=a(353),l=a(432),s=a(7378),r=a(544),i=a(1884),c=a(2739),o=a(9928),m=a(9374);function d(){const[e,t]=(0,s.useState)({version:"",binary:"",setup:"",airgapsetup:""});return(0,s.useEffect)((()=>{(async function(e){const t=await fetch("https://api.github.com/repos/containers/podman-desktop/releases/latest"),a=await t.json(),n=a.assets,l=n.filter((e=>e.name.endsWith("-setup.exe")&&!e.name.includes("airgap")));if(1!==l.length)throw new Error("Unable to grab setup.exe");const s=l[0],r=n.filter((e=>e.name.endsWith(".exe")&&!e.name.includes("airgap")&&e.name!==s.name))[0],i=n.filter((e=>e.name.endsWith("-setup.exe")&&e.name.includes("airgap")&&e.name!==s.name))[0];e({version:a.name,binary:r.browser_download_url,setup:s.browser_download_url,airgapsetup:i.browser_download_url})})(t).catch((e=>{console.error(e)}))}),[]),s.createElement("div",{className:"basis-1/3 py-2 rounded-lg dark:text-gray-400 text-gray-900 bg-zinc-300/25 dark:bg-zinc-700/25 bg-blend-multiply text-center items-center"},s.createElement(c.G,{size:"4x",icon:o.ts2,className:"my-4"}),s.createElement("h2",{className:"w-full text-center text-4xl title-font font-medium pb-3 border-purple-500 border-b-2"},"Windows"),s.createElement("div",{className:"flex p-1 flex-col md:flex-col items-center align-top"},s.createElement("div",{className:"flex flex-col align-middle items-center"},s.createElement("h3",{className:"mt-0"},"Podman Desktop for Windows"),s.createElement("div",{className:"pt-8"},s.createElement(i.Z,{className:"mt-auto no-underline hover:no-underline inline-flex text-white hover:text-white bg-purple-500 border-0 py-2 px-6 focus:outline-none hover:bg-purple-500 rounded text-md font-semibold",to:e.setup},s.createElement(c.G,{size:"1x",icon:m.q7m,className:"mr-2"}),"Download Now"),s.createElement("caption",{className:"block w-full mt-1 text/50 dark:text-white/50"},"Windows installer, version ",e.version)),s.createElement("div",{className:"mt-4"},s.createElement("div",null,"Other downloads for Windows:"),s.createElement(i.Z,{className:"underline inline-flex dark:text-white text-purple-500 hover:text-purple-200 py-2 px-6 font-semibold text-md",to:e.binary},s.createElement(c.G,{size:"1x",icon:m.q7m,className:"mr-2"}),"Windows portable executable"),s.createElement(i.Z,{className:"underline inline-flex dark:text-white text-purple-500 hover:text-purple-200 py-2 px-6 font-semibold text-md",to:e.airgapsetup},s.createElement(c.G,{size:"1x",icon:m.q7m,className:"mr-2"}),"Windows installer for restricted environments"),s.createElement(i.Z,{className:"underline inline-flex dark:text-white text-purple-500 hover:text-purple-200 py-2 px-6 font-semibold text-md",to:"/docs/Installation/windows-install"},s.createElement(c.G,{size:"1x",icon:o.ts2,className:"mr-2"}),"Package Managers Guide")),s.createElement("div",{className:"flex flex-col align-middle items-center"},s.createElement("div",{className:"items-center text-center pt-6"},s.createElement("p",{className:"text-lg"},"Using ",s.createElement("strong",null,"winget"),"? Install in one command:"),s.createElement("div",{className:"flex flex-row pt-3"},s.createElement("p",{className:"text-xl p-1"},s.createElement(c.G,{size:"sm",icon:o.hVS,className:"mx-1 mt-2"})),s.createElement("div",{className:"dark:bg-charcoal-800/50 bg-zinc-300/50 p-1 text-xl dark:text-purple-200 text-purple-600 flex flex-row"},s.createElement("div",{className:"w-72 truncate"},s.createElement(c.G,{size:"xs",icon:m.Jw3,className:"mx-2 mt-3"}),"winget install -e --id RedHat.Podman-Desktop"),s.createElement("div",null,s.createElement("button",{title:"Copy To Clipboard",className:"mr-2 p-1"}," ",s.createElement(c.G,{size:"xs",icon:m.O4,className:"ml-3 cursor-pointer text-xl text-white-500",onClick:()=>{(async()=>{await navigator.clipboard.writeText("winget install -e --id RedHat.Podman-Desktop")})().catch((e=>{console.error("unable to copy instructions",e)}))}}))))))))))}function u(){const{siteConfig:e}=(0,n.Z)();return s.createElement(l.Z,{title:e.title,description:"Downloads for Windows"},s.createElement(r.Z,null),s.createElement("section",{className:"container mx-auto flex justify-center flex-col"},s.createElement("div",{className:"w-full flex flex-col"},s.createElement("h1",{className:"title-font sm:text-3xl text-2xl lg:text-5xl mb-10 font-medium text-gray-900 dark:text-white"},"Windows Downloads"),s.createElement("main",{className:"h-screen"},s.createElement(d,null)))))}}}]); \ No newline at end of file diff --git a/assets/js/5087625a.ed643cc2.js b/assets/js/5087625a.ed643cc2.js new file mode 100644 index 00000000000..0ac7bbb7250 --- /dev/null +++ b/assets/js/5087625a.ed643cc2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[1724],{544:(e,t,a)=>{a.d(t,{Z:()=>s});var n=a(7378),l=a(161);const s=function(){function e(){var e,t;if(null==(e=document)||!e.documentElement)return;const a=document.documentElement;"dark"===(null==(t=a.dataset)?void 0:t.theme)?(a.classList.add("dark"),setTimeout((()=>{a.classList.add("dark")}),100)):(a.classList.remove("dark"),setTimeout((()=>{a.classList.remove("dark")}),100))}return(0,n.useEffect)((()=>{l.Z.canUseDOM&&e()}),[l.Z.canUseDOM]),(0,n.useEffect)((()=>{if(!l.Z.canUseDOM)return;const t=new MutationObserver((t=>{t.forEach((t=>{"attributes"!==t.type||"data-rh"!==t.attributeName&&"data-theme"!==t.attributeName||e()}))}));return t.observe(document.documentElement,{attributes:!0,childList:!1,subtree:!1}),()=>{t.disconnect()}}),[l.Z.canUseDOM]),n.createElement("div",null)}},36:(e,t,a)=>{a.r(t),a.d(t,{WindowsDownloads:()=>d,default:()=>u});var n=a(353),l=a(432),s=a(7378),r=a(544),i=a(1884),c=a(2739),o=a(9928),m=a(9374);function d(){const[e,t]=(0,s.useState)({version:"",binary:"",setup:"",airgapsetup:""});return(0,s.useEffect)((()=>{(async function(e){const t=await fetch("https://api.github.com/repos/containers/podman-desktop/releases/latest"),a=await t.json(),n=a.assets,l=n.filter((e=>e.name.endsWith("-setup.exe")&&!e.name.includes("airgap")));if(1!==l.length)throw new Error("Unable to grab setup.exe");const s=l[0],r=n.filter((e=>e.name.endsWith(".exe")&&!e.name.includes("airgap")&&e.name!==s.name))[0],i=n.filter((e=>e.name.endsWith("-setup.exe")&&e.name.includes("airgap")&&e.name!==s.name))[0];e({version:a.name,binary:r.browser_download_url,setup:s.browser_download_url,airgapsetup:i.browser_download_url})})(t).catch((e=>{console.error(e)}))}),[]),s.createElement("div",{className:"basis-1/3 py-2 rounded-lg dark:text-gray-400 text-gray-900 bg-zinc-300/25 dark:bg-zinc-700/25 bg-blend-multiply text-center items-center"},s.createElement(c.G,{size:"4x",icon:o.ts2,className:"my-4"}),s.createElement("h2",{className:"w-full text-center text-4xl title-font font-medium pb-3 border-purple-500 border-b-2"},"Windows"),s.createElement("div",{className:"flex p-1 flex-col md:flex-col items-center align-top"},s.createElement("div",{className:"flex flex-col align-middle items-center"},s.createElement("h3",{className:"mt-0"},"Podman Desktop for Windows"),s.createElement("div",{className:"pt-8"},s.createElement(i.Z,{className:"mt-auto no-underline hover:no-underline inline-flex text-white hover:text-white bg-purple-500 border-0 py-2 px-6 focus:outline-none hover:bg-purple-500 rounded text-md font-semibold",to:e.setup},s.createElement(c.G,{size:"1x",icon:m.q7m,className:"mr-2"}),"Download Now"),s.createElement("caption",{className:"block w-full mt-1 text/50 dark:text-white/50"},"Windows installer, version ",e.version)),s.createElement("div",{className:"mt-4"},s.createElement("div",null,"Other downloads for Windows:"),s.createElement(i.Z,{className:"underline inline-flex dark:text-white text-purple-500 hover:text-purple-200 py-2 px-6 font-semibold text-md",to:e.binary},s.createElement(c.G,{size:"1x",icon:m.q7m,className:"mr-2"}),"Windows portable executable"),s.createElement(i.Z,{className:"underline inline-flex dark:text-white text-purple-500 hover:text-purple-200 py-2 px-6 font-semibold text-md",to:e.airgapsetup},s.createElement(c.G,{size:"1x",icon:m.q7m,className:"mr-2"}),"Windows installer for restricted environments"),s.createElement(i.Z,{className:"underline inline-flex dark:text-white text-purple-500 hover:text-purple-200 py-2 px-6 font-semibold text-md",to:"/docs/Installation/windows-install"},s.createElement(c.G,{size:"1x",icon:o.ts2,className:"mr-2"}),"Package Managers Guide")),s.createElement("div",{className:"flex flex-col align-middle items-center"},s.createElement("div",{className:"items-center text-center pt-6"},s.createElement("p",{className:"text-lg"},"Using ",s.createElement("strong",null,"winget"),"? Install in one command:"),s.createElement("div",{className:"flex flex-row pt-3"},s.createElement("p",{className:"text-xl p-1"},s.createElement(c.G,{size:"sm",icon:o.hVS,className:"mx-1 mt-2"})),s.createElement("div",{className:"dark:bg-charcoal-800/50 bg-zinc-300/50 p-1 text-xl dark:text-purple-200 text-purple-600 flex flex-row"},s.createElement("div",{className:"w-72 truncate"},s.createElement(c.G,{size:"xs",icon:m.Jw3,className:"mx-2 mt-3"}),"winget install -e --id RedHat.Podman-Desktop"),s.createElement("div",null,s.createElement("button",{title:"Copy To Clipboard",className:"mr-2 p-1"}," ",s.createElement(c.G,{size:"xs",icon:m.O4,className:"ml-3 cursor-pointer text-xl text-white-500",onClick:()=>{(async()=>{await navigator.clipboard.writeText("winget install -e --id RedHat.Podman-Desktop")})().catch((e=>{console.error("unable to copy instructions",e)}))}}))))))))))}function u(){const{siteConfig:e}=(0,n.Z)();return s.createElement(l.Z,{title:e.title,description:"Downloads for Windows"},s.createElement(r.Z,null),s.createElement("section",{className:"container mx-auto flex justify-center flex-col"},s.createElement("div",{className:"w-full flex flex-col"},s.createElement("h1",{className:"title-font sm:text-3xl text-2xl lg:text-5xl mb-10 font-medium text-gray-900 dark:text-white"},"Windows Downloads"),s.createElement("main",{className:"h-screen"},s.createElement(d,null)))))}}}]); \ No newline at end of file diff --git a/assets/js/56c3a9b2.20b15fc9.js b/assets/js/56c3a9b2.20b15fc9.js new file mode 100644 index 00000000000..83e333e715a --- /dev/null +++ b/assets/js/56c3a9b2.20b15fc9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[3010],{544:(e,t,a)=>{a.d(t,{Z:()=>r});var l=a(7378),n=a(161);const r=function(){function e(){var e,t;if(null==(e=document)||!e.documentElement)return;const a=document.documentElement;"dark"===(null==(t=a.dataset)?void 0:t.theme)?(a.classList.add("dark"),setTimeout((()=>{a.classList.add("dark")}),100)):(a.classList.remove("dark"),setTimeout((()=>{a.classList.remove("dark")}),100))}return(0,l.useEffect)((()=>{n.Z.canUseDOM&&e()}),[n.Z.canUseDOM]),(0,l.useEffect)((()=>{if(!n.Z.canUseDOM)return;const t=new MutationObserver((t=>{t.forEach((t=>{"attributes"!==t.type||"data-rh"!==t.attributeName&&"data-theme"!==t.attributeName||e()}))}));return t.observe(document.documentElement,{attributes:!0,childList:!1,subtree:!1}),()=>{t.disconnect()}}),[n.Z.canUseDOM]),l.createElement("div",null)}},5646:(e,t,a)=>{a.r(t),a.d(t,{default:()=>f});var l=a(353),n=a(432),r=a(7378),s=a(544),c=a(2739),m=a(9374),i=a(9928);function o(){return r.createElement("div",null,r.createElement("section",{className:"text-gray-900 dark:text-gray-700 dark:bg-charcoal-600 bg-zinc-200 body-font"},r.createElement("div",{className:"container mx-auto flex px-5 py-24 items-center justify-center flex-col"},r.createElement("div",{className:"text-center lg:w-2/3 w-full"},r.createElement("h1",{className:"title-font sm:text-4xl text-3xl lg:text-6xl mb-4 font-medium text-gray-900 dark:text-white"},"Podman Desktop: Core Values"),r.createElement("p",null,"Podman Desktop is designed and built with the following core values in mind.")))))}function d(){return r.createElement("div",null,r.createElement("section",{className:"text-gray-900 dark:text-gray-700 dark:bg-charcoal-800 bg-zinc-100 body-font"},r.createElement("div",{className:"container mx-auto flex px-5 py-24 md:flex-row flex-col items-center"},r.createElement("div",{className:"lg:flex-grow md:w-1/2 lg:pr-24 md:pr-16 flex flex-col md:items-start md:text-left mb-16 md:mb-0 items-center text-center"},r.createElement("h1",{className:"title-font sm:text-4xl text-3xl mb-4 font-medium text-gray-900 dark:text-white"},"Fast and Light",r.createElement("br",{className:"hidden lg:inline-block"})),r.createElement("p",{className:"leading-relaxed list-item dark:text-gray-300 text-gray-900"},"Daemon-less and using the fastest technologies to make Podman Desktop fast to use."),r.createElement("p",{className:"leading-relaxed list-item dark:text-gray-300 text-gray-900"},"Reactive and light on resources utilized from your environment.")),r.createElement("div",{className:"lg:w-1/3 md:w-1/2 w-1/3 flex justify-center gap-10 text-purple-700"},r.createElement(c.G,{icon:m.QzV,size:"8x"})))))}function x(){return r.createElement("section",{className:"text-gray-900 dark:text-gray-700 dark:bg-charcoal-600 bg-zinc-200 body-font"},r.createElement("div",{className:"container mx-auto flex px-5 py-24 md:flex-row flex-col items-center"},r.createElement("div",{className:"lg:w-1/3 md:w-1/2 w-1/3 flex justify-center gap-10 text-purple-700"},r.createElement(c.G,{icon:m.IA$,size:"8x"})),r.createElement("div",{className:"lg:flex-grow md:w-1/2 lg:pl-24 md:pl-16 flex flex-col md:items-start md:text-left items-center text-center"},r.createElement("h1",{className:"title-font sm:text-4xl text-3xl mb-4 font-medium text-gray-900 dark:text-white"},"Open"),r.createElement("p",{className:"leading-relaxed list-item dark:text-gray-300 text-gray-900"},"While focusing on Podman as a container engine packaged by default, Podman Desktop also enables other container engines."),r.createElement("p",{className:"leading-relaxed list-item dark:text-gray-300 text-gray-900"},"This gives the end-user a single tool to manage all their containers independently from the engine used."))))}function g(){return r.createElement("div",null,r.createElement("section",{className:"text-gray-900 dark:text-gray-700 dark:bg-charcoal-800 bg-zinc-100 body-font"},r.createElement("div",{className:"container mx-auto flex px-5 py-24 md:flex-row flex-col items-center"},r.createElement("div",{className:"lg:flex-grow md:w-1/2 lg:pr-24 md:pr-16 flex flex-col md:items-start md:text-left mb-16 md:mb-0 items-center text-center"},r.createElement("h1",{className:"title-font sm:text-4xl text-3xl mb-4 font-medium text-gray-900 dark:text-white"},"Simple",r.createElement("br",{className:"hidden lg:inline-block"})),r.createElement("p",{className:"leading-relaxed list-item dark:text-gray-300 text-gray-900"},"Managing a container engine locally can be hard."),r.createElement("p",{className:"leading-relaxed list-item dark:text-gray-300 text-gray-900"},"Running Kubernetes in a local environment requires knowledge."),r.createElement("p",{className:"leading-relaxed list-item dark:text-gray-300 text-gray-900"},"Podman Desktop takes care of this complexity and enables developers to focus on their code.")),r.createElement("div",{className:"lg:w-1/3 md:w-1/2 w-1/3 flex justify-center gap-10 text-purple-700"},r.createElement(c.G,{icon:i.gvK,size:"8x"})))))}function u(){return r.createElement("section",{className:"text-gray-900 dark:text-gray-700 dark:bg-charcoal-600 bg-zinc-200 body-font"},r.createElement("div",{className:"container mx-auto flex px-5 py-24 md:flex-row flex-col items-center"},r.createElement("div",{className:"lg:w-1/3 md:w-1/2 w-1/3 flex justify-center gap-10 text-purple-700"},r.createElement(c.G,{icon:m.Stf,size:"8x"})),r.createElement("div",{className:"lg:flex-grow md:w-1/2 lg:pl-24 md:pl-16 flex flex-col md:items-start md:text-left items-center text-center"},r.createElement("h1",{className:"title-font sm:text-4xl text-3xl mb-4 font-medium text-gray-900 dark:text-white"},"Extensible Workflow"),r.createElement("p",{className:"leading-relaxed list-item dark:text-gray-300 text-gray-900"},"Podman Desktop provides extensions points to enable the community to build more features."),r.createElement("p",{className:"leading-relaxed list-item dark:text-gray-300 text-gray-900"},"This allows more in-deep integrations with other tools and technologies to extend workflows and capabilities of the tool."),r.createElement("p",{className:"leading-relaxed list-item dark:text-gray-300 text-gray-900"},"Thus giving the developer a single tool to manage all their containers independently from the engine used."))))}function f(){const{siteConfig:e}=(0,l.Z)();return r.createElement(n.Z,{title:e.title,description:"Core Values"},r.createElement(s.Z,null),r.createElement(o,null),r.createElement(d,null),r.createElement(x,null),r.createElement(g,null),r.createElement(u,null))}}}]); \ No newline at end of file diff --git a/assets/js/56c3a9b2.625b7aa0.js b/assets/js/56c3a9b2.625b7aa0.js deleted file mode 100644 index 4ad38de430c..00000000000 --- a/assets/js/56c3a9b2.625b7aa0.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[3010],{544:(e,t,a)=>{a.d(t,{Z:()=>r});var l=a(7378),n=a(161);const r=function(){function e(){var e,t;if(null==(e=document)||!e.documentElement)return;const a=document.documentElement;"dark"===(null==(t=a.dataset)?void 0:t.theme)?(a.classList.add("dark"),setTimeout((()=>{a.classList.add("dark")}),100)):(a.classList.remove("dark"),setTimeout((()=>{a.classList.remove("dark")}),100))}return(0,l.useEffect)((()=>{n.Z.canUseDOM&&e()}),[n.Z.canUseDOM]),(0,l.useEffect)((()=>{if(!n.Z.canUseDOM)return;const t=new MutationObserver((t=>{t.forEach((t=>{"attributes"!=t.type||"data-rh"!==t.attributeName&&"data-theme"!==t.attributeName||e()}))}));return t.observe(document.documentElement,{attributes:!0,childList:!1,subtree:!1}),()=>{t.disconnect()}}),[n.Z.canUseDOM]),l.createElement("div",null)}},5646:(e,t,a)=>{a.r(t),a.d(t,{default:()=>f});var l=a(353),n=a(432),r=a(7378),s=a(544),c=a(2739),m=a(9374),i=a(9928);function o(){return r.createElement("div",null,r.createElement("section",{className:"text-gray-900 dark:text-gray-700 dark:bg-charcoal-600 bg-zinc-200 body-font"},r.createElement("div",{className:"container mx-auto flex px-5 py-24 items-center justify-center flex-col"},r.createElement("div",{className:"text-center lg:w-2/3 w-full"},r.createElement("h1",{className:"title-font sm:text-4xl text-3xl lg:text-6xl mb-4 font-medium text-gray-900 dark:text-white"},"Podman Desktop: Core Values"),r.createElement("p",null,"Podman Desktop is designed and built with the following core values in mind.")))))}function d(){return r.createElement("div",null,r.createElement("section",{className:"text-gray-900 dark:text-gray-700 dark:bg-charcoal-800 bg-zinc-100 body-font"},r.createElement("div",{className:"container mx-auto flex px-5 py-24 md:flex-row flex-col items-center"},r.createElement("div",{className:"lg:flex-grow md:w-1/2 lg:pr-24 md:pr-16 flex flex-col md:items-start md:text-left mb-16 md:mb-0 items-center text-center"},r.createElement("h1",{className:"title-font sm:text-4xl text-3xl mb-4 font-medium text-gray-900 dark:text-white"},"Fast and Light",r.createElement("br",{className:"hidden lg:inline-block"})),r.createElement("p",{className:"leading-relaxed list-item dark:text-gray-300 text-gray-900"},"Daemon-less and using the fastest technologies to make Podman Desktop fast to use."),r.createElement("p",{className:"leading-relaxed list-item dark:text-gray-300 text-gray-900"},"Reactive and light on resources utilized from your environment.")),r.createElement("div",{className:"lg:w-1/3 md:w-1/2 w-1/3 flex justify-center gap-10 text-purple-700"},r.createElement(c.G,{icon:m.QzV,size:"8x"})))))}function x(){return r.createElement("section",{className:"text-gray-900 dark:text-gray-700 dark:bg-charcoal-600 bg-zinc-200 body-font"},r.createElement("div",{className:"container mx-auto flex px-5 py-24 md:flex-row flex-col items-center"},r.createElement("div",{className:"lg:w-1/3 md:w-1/2 w-1/3 flex justify-center gap-10 text-purple-700"},r.createElement(c.G,{icon:m.IA$,size:"8x"})),r.createElement("div",{className:"lg:flex-grow md:w-1/2 lg:pl-24 md:pl-16 flex flex-col md:items-start md:text-left items-center text-center"},r.createElement("h1",{className:"title-font sm:text-4xl text-3xl mb-4 font-medium text-gray-900 dark:text-white"},"Open"),r.createElement("p",{className:"leading-relaxed list-item dark:text-gray-300 text-gray-900"},"While focusing on Podman as a container engine packaged by default, Podman Desktop also enables other container engines."),r.createElement("p",{className:"leading-relaxed list-item dark:text-gray-300 text-gray-900"},"This gives the end-user a single tool to manage all their containers independently from the engine used."))))}function g(){return r.createElement("div",null,r.createElement("section",{className:"text-gray-900 dark:text-gray-700 dark:bg-charcoal-800 bg-zinc-100 body-font"},r.createElement("div",{className:"container mx-auto flex px-5 py-24 md:flex-row flex-col items-center"},r.createElement("div",{className:"lg:flex-grow md:w-1/2 lg:pr-24 md:pr-16 flex flex-col md:items-start md:text-left mb-16 md:mb-0 items-center text-center"},r.createElement("h1",{className:"title-font sm:text-4xl text-3xl mb-4 font-medium text-gray-900 dark:text-white"},"Simple",r.createElement("br",{className:"hidden lg:inline-block"})),r.createElement("p",{className:"leading-relaxed list-item dark:text-gray-300 text-gray-900"},"Managing a container engine locally can be hard."),r.createElement("p",{className:"leading-relaxed list-item dark:text-gray-300 text-gray-900"},"Running Kubernetes in a local environment requires knowledge."),r.createElement("p",{className:"leading-relaxed list-item dark:text-gray-300 text-gray-900"},"Podman Desktop takes care of this complexity and enables developers to focus on their code.")),r.createElement("div",{className:"lg:w-1/3 md:w-1/2 w-1/3 flex justify-center gap-10 text-purple-700"},r.createElement(c.G,{icon:i.gvK,size:"8x"})))))}function u(){return r.createElement("section",{className:"text-gray-900 dark:text-gray-700 dark:bg-charcoal-600 bg-zinc-200 body-font"},r.createElement("div",{className:"container mx-auto flex px-5 py-24 md:flex-row flex-col items-center"},r.createElement("div",{className:"lg:w-1/3 md:w-1/2 w-1/3 flex justify-center gap-10 text-purple-700"},r.createElement(c.G,{icon:m.Stf,size:"8x"})),r.createElement("div",{className:"lg:flex-grow md:w-1/2 lg:pl-24 md:pl-16 flex flex-col md:items-start md:text-left items-center text-center"},r.createElement("h1",{className:"title-font sm:text-4xl text-3xl mb-4 font-medium text-gray-900 dark:text-white"},"Extensible Workflow"),r.createElement("p",{className:"leading-relaxed list-item dark:text-gray-300 text-gray-900"},"Podman Desktop provides extensions points to enable the community to build more features."),r.createElement("p",{className:"leading-relaxed list-item dark:text-gray-300 text-gray-900"},"This allows more in-deep integrations with other tools and technologies to extend workflows and capabilities of the tool."),r.createElement("p",{className:"leading-relaxed list-item dark:text-gray-300 text-gray-900"},"Thus giving the developer a single tool to manage all their containers independently from the engine used."))))}function f(){const{siteConfig:e}=(0,l.Z)();return r.createElement(n.Z,{title:e.title,description:"Core Values"},r.createElement(s.Z,null),r.createElement(o,null),r.createElement(d,null),r.createElement(x,null),r.createElement(g,null),r.createElement(u,null))}}}]); \ No newline at end of file diff --git a/assets/js/6101b3fc.c83f6326.js b/assets/js/6101b3fc.c83f6326.js deleted file mode 100644 index b11d6a3b143..00000000000 --- a/assets/js/6101b3fc.c83f6326.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[5248],{544:(e,t,a)=>{a.d(t,{Z:()=>r});var l=a(7378),n=a(161);const r=function(){function e(){var e,t;if(null==(e=document)||!e.documentElement)return;const a=document.documentElement;"dark"===(null==(t=a.dataset)?void 0:t.theme)?(a.classList.add("dark"),setTimeout((()=>{a.classList.add("dark")}),100)):(a.classList.remove("dark"),setTimeout((()=>{a.classList.remove("dark")}),100))}return(0,l.useEffect)((()=>{n.Z.canUseDOM&&e()}),[n.Z.canUseDOM]),(0,l.useEffect)((()=>{if(!n.Z.canUseDOM)return;const t=new MutationObserver((t=>{t.forEach((t=>{"attributes"!=t.type||"data-rh"!==t.attributeName&&"data-theme"!==t.attributeName||e()}))}));return t.observe(document.documentElement,{attributes:!0,childList:!1,subtree:!1}),()=>{t.disconnect()}}),[n.Z.canUseDOM]),l.createElement("div",null)}},3963:(e,t,a)=>{a.r(t),a.d(t,{LinuxDownloads:()=>d,default:()=>u});var l=a(353),n=a(432),r=a(7378),s=a(544),c=a(1884),o=a(2739),i=a(9374),m=a(9928);function d(){const[e,t]=(0,r.useState)({version:"",binary:"",flatpak:""});return(0,r.useEffect)((()=>{(async function(e){const t=await fetch("https://api.github.com/repos/containers/podman-desktop/releases/latest"),a=await t.json(),l=a.assets,n=l.filter((e=>e.name.endsWith(".tar.gz")));if(1!==n.length)throw new Error("Unable to grab .tar.gz");const r=n[0],s=l.filter((e=>e.name.endsWith(".flatpak")));if(1!==s.length)throw new Error("Unable to grab .flatpak");const c=s[0];e({version:a.name,binary:r.browser_download_url,flatpak:c.browser_download_url})})(t).catch((e=>{console.error(e)}))}),[]),r.createElement("div",{className:"basis-1/3 py-2 rounded-lg dark:text-gray-400 text-gray-900 bg-zinc-300/25 dark:bg-zinc-700/25 bg-blend-multiply text-center items-center"},r.createElement(o.G,{size:"4x",icon:m.qJE,className:"my-4"}),r.createElement("h2",{className:"w-full text-center text-4xl title-font font-medium pb-3 border-purple-500 border-b-2"},"Linux"),r.createElement("div",{className:"flex p-1 flex-col md:flex-col items-center align-top"},r.createElement("div",{className:"flex flex-col align-middle items-center"},r.createElement("h3",{className:"mt-0"},"Podman Desktop for Linux"),r.createElement("div",{className:"pt-8"},r.createElement(c.Z,{className:"mt-auto no-underline hover:no-underline inline-flex text-white hover:text-white bg-purple-500 border-0 py-2 px-6 focus:outline-none hover:bg-purple-500 rounded text-md font-semibold",to:e.flatpak},r.createElement(o.G,{size:"1x",icon:i.q7m,className:"mr-2"}),"Download Now"),r.createElement("caption",{className:"block w-full mt-1 text/50 dark:text-white/50"},"Linux *.flatpak, version ",e.version)),r.createElement("div",{className:"mt-4"},r.createElement("div",null,"Other Linux downloads:"),r.createElement(c.Z,{className:"underline inline-flex dark:text-white text-purple-500 hover:text-purple-200 py-2 px-6 font-semibold text-md",to:e.binary},r.createElement(o.G,{size:"1x",icon:i.q7m,className:"mr-2"}),"AMD64 binary (tar.gz)")),r.createElement("div",{className:"flex flex-col align-middle items-center"},r.createElement("div",{className:"items-center text-center pt-6"},r.createElement("p",{className:"text-lg"},"Using"," ",r.createElement("a",{className:"text-purple-500",href:"https://flathub.org/apps/details/io.podman_desktop.PodmanDesktop"},"Flathub")," ","? Install in one command:"),r.createElement("div",{className:"flex flex-row pt-3 pb-7"},r.createElement("p",{className:"text-xl p-1 mx-1"},r.createElement("svg",{width:"35px",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor"},r.createElement("path",{d:"M12 2.604l-.43.283L0 10.459v6.752l6.393 4.184L12 17.725l5.607 3.671L24 17.211v-6.752L12 2.604zm0 .828l5.434 3.556-2.717 1.778L12 10.545l-2.717-1.78-2.717-1.777L12 3.432zM6.39 7.104l5.434 3.556-5.408 3.54-5.434-3.557 5.409-3.54zm11.22 0l5.431 3.554-5.434 3.557-5.433-3.555 5.435-3.556zM.925 10.867l5.379 3.52a.123.08 0 00.027.013v5.647l-5.406-3.54v-5.64zm11.213.115l5.408 3.54v5.664l-5.408-3.54v-5.664z"}))),r.createElement("div",{className:"dark:bg-charcoal-800/50 bg-zinc-300/50 p-1 text-xl dark:text-purple-200 text-purple-600 flex flex-row"},r.createElement("div",{className:"w-72 truncate"},r.createElement(o.G,{size:"xs",icon:i.Jw3,className:"mx-2 mt-3"}),"flatpak install flathub io.podman_desktop.PodmanDesktop"),r.createElement("div",null,r.createElement("button",{title:"Copy To Clipboard",className:"mr-2 p-1"}," ",r.createElement(o.G,{size:"xs",icon:i.O4,className:"ml-3 cursor-pointer text-xl text-white-500",onClick:()=>{(async()=>{await navigator.clipboard.writeText("flatpak install flathub io.podman_desktop.PodmanDesktop")})().catch((e=>{console.error("unable to copy instructions",e)}))}}))))))))))}function u(){const{siteConfig:e}=(0,l.Z)();return r.createElement(n.Z,{title:e.title,description:"Downloads for macOS"},r.createElement(s.Z,null),r.createElement("section",{className:"container mx-auto flex justify-center flex-col"},r.createElement("div",{className:"w-full flex flex-col"},r.createElement("h1",{className:"title-font sm:text-3xl text-2xl lg:text-5xl mb-10 font-medium text-gray-900 dark:text-white"},"Linux Downloads"),r.createElement("main",{className:"h-screen"},r.createElement(d,null)))))}}}]); \ No newline at end of file diff --git a/assets/js/6101b3fc.ee07cc61.js b/assets/js/6101b3fc.ee07cc61.js new file mode 100644 index 00000000000..e6965ec7ead --- /dev/null +++ b/assets/js/6101b3fc.ee07cc61.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[5248],{544:(e,t,a)=>{a.d(t,{Z:()=>r});var l=a(7378),n=a(161);const r=function(){function e(){var e,t;if(null==(e=document)||!e.documentElement)return;const a=document.documentElement;"dark"===(null==(t=a.dataset)?void 0:t.theme)?(a.classList.add("dark"),setTimeout((()=>{a.classList.add("dark")}),100)):(a.classList.remove("dark"),setTimeout((()=>{a.classList.remove("dark")}),100))}return(0,l.useEffect)((()=>{n.Z.canUseDOM&&e()}),[n.Z.canUseDOM]),(0,l.useEffect)((()=>{if(!n.Z.canUseDOM)return;const t=new MutationObserver((t=>{t.forEach((t=>{"attributes"!==t.type||"data-rh"!==t.attributeName&&"data-theme"!==t.attributeName||e()}))}));return t.observe(document.documentElement,{attributes:!0,childList:!1,subtree:!1}),()=>{t.disconnect()}}),[n.Z.canUseDOM]),l.createElement("div",null)}},3963:(e,t,a)=>{a.r(t),a.d(t,{LinuxDownloads:()=>d,default:()=>u});var l=a(353),n=a(432),r=a(7378),s=a(544),c=a(1884),o=a(2739),i=a(9374),m=a(9928);function d(){const[e,t]=(0,r.useState)({version:"",binary:"",flatpak:""});return(0,r.useEffect)((()=>{(async function(e){const t=await fetch("https://api.github.com/repos/containers/podman-desktop/releases/latest"),a=await t.json(),l=a.assets,n=l.filter((e=>e.name.endsWith(".tar.gz")));if(1!==n.length)throw new Error("Unable to grab .tar.gz");const r=n[0],s=l.filter((e=>e.name.endsWith(".flatpak")));if(1!==s.length)throw new Error("Unable to grab .flatpak");const c=s[0];e({version:a.name,binary:r.browser_download_url,flatpak:c.browser_download_url})})(t).catch((e=>{console.error(e)}))}),[]),r.createElement("div",{className:"basis-1/3 py-2 rounded-lg dark:text-gray-400 text-gray-900 bg-zinc-300/25 dark:bg-zinc-700/25 bg-blend-multiply text-center items-center"},r.createElement(o.G,{size:"4x",icon:m.qJE,className:"my-4"}),r.createElement("h2",{className:"w-full text-center text-4xl title-font font-medium pb-3 border-purple-500 border-b-2"},"Linux"),r.createElement("div",{className:"flex p-1 flex-col md:flex-col items-center align-top"},r.createElement("div",{className:"flex flex-col align-middle items-center"},r.createElement("h3",{className:"mt-0"},"Podman Desktop for Linux"),r.createElement("div",{className:"pt-8"},r.createElement(c.Z,{className:"mt-auto no-underline hover:no-underline inline-flex text-white hover:text-white bg-purple-500 border-0 py-2 px-6 focus:outline-none hover:bg-purple-500 rounded text-md font-semibold",to:e.flatpak},r.createElement(o.G,{size:"1x",icon:i.q7m,className:"mr-2"}),"Download Now"),r.createElement("caption",{className:"block w-full mt-1 text/50 dark:text-white/50"},"Linux *.flatpak, version ",e.version)),r.createElement("div",{className:"mt-4"},r.createElement("div",null,"Other Linux downloads:"),r.createElement(c.Z,{className:"underline inline-flex dark:text-white text-purple-500 hover:text-purple-200 py-2 px-6 font-semibold text-md",to:e.binary},r.createElement(o.G,{size:"1x",icon:i.q7m,className:"mr-2"}),"AMD64 binary (tar.gz)")),r.createElement("div",{className:"flex flex-col align-middle items-center"},r.createElement("div",{className:"items-center text-center pt-6"},r.createElement("p",{className:"text-lg"},"Using"," ",r.createElement("a",{className:"text-purple-500",href:"https://flathub.org/apps/details/io.podman_desktop.PodmanDesktop"},"Flathub")," ","? Install in one command:"),r.createElement("div",{className:"flex flex-row pt-3 pb-7"},r.createElement("p",{className:"text-xl p-1 mx-1"},r.createElement("svg",{width:"35px",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor"},r.createElement("path",{d:"M12 2.604l-.43.283L0 10.459v6.752l6.393 4.184L12 17.725l5.607 3.671L24 17.211v-6.752L12 2.604zm0 .828l5.434 3.556-2.717 1.778L12 10.545l-2.717-1.78-2.717-1.777L12 3.432zM6.39 7.104l5.434 3.556-5.408 3.54-5.434-3.557 5.409-3.54zm11.22 0l5.431 3.554-5.434 3.557-5.433-3.555 5.435-3.556zM.925 10.867l5.379 3.52a.123.08 0 00.027.013v5.647l-5.406-3.54v-5.64zm11.213.115l5.408 3.54v5.664l-5.408-3.54v-5.664z"}))),r.createElement("div",{className:"dark:bg-charcoal-800/50 bg-zinc-300/50 p-1 text-xl dark:text-purple-200 text-purple-600 flex flex-row"},r.createElement("div",{className:"w-72 truncate"},r.createElement(o.G,{size:"xs",icon:i.Jw3,className:"mx-2 mt-3"}),"flatpak install flathub io.podman_desktop.PodmanDesktop"),r.createElement("div",null,r.createElement("button",{title:"Copy To Clipboard",className:"mr-2 p-1"}," ",r.createElement(o.G,{size:"xs",icon:i.O4,className:"ml-3 cursor-pointer text-xl text-white-500",onClick:()=>{(async()=>{await navigator.clipboard.writeText("flatpak install flathub io.podman_desktop.PodmanDesktop")})().catch((e=>{console.error("unable to copy instructions",e)}))}}))))))))))}function u(){const{siteConfig:e}=(0,l.Z)();return r.createElement(n.Z,{title:e.title,description:"Downloads for macOS"},r.createElement(s.Z,null),r.createElement("section",{className:"container mx-auto flex justify-center flex-col"},r.createElement("div",{className:"w-full flex flex-col"},r.createElement("h1",{className:"title-font sm:text-3xl text-2xl lg:text-5xl mb-10 font-medium text-gray-900 dark:text-white"},"Linux Downloads"),r.createElement("main",{className:"h-screen"},r.createElement(d,null)))))}}}]); \ No newline at end of file diff --git a/assets/js/8894e90f.2b70330d.js b/assets/js/8894e90f.2b70330d.js deleted file mode 100644 index b9e3846f5a6..00000000000 --- a/assets/js/8894e90f.2b70330d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[7505],{544:(e,t,a)=>{a.d(t,{Z:()=>r});var n=a(7378),l=a(161);const r=function(){function e(){var e,t;if(null==(e=document)||!e.documentElement)return;const a=document.documentElement;"dark"===(null==(t=a.dataset)?void 0:t.theme)?(a.classList.add("dark"),setTimeout((()=>{a.classList.add("dark")}),100)):(a.classList.remove("dark"),setTimeout((()=>{a.classList.remove("dark")}),100))}return(0,n.useEffect)((()=>{l.Z.canUseDOM&&e()}),[l.Z.canUseDOM]),(0,n.useEffect)((()=>{if(!l.Z.canUseDOM)return;const t=new MutationObserver((t=>{t.forEach((t=>{"attributes"!=t.type||"data-rh"!==t.attributeName&&"data-theme"!==t.attributeName||e()}))}));return t.observe(document.documentElement,{attributes:!0,childList:!1,subtree:!1}),()=>{t.disconnect()}}),[l.Z.canUseDOM]),n.createElement("div",null)}},919:(e,t,a)=>{a.r(t),a.d(t,{MacOSDownloads:()=>d,default:()=>u});var n=a(353),l=a(432),r=a(7378),s=a(544),c=a(1884),m=a(2739),o=a(9928),i=a(9374);function d(){const[e,t]=(0,r.useState)({version:"",universal:"",x64:"",arm64:"",airgapsetup:""});return(0,r.useEffect)((()=>{(async function(e){var t;const a=await fetch("https://api.github.com/repos/containers/podman-desktop/releases/latest"),n=await a.json(),l=n.assets,r=l.filter((e=>e.name.endsWith("-arm64.dmg")));if(1!==r.length)throw new Error("Unable to grab arm64 dmg");const s=r[0],c=l.filter((e=>e.name.endsWith("-x64.dmg")));if(1!==c.length)throw new Error("Unable to grab x64 dmg");const m=c[0],o=l.filter((e=>e.name.endsWith("universal.dmg")&&e.name.includes("airgap")));let i;1!==o.length?console.log("Error: Unable to find Apple Disk Image for restricted environments"):i=o[0];const d=l.filter((e=>e.name.endsWith(".dmg")&&!e.name.includes("airgap")&&e.name!==s.name&&e.name!==m.name));if(1!==d.length)throw new Error("Unable to grab unified dmg");const u=d[0];e({version:n.name,universal:u.browser_download_url,x64:m.browser_download_url,arm64:s.browser_download_url,airgapsetup:null==(t=i)?void 0:t.browser_download_url})})(t).catch((e=>{console.error(e)}))}),[]),r.createElement("div",{className:"basis-1/3 py-2 rounded-lg dark:text-gray-400 text-gray-900 bg-zinc-300/25 dark:bg-zinc-700/25 bg-blend-multiply text-center items-center"},r.createElement(m.G,{size:"4x",icon:o.Av$,className:"my-4"}),r.createElement("h2",{className:"w-full text-center text-4xl title-font font-medium pb-3 border-purple-500 border-b-2"},"macOS"),r.createElement("div",{className:"flex p-1 flex-col md:flex-col items-center align-top"},r.createElement("div",{className:"flex flex-col align-middle items-center"},r.createElement("h3",{className:"mt-0"},"Podman Desktop for macOS"),r.createElement("div",{className:"pt-8"},r.createElement(c.Z,{className:"mt-auto no-underline hover:no-underline inline-flex text-white hover:text-white bg-purple-500 border-0 py-2 px-6 focus:outline-none hover:bg-purple-500 rounded text-md font-semibold",to:e.universal},r.createElement(m.G,{size:"1x",icon:i.q7m,className:"mr-2"}),"Download Now"),r.createElement("caption",{className:"block w-full mt-1 text/50 dark:text-white/50"},"Universal *.dmg, version ",e.version)),r.createElement("div",{className:"mt-4"},r.createElement("div",null,"Other macOS downloads:"),r.createElement(c.Z,{className:"underline inline-flex dark:text-white text-purple-500 hover:text-purple-200 py-2 px-6 font-semibold text-md",to:e.x64},r.createElement(m.G,{size:"1x",icon:i.q7m,className:"mr-2"}),"Intel"),r.createElement(c.Z,{className:"underline inline-flex dark:text-white text-purple-500 hover:text-purple-200 py-2 px-6 text-md font-semibold",to:e.arm64},r.createElement(m.G,{size:"1x",icon:i.q7m,className:"mr-2"}),"Arm"),r.createElement(c.Z,{className:"underline inline-flex dark:text-white text-purple-500 hover:text-purple-200 py-2 px-6 text-md font-semibold",to:e.airgapsetup},r.createElement(m.G,{size:"1x",icon:i.q7m,className:"mr-2"}),"Disk Image for restricted environments")),r.createElement("div",{className:"flex flex-col align-middle items-center"},r.createElement("div",{className:"items-center text-center pt-6"},r.createElement("p",{className:"text-lg"},"Using ",r.createElement("strong",null,"Brew"),"? Install in one command:"),r.createElement("div",{className:"flex flex-row pt-3"},r.createElement("p",{className:"text-xl p-1"},r.createElement(m.G,{size:"sm",icon:i.v8y,className:"mx-1 mt-2"})),r.createElement("div",{className:"dark:bg-charcoal-800/50 bg-zinc-300/50 p-1 truncate"},r.createElement("p",{className:"text-xl dark:text-purple-200 text-purple-600"},r.createElement(m.G,{size:"xs",icon:i.Jw3,className:"mx-2 mt-3"}),"brew install podman-desktop",r.createElement("button",{title:"Copy To Clipboard",className:"mr-2 p-1"}," ",r.createElement(m.G,{size:"xs",icon:i.O4,className:"ml-3 cursor-pointer text-xl text-white-500",onClick:()=>{(async()=>{await navigator.clipboard.writeText("brew install podman-desktop")})().catch((e=>{console.error("unable to copy instructions",e)}))}}))))))))))}function u(){const{siteConfig:e}=(0,n.Z)();return r.createElement(l.Z,{title:e.title,description:"Downloads for macOS"},r.createElement(s.Z,null),r.createElement("section",{className:"container mx-auto flex justify-center flex-col"},r.createElement("div",{className:"w-full flex flex-col"},r.createElement("h1",{className:"title-font sm:text-3xl text-2xl lg:text-5xl mb-10 font-medium text-gray-900 dark:text-white"},"macOS Downloads"),r.createElement("main",{className:"h-screen"},r.createElement(d,null)))))}}}]); \ No newline at end of file diff --git a/assets/js/8894e90f.41db4959.js b/assets/js/8894e90f.41db4959.js new file mode 100644 index 00000000000..9c77b8ea91c --- /dev/null +++ b/assets/js/8894e90f.41db4959.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[7505],{544:(e,t,a)=>{a.d(t,{Z:()=>r});var n=a(7378),l=a(161);const r=function(){function e(){var e,t;if(null==(e=document)||!e.documentElement)return;const a=document.documentElement;"dark"===(null==(t=a.dataset)?void 0:t.theme)?(a.classList.add("dark"),setTimeout((()=>{a.classList.add("dark")}),100)):(a.classList.remove("dark"),setTimeout((()=>{a.classList.remove("dark")}),100))}return(0,n.useEffect)((()=>{l.Z.canUseDOM&&e()}),[l.Z.canUseDOM]),(0,n.useEffect)((()=>{if(!l.Z.canUseDOM)return;const t=new MutationObserver((t=>{t.forEach((t=>{"attributes"!==t.type||"data-rh"!==t.attributeName&&"data-theme"!==t.attributeName||e()}))}));return t.observe(document.documentElement,{attributes:!0,childList:!1,subtree:!1}),()=>{t.disconnect()}}),[l.Z.canUseDOM]),n.createElement("div",null)}},919:(e,t,a)=>{a.r(t),a.d(t,{MacOSDownloads:()=>d,default:()=>u});var n=a(353),l=a(432),r=a(7378),s=a(544),c=a(1884),m=a(2739),o=a(9928),i=a(9374);function d(){const[e,t]=(0,r.useState)({version:"",universal:"",x64:"",arm64:"",airgapsetup:""});return(0,r.useEffect)((()=>{(async function(e){var t;const a=await fetch("https://api.github.com/repos/containers/podman-desktop/releases/latest"),n=await a.json(),l=n.assets,r=l.filter((e=>e.name.endsWith("-arm64.dmg")));if(1!==r.length)throw new Error("Unable to grab arm64 dmg");const s=r[0],c=l.filter((e=>e.name.endsWith("-x64.dmg")));if(1!==c.length)throw new Error("Unable to grab x64 dmg");const m=c[0],o=l.filter((e=>e.name.endsWith("universal.dmg")&&e.name.includes("airgap")));let i;1!==o.length?console.log("Error: Unable to find Apple Disk Image for restricted environments"):i=o[0];const d=l.filter((e=>e.name.endsWith(".dmg")&&!e.name.includes("airgap")&&e.name!==s.name&&e.name!==m.name));if(1!==d.length)throw new Error("Unable to grab unified dmg");const u=d[0];e({version:n.name,universal:u.browser_download_url,x64:m.browser_download_url,arm64:s.browser_download_url,airgapsetup:null==(t=i)?void 0:t.browser_download_url})})(t).catch((e=>{console.error(e)}))}),[]),r.createElement("div",{className:"basis-1/3 py-2 rounded-lg dark:text-gray-400 text-gray-900 bg-zinc-300/25 dark:bg-zinc-700/25 bg-blend-multiply text-center items-center"},r.createElement(m.G,{size:"4x",icon:o.Av$,className:"my-4"}),r.createElement("h2",{className:"w-full text-center text-4xl title-font font-medium pb-3 border-purple-500 border-b-2"},"macOS"),r.createElement("div",{className:"flex p-1 flex-col md:flex-col items-center align-top"},r.createElement("div",{className:"flex flex-col align-middle items-center"},r.createElement("h3",{className:"mt-0"},"Podman Desktop for macOS"),r.createElement("div",{className:"pt-8"},r.createElement(c.Z,{className:"mt-auto no-underline hover:no-underline inline-flex text-white hover:text-white bg-purple-500 border-0 py-2 px-6 focus:outline-none hover:bg-purple-500 rounded text-md font-semibold",to:e.universal},r.createElement(m.G,{size:"1x",icon:i.q7m,className:"mr-2"}),"Download Now"),r.createElement("caption",{className:"block w-full mt-1 text/50 dark:text-white/50"},"Universal *.dmg, version ",e.version)),r.createElement("div",{className:"mt-4"},r.createElement("div",null,"Other macOS downloads:"),r.createElement(c.Z,{className:"underline inline-flex dark:text-white text-purple-500 hover:text-purple-200 py-2 px-6 font-semibold text-md",to:e.x64},r.createElement(m.G,{size:"1x",icon:i.q7m,className:"mr-2"}),"Intel"),r.createElement(c.Z,{className:"underline inline-flex dark:text-white text-purple-500 hover:text-purple-200 py-2 px-6 text-md font-semibold",to:e.arm64},r.createElement(m.G,{size:"1x",icon:i.q7m,className:"mr-2"}),"Arm"),r.createElement(c.Z,{className:"underline inline-flex dark:text-white text-purple-500 hover:text-purple-200 py-2 px-6 text-md font-semibold",to:e.airgapsetup},r.createElement(m.G,{size:"1x",icon:i.q7m,className:"mr-2"}),"Disk Image for restricted environments")),r.createElement("div",{className:"flex flex-col align-middle items-center"},r.createElement("div",{className:"items-center text-center pt-6"},r.createElement("p",{className:"text-lg"},"Using ",r.createElement("strong",null,"Brew"),"? Install in one command:"),r.createElement("div",{className:"flex flex-row pt-3"},r.createElement("p",{className:"text-xl p-1"},r.createElement(m.G,{size:"sm",icon:i.v8y,className:"mx-1 mt-2"})),r.createElement("div",{className:"dark:bg-charcoal-800/50 bg-zinc-300/50 p-1 truncate"},r.createElement("p",{className:"text-xl dark:text-purple-200 text-purple-600"},r.createElement(m.G,{size:"xs",icon:i.Jw3,className:"mx-2 mt-3"}),"brew install podman-desktop",r.createElement("button",{title:"Copy To Clipboard",className:"mr-2 p-1"}," ",r.createElement(m.G,{size:"xs",icon:i.O4,className:"ml-3 cursor-pointer text-xl text-white-500",onClick:()=>{(async()=>{await navigator.clipboard.writeText("brew install podman-desktop")})().catch((e=>{console.error("unable to copy instructions",e)}))}}))))))))))}function u(){const{siteConfig:e}=(0,n.Z)();return r.createElement(l.Z,{title:e.title,description:"Downloads for macOS"},r.createElement(s.Z,null),r.createElement("section",{className:"container mx-auto flex justify-center flex-col"},r.createElement("div",{className:"w-full flex flex-col"},r.createElement("h1",{className:"title-font sm:text-3xl text-2xl lg:text-5xl mb-10 font-medium text-gray-900 dark:text-white"},"macOS Downloads"),r.createElement("main",{className:"h-screen"},r.createElement(d,null)))))}}}]); \ No newline at end of file diff --git a/assets/js/d7fbbe43.61487ef6.js b/assets/js/d7fbbe43.61487ef6.js deleted file mode 100644 index e9873b8aaf8..00000000000 --- a/assets/js/d7fbbe43.61487ef6.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[2217],{544:(e,t,a)=>{a.d(t,{Z:()=>n});var l=a(7378),r=a(161);const n=function(){function e(){var e,t;if(null==(e=document)||!e.documentElement)return;const a=document.documentElement;"dark"===(null==(t=a.dataset)?void 0:t.theme)?(a.classList.add("dark"),setTimeout((()=>{a.classList.add("dark")}),100)):(a.classList.remove("dark"),setTimeout((()=>{a.classList.remove("dark")}),100))}return(0,l.useEffect)((()=>{r.Z.canUseDOM&&e()}),[r.Z.canUseDOM]),(0,l.useEffect)((()=>{if(!r.Z.canUseDOM)return;const t=new MutationObserver((t=>{t.forEach((t=>{"attributes"!=t.type||"data-rh"!==t.attributeName&&"data-theme"!==t.attributeName||e()}))}));return t.observe(document.documentElement,{attributes:!0,childList:!1,subtree:!1}),()=>{t.disconnect()}}),[r.Z.canUseDOM]),l.createElement("div",null)}},464:(e,t,a)=>{a.r(t),a.d(t,{default:()=>u});var l=a(353),r=a(432),n=a(7378),m=a(544),s=a(4034),c=a(8948);function i(){return n.createElement("div",null,n.createElement("section",{className:"text-gray-900 bg-zinc-200 dark:bg-charcoal-600 dark:text-gray-700 body-font"},n.createElement("div",{className:"container mx-auto flex px-5 py-24 md:flex-row flex-col items-center"},n.createElement("div",{className:"lg:flex-grow md:w-1/2 lg:pr-24 md:pr-16 flex flex-col md:items-start md:text-left mb-16 md:mb-0 items-center text-center"},n.createElement("h1",{className:"title-font sm:text-4xl text-3xl mb-4 font-medium text-gray-900 dark:text-white"},"Manage containers",n.createElement("br",{className:"hidden lg:inline-block"})),n.createElement("p",{className:"mb-8 leading-relaxed dark:text-gray-300 text-gray-900"},"List, Search, Inspect, Connect, Run and Stop containers.")),n.createElement("div",{className:"lg:w-5/6 md:w-4/5 w-5/6 flex flex:col gap-10"},n.createElement(s.Z,{className:"py-4",alt:"Manage containers",sources:{light:(0,c.Z)("img/features/manage-containers.webp"),dark:(0,c.Z)("img/features/manage-containers.webp")}})))))}function d(){return n.createElement("section",{className:"text-gray-900 bg-zinc-100 dark:text-gray-700 dark:bg-charcoal-800 body-font"},n.createElement("div",{className:"container mx-auto flex px-5 py-24 md:flex-row flex-col items-center"},n.createElement("div",{className:"w-5/6 mb-10 md:mb-0"},n.createElement(s.Z,{className:"py-4",alt:"Pull image and manage registries",sources:{light:(0,c.Z)("img/features/images.webp"),dark:(0,c.Z)("img/features/images.webp")}})),n.createElement("div",{className:"lg:flex-grow md:w-1/2 lg:pl-24 md:pl-16 flex flex-col md:items-start md:text-left items-center text-center"},n.createElement("h1",{className:"title-font sm:text-4xl text-3xl mb-4 font-medium text-gray-900 dark:text-white"},"Build, Pull and Push images"),n.createElement("p",{className:"leading-relaxed list-item dark:text-gray-300 text-gray-900"},"Build images from the tool."),n.createElement("p",{className:"leading-relaxed list-item dark:text-gray-300 text-gray-900"},"Pull and push images by managing registries."),n.createElement("p",{className:"leading-relaxed list-item dark:text-gray-300 text-gray-900"},"Run containers from these images"))))}function o(){return n.createElement("div",null,n.createElement("section",{className:"text-gray-900 bg-zinc-200 dark:bg-charcoal-600 dark:text-gray-700 body-font"},n.createElement("div",{className:"container mx-auto flex px-5 py-24 md:flex-row flex-col items-center"},n.createElement("div",{className:"lg:flex-grow md:w-1/2 lg:pr-24 md:pr-16 flex flex-col md:items-start md:text-left mb-16 md:mb-0 items-center text-center"},n.createElement("h1",{className:"title-font sm:text-4xl text-3xl mb-4 font-medium text-gray-900 dark:text-white"},"Management from the tray icon",n.createElement("br",{className:"hidden lg:inline-block"})),n.createElement("p",{className:"leading-relaxed list-item dark:text-gray-300 text-gray-900"},"Check status and start/stop container engines."),n.createElement("p",{className:"leading-relaxed list-item dark:text-gray-300 text-gray-900"},"Create new machine if needed as well as start or stop Podman machines directly from the tray icon."),n.createElement("p",{className:"leading-relaxed list-item dark:text-gray-300 text-gray-900"},"Quickly check activity status and stay updated without losing focus from other tasks.")),n.createElement("div",{className:"lg:w-5/6 md:w-4/5 w-5/6 flex flex:col gap-10"},n.createElement(s.Z,{className:"rounded-lg shadow-lg md:mx-16 lg:mx-20",alt:"Manage Podman Machine",sources:{light:(0,c.Z)("img/features/management-from-tray-icon.png"),dark:(0,c.Z)("img/features/management-from-tray-icon.png")}})))))}function x(){return n.createElement("div",null,n.createElement("section",{className:"text-gray-900 bg-zinc-100 dark:bg-charcoal-800 dark:text-gray-700 body-font"},n.createElement("div",{className:"container mx-auto flex px-5 py-24 md:flex-row flex-col items-center"},n.createElement("div",{className:"lg:w-5/6 md:w-4/5 w-5/6 flex flex:col gap-10"},n.createElement(s.Z,{className:"py-4",alt:"Manage Podman Machine",sources:{light:(0,c.Z)("img/features/manage-podman-machine.webp"),dark:(0,c.Z)("img/features/manage-podman-machine.webp")}})),n.createElement("div",{className:"lg:flex-grow md:w-1/2 lg:pl-24 md:pl-16 flex flex-col md:items-start md:text-left items-center text-center"},n.createElement("h1",{className:"title-font sm:text-4xl text-3xl mb-4 font-medium text-gray-900 dark:text-white"},"Manage Podman resources",n.createElement("br",{className:"hidden lg:inline-block"})),n.createElement("p",{className:"leading-relaxed list-item dark:text-gray-300 text-gray-900"},"View allocated memory, CPU and storage."),n.createElement("p",{className:"leading-relaxed list-item dark:text-gray-300 text-gray-900"},"Create new machine if needed")))))}function g(){return n.createElement("div",null,n.createElement("section",{className:"text-gray-900 bg-zinc-200 dark:bg-charcoal-600 dark:text-gray-700 body-font"},n.createElement("div",{className:"container mx-auto flex px-5 py-24 md:flex-row flex-col items-center"},n.createElement("div",{className:"lg:flex-grow md:w-1/2 lg:pr-24 md:pr-16 flex flex-col md:items-start md:text-left mb-16 md:mb-0 items-center text-center"},n.createElement("h1",{className:"title-font sm:text-4xl text-3xl mb-4 font-medium text-gray-900 dark:text-white"},"Create and start Pods with Podman",n.createElement("br",{className:"hidden lg:inline-block"})),n.createElement("p",{className:"leading-relaxed list-item dark:text-gray-300 text-gray-900"},"Select containers to run as a Pod."),n.createElement("p",{className:"leading-relaxed list-item dark:text-gray-300 text-gray-900"},"Play Kubernetes YAML locally without Kubernetes."),n.createElement("p",{className:"leading-relaxed list-item dark:text-gray-300 text-gray-900"},"Generate Kubernetes YAML from Pods.")),n.createElement("div",{className:"lg:w-5/6 md:w-4/5 w-5/6 flex flex:col gap-10"},n.createElement(s.Z,{className:"py-4",alt:"Manage Pods",sources:{light:(0,c.Z)("img/features/manage-pods.webp"),dark:(0,c.Z)("img/features/manage-pods.webp")}})))))}function f(){return n.createElement("section",{className:"text-gray-900 bg-zinc-100 dark:bg-charcoal-800 dark:text-gray-700 body-font"},n.createElement("div",{className:"container mx-auto flex px-5 py-24 md:flex-row flex-col items-center"},n.createElement("div",{className:"lg:w-5/6 md:w-4/5 w-5/6 flex flex:col gap-10"},n.createElement(s.Z,{className:"py-4",alt:"Pull image and manage registries",sources:{light:(0,c.Z)("img/ddextensions/dd-support.png"),dark:(0,c.Z)("img/ddextensions/dd-support.png")}})),n.createElement("div",{className:"lg:flex-grow md:w-1/2 lg:pl-24 md:pl-16 flex flex-col md:items-start md:text-left items-center text-center"},n.createElement("h1",{className:"title-font sm:text-4xl text-3xl mb-4 font-medium text-gray-900 dark:text-white"},"Import Docker Desktop extensions"),n.createElement("br",{className:"hidden lg:inline-block"}),n.createElement("p",{className:"leading-relaxed list-item dark:text-gray-300 text-gray-900"},"Specify OCI image of a Docker Desktop extension to import it."),n.createElement("p",{className:"leading-relaxed list-item dark:text-gray-300 text-gray-900"},"For example: security scanner or deploy to OpenShift extensions."))))}function u(){const{siteConfig:e}=(0,l.Z)();return n.createElement(r.Z,{title:e.title,description:"Features"},n.createElement(m.Z,null),n.createElement(i,null),n.createElement(d,null),n.createElement(o,null),n.createElement(x,null),n.createElement(g,null),n.createElement(f,null))}}}]); \ No newline at end of file diff --git a/assets/js/d7fbbe43.7e4b1420.js b/assets/js/d7fbbe43.7e4b1420.js new file mode 100644 index 00000000000..0cd7114d7fd --- /dev/null +++ b/assets/js/d7fbbe43.7e4b1420.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[2217],{544:(e,t,a)=>{a.d(t,{Z:()=>n});var l=a(7378),r=a(161);const n=function(){function e(){var e,t;if(null==(e=document)||!e.documentElement)return;const a=document.documentElement;"dark"===(null==(t=a.dataset)?void 0:t.theme)?(a.classList.add("dark"),setTimeout((()=>{a.classList.add("dark")}),100)):(a.classList.remove("dark"),setTimeout((()=>{a.classList.remove("dark")}),100))}return(0,l.useEffect)((()=>{r.Z.canUseDOM&&e()}),[r.Z.canUseDOM]),(0,l.useEffect)((()=>{if(!r.Z.canUseDOM)return;const t=new MutationObserver((t=>{t.forEach((t=>{"attributes"!==t.type||"data-rh"!==t.attributeName&&"data-theme"!==t.attributeName||e()}))}));return t.observe(document.documentElement,{attributes:!0,childList:!1,subtree:!1}),()=>{t.disconnect()}}),[r.Z.canUseDOM]),l.createElement("div",null)}},464:(e,t,a)=>{a.r(t),a.d(t,{default:()=>u});var l=a(353),r=a(432),n=a(7378),m=a(544),s=a(4034),c=a(8948);function i(){return n.createElement("div",null,n.createElement("section",{className:"text-gray-900 bg-zinc-200 dark:bg-charcoal-600 dark:text-gray-700 body-font"},n.createElement("div",{className:"container mx-auto flex px-5 py-24 md:flex-row flex-col items-center"},n.createElement("div",{className:"lg:flex-grow md:w-1/2 lg:pr-24 md:pr-16 flex flex-col md:items-start md:text-left mb-16 md:mb-0 items-center text-center"},n.createElement("h1",{className:"title-font sm:text-4xl text-3xl mb-4 font-medium text-gray-900 dark:text-white"},"Manage containers",n.createElement("br",{className:"hidden lg:inline-block"})),n.createElement("p",{className:"mb-8 leading-relaxed dark:text-gray-300 text-gray-900"},"List, Search, Inspect, Connect, Run and Stop containers.")),n.createElement("div",{className:"lg:w-5/6 md:w-4/5 w-5/6 flex flex:col gap-10"},n.createElement(s.Z,{className:"py-4",alt:"Manage containers",sources:{light:(0,c.Z)("img/features/manage-containers.webp"),dark:(0,c.Z)("img/features/manage-containers.webp")}})))))}function d(){return n.createElement("section",{className:"text-gray-900 bg-zinc-100 dark:text-gray-700 dark:bg-charcoal-800 body-font"},n.createElement("div",{className:"container mx-auto flex px-5 py-24 md:flex-row flex-col items-center"},n.createElement("div",{className:"w-5/6 mb-10 md:mb-0"},n.createElement(s.Z,{className:"py-4",alt:"Pull image and manage registries",sources:{light:(0,c.Z)("img/features/images.webp"),dark:(0,c.Z)("img/features/images.webp")}})),n.createElement("div",{className:"lg:flex-grow md:w-1/2 lg:pl-24 md:pl-16 flex flex-col md:items-start md:text-left items-center text-center"},n.createElement("h1",{className:"title-font sm:text-4xl text-3xl mb-4 font-medium text-gray-900 dark:text-white"},"Build, Pull and Push images"),n.createElement("p",{className:"leading-relaxed list-item dark:text-gray-300 text-gray-900"},"Build images from the tool."),n.createElement("p",{className:"leading-relaxed list-item dark:text-gray-300 text-gray-900"},"Pull and push images by managing registries."),n.createElement("p",{className:"leading-relaxed list-item dark:text-gray-300 text-gray-900"},"Run containers from these images"))))}function o(){return n.createElement("div",null,n.createElement("section",{className:"text-gray-900 bg-zinc-200 dark:bg-charcoal-600 dark:text-gray-700 body-font"},n.createElement("div",{className:"container mx-auto flex px-5 py-24 md:flex-row flex-col items-center"},n.createElement("div",{className:"lg:flex-grow md:w-1/2 lg:pr-24 md:pr-16 flex flex-col md:items-start md:text-left mb-16 md:mb-0 items-center text-center"},n.createElement("h1",{className:"title-font sm:text-4xl text-3xl mb-4 font-medium text-gray-900 dark:text-white"},"Management from the tray icon",n.createElement("br",{className:"hidden lg:inline-block"})),n.createElement("p",{className:"leading-relaxed list-item dark:text-gray-300 text-gray-900"},"Check status and start/stop container engines."),n.createElement("p",{className:"leading-relaxed list-item dark:text-gray-300 text-gray-900"},"Create new machine if needed as well as start or stop Podman machines directly from the tray icon."),n.createElement("p",{className:"leading-relaxed list-item dark:text-gray-300 text-gray-900"},"Quickly check activity status and stay updated without losing focus from other tasks.")),n.createElement("div",{className:"lg:w-5/6 md:w-4/5 w-5/6 flex flex:col gap-10"},n.createElement(s.Z,{className:"rounded-lg shadow-lg md:mx-16 lg:mx-20",alt:"Manage Podman Machine",sources:{light:(0,c.Z)("img/features/management-from-tray-icon.png"),dark:(0,c.Z)("img/features/management-from-tray-icon.png")}})))))}function x(){return n.createElement("div",null,n.createElement("section",{className:"text-gray-900 bg-zinc-100 dark:bg-charcoal-800 dark:text-gray-700 body-font"},n.createElement("div",{className:"container mx-auto flex px-5 py-24 md:flex-row flex-col items-center"},n.createElement("div",{className:"lg:w-5/6 md:w-4/5 w-5/6 flex flex:col gap-10"},n.createElement(s.Z,{className:"py-4",alt:"Manage Podman Machine",sources:{light:(0,c.Z)("img/features/manage-podman-machine.webp"),dark:(0,c.Z)("img/features/manage-podman-machine.webp")}})),n.createElement("div",{className:"lg:flex-grow md:w-1/2 lg:pl-24 md:pl-16 flex flex-col md:items-start md:text-left items-center text-center"},n.createElement("h1",{className:"title-font sm:text-4xl text-3xl mb-4 font-medium text-gray-900 dark:text-white"},"Manage Podman resources",n.createElement("br",{className:"hidden lg:inline-block"})),n.createElement("p",{className:"leading-relaxed list-item dark:text-gray-300 text-gray-900"},"View allocated memory, CPU and storage."),n.createElement("p",{className:"leading-relaxed list-item dark:text-gray-300 text-gray-900"},"Create new machine if needed")))))}function g(){return n.createElement("div",null,n.createElement("section",{className:"text-gray-900 bg-zinc-200 dark:bg-charcoal-600 dark:text-gray-700 body-font"},n.createElement("div",{className:"container mx-auto flex px-5 py-24 md:flex-row flex-col items-center"},n.createElement("div",{className:"lg:flex-grow md:w-1/2 lg:pr-24 md:pr-16 flex flex-col md:items-start md:text-left mb-16 md:mb-0 items-center text-center"},n.createElement("h1",{className:"title-font sm:text-4xl text-3xl mb-4 font-medium text-gray-900 dark:text-white"},"Create and start Pods with Podman",n.createElement("br",{className:"hidden lg:inline-block"})),n.createElement("p",{className:"leading-relaxed list-item dark:text-gray-300 text-gray-900"},"Select containers to run as a Pod."),n.createElement("p",{className:"leading-relaxed list-item dark:text-gray-300 text-gray-900"},"Play Kubernetes YAML locally without Kubernetes."),n.createElement("p",{className:"leading-relaxed list-item dark:text-gray-300 text-gray-900"},"Generate Kubernetes YAML from Pods.")),n.createElement("div",{className:"lg:w-5/6 md:w-4/5 w-5/6 flex flex:col gap-10"},n.createElement(s.Z,{className:"py-4",alt:"Manage Pods",sources:{light:(0,c.Z)("img/features/manage-pods.webp"),dark:(0,c.Z)("img/features/manage-pods.webp")}})))))}function f(){return n.createElement("section",{className:"text-gray-900 bg-zinc-100 dark:bg-charcoal-800 dark:text-gray-700 body-font"},n.createElement("div",{className:"container mx-auto flex px-5 py-24 md:flex-row flex-col items-center"},n.createElement("div",{className:"lg:w-5/6 md:w-4/5 w-5/6 flex flex:col gap-10"},n.createElement(s.Z,{className:"py-4",alt:"Pull image and manage registries",sources:{light:(0,c.Z)("img/ddextensions/dd-support.png"),dark:(0,c.Z)("img/ddextensions/dd-support.png")}})),n.createElement("div",{className:"lg:flex-grow md:w-1/2 lg:pl-24 md:pl-16 flex flex-col md:items-start md:text-left items-center text-center"},n.createElement("h1",{className:"title-font sm:text-4xl text-3xl mb-4 font-medium text-gray-900 dark:text-white"},"Import Docker Desktop extensions"),n.createElement("br",{className:"hidden lg:inline-block"}),n.createElement("p",{className:"leading-relaxed list-item dark:text-gray-300 text-gray-900"},"Specify OCI image of a Docker Desktop extension to import it."),n.createElement("p",{className:"leading-relaxed list-item dark:text-gray-300 text-gray-900"},"For example: security scanner or deploy to OpenShift extensions."))))}function u(){const{siteConfig:e}=(0,l.Z)();return n.createElement(r.Z,{title:e.title,description:"Features"},n.createElement(m.Z,null),n.createElement(i,null),n.createElement(d,null),n.createElement(o,null),n.createElement(x,null),n.createElement(g,null),n.createElement(f,null))}}}]); \ No newline at end of file diff --git a/assets/js/e665718d.99c7b2f0.js b/assets/js/e665718d.99c7b2f0.js deleted file mode 100644 index a704c1a343c..00000000000 --- a/assets/js/e665718d.99c7b2f0.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[114],{544:(e,t,n)=>{n.d(t,{Z:()=>i});var a=n(7378),s=n(161);const i=function(){function e(){var e,t;if(null==(e=document)||!e.documentElement)return;const n=document.documentElement;"dark"===(null==(t=n.dataset)?void 0:t.theme)?(n.classList.add("dark"),setTimeout((()=>{n.classList.add("dark")}),100)):(n.classList.remove("dark"),setTimeout((()=>{n.classList.remove("dark")}),100))}return(0,a.useEffect)((()=>{s.Z.canUseDOM&&e()}),[s.Z.canUseDOM]),(0,a.useEffect)((()=>{if(!s.Z.canUseDOM)return;const t=new MutationObserver((t=>{t.forEach((t=>{"attributes"!=t.type||"data-rh"!==t.attributeName&&"data-theme"!==t.attributeName||e()}))}));return t.observe(document.documentElement,{attributes:!0,childList:!1,subtree:!1}),()=>{t.disconnect()}}),[s.Z.canUseDOM]),a.createElement("div",null)}},1261:(e,t,n)=>{n.r(t),n.d(t,{default:()=>c});var a=n(353),s=n(432),i=n(7378),l=n(544),o=n(4034),r=n(8948);function c(){const{siteConfig:e}=(0,a.Z)();return i.createElement(s.Z,{title:e.title,description:"Extensibility"},i.createElement(l.Z,null),i.createElement("section",{className:"text-gray-900 dark:text-gray-700 body-font"},i.createElement("div",{className:"container mx-auto flex px-5 py-24 items-center justify-center flex-col"},i.createElement("div",{className:"text-center lg:w-2/3 w-full"},i.createElement("h1",{className:"title-font sm:text-4xl text-3xl lg:text-6xl mb-4 font-medium text-gray-900 dark:text-white"},"Extend capabilities with Docker Desktop extensions."),i.createElement("p",null,"Podman Desktop is able to use Docker Desktop UI plug-ins by adding a wrapper to intercept the API calls."),i.createElement("p",null,"By adding a Docker Desktop extension, you can extend the capabilities of Podman Desktop."),i.createElement(o.Z,{className:"py-4",alt:"Extend with Docker Desktop extensions",sources:{light:(0,r.Z)("img/extend/extend-dd-light.png"),dark:(0,r.Z)("img/extend/extend-dd-dark.png")}}),i.createElement(o.Z,{className:"py-4",alt:"Reuse Docker Desktop extensions",sources:{light:(0,r.Z)("img/ddextensions/dd-support.png"),dark:(0,r.Z)("img/ddextensions/dd-support.png")}}),i.createElement("h1",{className:"mt-24 title-font sm:text-4xl text-3xl lg:text-6xl mb-4 font-medium text-gray-900 dark:text-white"},"Extend capabilities with Podman Desktop plug-ins."),i.createElement("p",null,"Podman Desktop is using plug-ins under the hood to manage the different container engine."),i.createElement("p",null,"By adding a new plugin, you can extend the capabilities of Podman Desktop."),i.createElement("p",null,"For example plug a new container Engine likes Podman, Docker, Lima, etc."),i.createElement(o.Z,{className:"py-4",alt:"Extensibility diagram",sources:{light:(0,r.Z)("img/extend/extend-light.png"),dark:(0,r.Z)("img/extend/extend-dark.png")}}),i.createElement("h3",{className:"pt-2 pb-24 font-semibold"},i.createElement("div",null,"Extensions are written in JavaScript/Typescript"),i.createElement("div",null,"It consumes a TypeScript definition of the extension model.")),i.createElement("h1",{className:"title-font sm:text-2xl text-2xl lg:text-3xl mb-4 font-medium text-gray-900 dark:text-white"},"More extension points"),i.createElement("p",null,"Several extension points exists in addition to adding a Provider connection."),i.createElement("p",null,"User interaction, dialogs, launching commands are among the possible ways to extend Podman Desktop")))))}}}]); \ No newline at end of file diff --git a/assets/js/e665718d.c0179420.js b/assets/js/e665718d.c0179420.js new file mode 100644 index 00000000000..cdb625f531a --- /dev/null +++ b/assets/js/e665718d.c0179420.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocs=self.webpackChunkdocs||[]).push([[114],{544:(e,t,n)=>{n.d(t,{Z:()=>i});var a=n(7378),s=n(161);const i=function(){function e(){var e,t;if(null==(e=document)||!e.documentElement)return;const n=document.documentElement;"dark"===(null==(t=n.dataset)?void 0:t.theme)?(n.classList.add("dark"),setTimeout((()=>{n.classList.add("dark")}),100)):(n.classList.remove("dark"),setTimeout((()=>{n.classList.remove("dark")}),100))}return(0,a.useEffect)((()=>{s.Z.canUseDOM&&e()}),[s.Z.canUseDOM]),(0,a.useEffect)((()=>{if(!s.Z.canUseDOM)return;const t=new MutationObserver((t=>{t.forEach((t=>{"attributes"!==t.type||"data-rh"!==t.attributeName&&"data-theme"!==t.attributeName||e()}))}));return t.observe(document.documentElement,{attributes:!0,childList:!1,subtree:!1}),()=>{t.disconnect()}}),[s.Z.canUseDOM]),a.createElement("div",null)}},1261:(e,t,n)=>{n.r(t),n.d(t,{default:()=>c});var a=n(353),s=n(432),i=n(7378),l=n(544),o=n(4034),r=n(8948);function c(){const{siteConfig:e}=(0,a.Z)();return i.createElement(s.Z,{title:e.title,description:"Extensibility"},i.createElement(l.Z,null),i.createElement("section",{className:"text-gray-900 dark:text-gray-700 body-font"},i.createElement("div",{className:"container mx-auto flex px-5 py-24 items-center justify-center flex-col"},i.createElement("div",{className:"text-center lg:w-2/3 w-full"},i.createElement("h1",{className:"title-font sm:text-4xl text-3xl lg:text-6xl mb-4 font-medium text-gray-900 dark:text-white"},"Extend capabilities with Docker Desktop extensions."),i.createElement("p",null,"Podman Desktop is able to use Docker Desktop UI plug-ins by adding a wrapper to intercept the API calls."),i.createElement("p",null,"By adding a Docker Desktop extension, you can extend the capabilities of Podman Desktop."),i.createElement(o.Z,{className:"py-4",alt:"Extend with Docker Desktop extensions",sources:{light:(0,r.Z)("img/extend/extend-dd-light.png"),dark:(0,r.Z)("img/extend/extend-dd-dark.png")}}),i.createElement(o.Z,{className:"py-4",alt:"Reuse Docker Desktop extensions",sources:{light:(0,r.Z)("img/ddextensions/dd-support.png"),dark:(0,r.Z)("img/ddextensions/dd-support.png")}}),i.createElement("h1",{className:"mt-24 title-font sm:text-4xl text-3xl lg:text-6xl mb-4 font-medium text-gray-900 dark:text-white"},"Extend capabilities with Podman Desktop plug-ins."),i.createElement("p",null,"Podman Desktop is using plug-ins under the hood to manage the different container engine."),i.createElement("p",null,"By adding a new plugin, you can extend the capabilities of Podman Desktop."),i.createElement("p",null,"For example plug a new container Engine likes Podman, Docker, Lima, etc."),i.createElement(o.Z,{className:"py-4",alt:"Extensibility diagram",sources:{light:(0,r.Z)("img/extend/extend-light.png"),dark:(0,r.Z)("img/extend/extend-dark.png")}}),i.createElement("h3",{className:"pt-2 pb-24 font-semibold"},i.createElement("div",null,"Extensions are written in JavaScript/Typescript"),i.createElement("div",null,"It consumes a TypeScript definition of the extension model.")),i.createElement("h1",{className:"title-font sm:text-2xl text-2xl lg:text-3xl mb-4 font-medium text-gray-900 dark:text-white"},"More extension points"),i.createElement("p",null,"Several extension points exists in addition to adding a Provider connection."),i.createElement("p",null,"User interaction, dialogs, launching commands are among the possible ways to extend Podman Desktop")))))}}}]); \ No newline at end of file diff --git a/assets/js/runtime~main.f2ac0622.js b/assets/js/runtime~main.1efbd323.js similarity index 94% rename from assets/js/runtime~main.f2ac0622.js rename to assets/js/runtime~main.1efbd323.js index 8f61d1e8045..8e67fa3669c 100644 --- a/assets/js/runtime~main.f2ac0622.js +++ b/assets/js/runtime~main.1efbd323.js @@ -1 +1 @@ -(()=>{"use strict";var e,a,c,f,d,b={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var c=t[e]={exports:{}};return b[e].call(c.exports,c,c.exports,r),c.exports}r.m=b,e=[],r.O=(a,c,f,d)=>{if(!c){var b=1/0;for(i=0;i=d)&&Object.keys(r.O).every((e=>r.O[e](c[o])))?c.splice(o--,1):(t=!1,d0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[c,f,d]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,f){if(1&f&&(e=this(e)),8&f)return e;if("object"==typeof e&&e){if(4&f&&e.__esModule)return e;if(16&f&&"function"==typeof e.then)return e}var d=Object.create(null);r.r(d);var b={};a=a||[null,c({}),c([]),c(c)];for(var t=2&f&&e;"object"==typeof t&&!~a.indexOf(t);t=c(t))Object.getOwnPropertyNames(t).forEach((a=>b[a]=()=>e[a]));return b.default=()=>e,r.d(d,b),d},r.d=(e,a)=>{for(var c in a)r.o(a,c)&&!r.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,c)=>(r.f[c](e,a),a)),[])),r.u=e=>"assets/js/"+({53:"935f2afb",83:"09905e74",93:"4305e853",114:"e665718d",138:"54590fd2",182:"c276ecb2",205:"83d480e9",210:"3c6cc7c6",397:"6194ac84",465:"f7b7f9b7",506:"9aa62c0e",533:"b2b675dd",563:"c685778b",592:"b39cdcf9",649:"512fbd77",692:"6b600968",743:"61d4c13a",809:"840a98fb",873:"cabda5f8",902:"e5ba977d",921:"c37b4a03",945:"df322e14",1021:"1a0737b6",1032:"a67ca768",1074:"9e8f4e9c",1089:"e561c556",1342:"a766a857",1441:"382c5d2b",1476:"53f302bb",1477:"b2f554cd",1591:"2d81b9d5",1625:"de311ed4",1676:"819ef483",1705:"94fb813f",1713:"a7023ddc",1724:"5087625a",1981:"b799648a",2079:"1a16e8bf",2082:"e85ba0e6",2173:"36eac8b2",2178:"ba322490",2217:"d7fbbe43",2284:"4117ac4b",2472:"65a10ffa",2535:"814f3328",2557:"28726be2",2609:"6269f1c0",2667:"368cce37",2778:"608238a8",2938:"c95aa39f",2965:"4384f6ba",3010:"56c3a9b2",3089:"a6aa9e1f",3237:"1df93b7f",3259:"03ccf92d",3317:"846a5e19",3324:"1ce91f4c",3505:"72486833",3584:"ed75cfcb",3608:"9e4087bc",3636:"8b4dd820",3691:"7be672a3",3751:"3720c009",3820:"a5e1f61e",3870:"5df556a2",3879:"2d629ea6",3973:"f523fb3f",4013:"01a85c17",4059:"9cb03f5d",4121:"55960ee5",4207:"beebaad6",4386:"ae79aff5",4531:"5a8fbd01",4617:"95366386",4758:"c1fad867",4770:"538510a2",4781:"12f1535e",4929:"330dfcdb",5018:"cd509849",5068:"d83d689a",5240:"22de4147",5248:"6101b3fc",5406:"eed60bcf",5468:"b9bde34b",5625:"657ac0bc",5708:"f0057c03",5723:"5d67f40a",5908:"eabf5d51",5974:"f20fb67e",6026:"51dec273",6038:"c9c860ee",6049:"f213dd13",6082:"a233b66e",6088:"88efc5aa",6103:"ccc49370",6120:"d4840880",6134:"3fed3fa8",6181:"4e8ec325",6536:"3ed6e2e9",6690:"4816649b",6692:"2ae2e7fe",6855:"9061acb9",7007:"8593ff01",7034:"3e03f778",7134:"0b40a488",7138:"38a042e4",7141:"b5abacaa",7149:"822c343e",7155:"76cfb1f4",7220:"7591d420",7251:"ba5b9f11",7350:"8bedf5f0",7363:"583db3ef",7366:"75281220",7377:"708d858d",7438:"9c021584",7505:"8894e90f",7536:"f6e0e63c",7622:"dbbb982f",7673:"499ddca7",7679:"83245ae6",7705:"ea2f3e28",7714:"7bdcd7a7",7739:"3ede2625",7813:"933a69d3",7847:"43b416ef",7918:"17896441",7920:"1a4e3797",8145:"006e489c",8221:"6af14956",8262:"059d1c6a",8290:"3fe48f60",8445:"99245987",8492:"7856861d",8566:"9dce5486",8610:"6875c492",8698:"59c97daa",8800:"e6fb1369",8811:"3289a752",8860:"0d040286",8893:"ba1dc56d",8940:"b6cf724b",8970:"68b843fc",9019:"771d7520",9043:"473de3ed",9106:"72dd8f7e",9133:"02e265ea",9179:"79551407",9184:"b443212b",9360:"9d9f8394",9372:"07f59c2a",9387:"b0f1c099",9514:"1be78505",9671:"0e384e19",9924:"df203c0f"}[e]||e)+"."+{53:"f1765ee5",83:"d159b680",93:"fa5c0b9e",114:"99c7b2f0",138:"eda42b47",182:"90a09a09",205:"c083399e",210:"ba14e6b5",397:"9bb266b3",465:"87b0e77c",506:"10261cc8",533:"0202ac94",563:"2661eadd",592:"1610e5a1",649:"fa187588",692:"9214cbb0",743:"a0769e61",809:"2d892519",873:"cb3225ff",902:"445dc0a6",921:"e50247ae",945:"728bff07",1021:"16a452eb",1032:"138504a9",1074:"0762c5cf",1089:"cfe07000",1342:"494d4430",1441:"86eaf06b",1476:"1d05c108",1477:"b277a9cb",1591:"0bc95205",1625:"ced7e14f",1676:"0cba73e6",1705:"62bf5a08",1713:"1d86dec4",1724:"6b7ff57c",1947:"ff7c17e0",1981:"8fdcf563",2079:"16e302aa",2082:"384ae0e3",2173:"5b762612",2178:"13069292",2217:"61487ef6",2284:"4a5eede5",2472:"f0def9e9",2535:"9ba0dcfe",2557:"b6b3e65e",2609:"3ea06f13",2667:"cbc12bfd",2778:"92dc8770",2938:"c9d74e1e",2965:"1587ea51",3010:"625b7aa0",3089:"3f265d65",3237:"43ef3782",3259:"f1abd038",3317:"f0a218a9",3324:"a680ef72",3337:"82efefd4",3505:"97d59414",3584:"31de0eeb",3608:"c3805a81",3636:"0e5e6b35",3691:"a4937e8e",3751:"c483e5b5",3820:"24b9186d",3870:"2ccbe2f9",3879:"55981757",3893:"dcd3a11c",3973:"756df355",4013:"e401bc08",4059:"2eaba62e",4121:"286eac6e",4207:"29a8c242",4386:"c96624e9",4531:"389bac49",4617:"ea23b1e4",4670:"1a86ede8",4758:"49421456",4770:"f78f11bf",4781:"04789d76",4929:"60085d37",5018:"14423442",5068:"771af886",5240:"1cc01bd9",5248:"c83f6326",5406:"6951a3ef",5468:"b24353de",5625:"727df06d",5708:"fdb3f855",5723:"c4536025",5908:"57562d84",5974:"81815ccd",6026:"2b35ac89",6038:"bd7ae17e",6049:"6cfe5f17",6082:"239701fe",6088:"8e2f5865",6103:"a8d429fe",6120:"2d270ce4",6134:"c26c79e4",6181:"9c9eb582",6536:"19b81e9a",6690:"3403b372",6692:"cdd7459f",6855:"1c8adf02",7007:"928d6401",7034:"5fa96728",7134:"a5670b1e",7138:"415295c7",7141:"a509d41c",7149:"8d1aa85a",7155:"22347d09",7220:"b14cdf36",7251:"ca3ca0fa",7350:"95dbb769",7363:"8f8728cf",7366:"e48123da",7377:"cb23f392",7438:"83eb12ad",7505:"2b70330d",7536:"1688c2d8",7622:"07d3e0ee",7673:"e6b0543d",7679:"a34e4551",7705:"833c6f97",7714:"c611acb3",7739:"b0ed878a",7813:"8a96939a",7847:"da52cc1e",7849:"0ad6b2e7",7918:"7183501d",7920:"41536f7b",8145:"5a638566",8221:"d7c4ed01",8262:"e2b37df5",8290:"a275a64b",8306:"32d20a44",8445:"3c50af99",8492:"b1390de3",8566:"346f0a6f",8610:"e64867fe",8698:"51c67e2c",8777:"10f7b1e7",8800:"d48e4de7",8811:"6dfd0211",8860:"8a6c439d",8893:"0cbc5779",8940:"a539e88b",8970:"e7b7dbf5",9019:"b249609b",9043:"b3999bbc",9106:"b51c032f",9127:"24e80eea",9133:"d67cc2b3",9179:"8fc4b6fc",9184:"46a0992b",9360:"6a129f1a",9372:"8b1fcf0d",9387:"aef29630",9514:"d688c44c",9671:"7a5b19a3",9924:"a7bd29c2"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),f={},d="docs:",r.l=(e,a,c,b)=>{if(f[e])f[e].push(a);else{var t,o;if(void 0!==c)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var d=f[e];if(delete f[e],t.parentNode&&t.parentNode.removeChild(t),d&&d.forEach((e=>e(c))),a)return a(c)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/",r.gca=function(e){return e={17896441:"7918",72486833:"3505",75281220:"7366",79551407:"9179",95366386:"4617",99245987:"8445","935f2afb":"53","09905e74":"83","4305e853":"93",e665718d:"114","54590fd2":"138",c276ecb2:"182","83d480e9":"205","3c6cc7c6":"210","6194ac84":"397",f7b7f9b7:"465","9aa62c0e":"506",b2b675dd:"533",c685778b:"563",b39cdcf9:"592","512fbd77":"649","6b600968":"692","61d4c13a":"743","840a98fb":"809",cabda5f8:"873",e5ba977d:"902",c37b4a03:"921",df322e14:"945","1a0737b6":"1021",a67ca768:"1032","9e8f4e9c":"1074",e561c556:"1089",a766a857:"1342","382c5d2b":"1441","53f302bb":"1476",b2f554cd:"1477","2d81b9d5":"1591",de311ed4:"1625","819ef483":"1676","94fb813f":"1705",a7023ddc:"1713","5087625a":"1724",b799648a:"1981","1a16e8bf":"2079",e85ba0e6:"2082","36eac8b2":"2173",ba322490:"2178",d7fbbe43:"2217","4117ac4b":"2284","65a10ffa":"2472","814f3328":"2535","28726be2":"2557","6269f1c0":"2609","368cce37":"2667","608238a8":"2778",c95aa39f:"2938","4384f6ba":"2965","56c3a9b2":"3010",a6aa9e1f:"3089","1df93b7f":"3237","03ccf92d":"3259","846a5e19":"3317","1ce91f4c":"3324",ed75cfcb:"3584","9e4087bc":"3608","8b4dd820":"3636","7be672a3":"3691","3720c009":"3751",a5e1f61e:"3820","5df556a2":"3870","2d629ea6":"3879",f523fb3f:"3973","01a85c17":"4013","9cb03f5d":"4059","55960ee5":"4121",beebaad6:"4207",ae79aff5:"4386","5a8fbd01":"4531",c1fad867:"4758","538510a2":"4770","12f1535e":"4781","330dfcdb":"4929",cd509849:"5018",d83d689a:"5068","22de4147":"5240","6101b3fc":"5248",eed60bcf:"5406",b9bde34b:"5468","657ac0bc":"5625",f0057c03:"5708","5d67f40a":"5723",eabf5d51:"5908",f20fb67e:"5974","51dec273":"6026",c9c860ee:"6038",f213dd13:"6049",a233b66e:"6082","88efc5aa":"6088",ccc49370:"6103",d4840880:"6120","3fed3fa8":"6134","4e8ec325":"6181","3ed6e2e9":"6536","4816649b":"6690","2ae2e7fe":"6692","9061acb9":"6855","8593ff01":"7007","3e03f778":"7034","0b40a488":"7134","38a042e4":"7138",b5abacaa:"7141","822c343e":"7149","76cfb1f4":"7155","7591d420":"7220",ba5b9f11:"7251","8bedf5f0":"7350","583db3ef":"7363","708d858d":"7377","9c021584":"7438","8894e90f":"7505",f6e0e63c:"7536",dbbb982f:"7622","499ddca7":"7673","83245ae6":"7679",ea2f3e28:"7705","7bdcd7a7":"7714","3ede2625":"7739","933a69d3":"7813","43b416ef":"7847","1a4e3797":"7920","006e489c":"8145","6af14956":"8221","059d1c6a":"8262","3fe48f60":"8290","7856861d":"8492","9dce5486":"8566","6875c492":"8610","59c97daa":"8698",e6fb1369:"8800","3289a752":"8811","0d040286":"8860",ba1dc56d:"8893",b6cf724b:"8940","68b843fc":"8970","771d7520":"9019","473de3ed":"9043","72dd8f7e":"9106","02e265ea":"9133",b443212b:"9184","9d9f8394":"9360","07f59c2a":"9372",b0f1c099:"9387","1be78505":"9514","0e384e19":"9671",df203c0f:"9924"}[e]||e,r.p+r.u(e)},(()=>{var e={1303:0,532:0};r.f.j=(a,c)=>{var f=r.o(e,a)?e[a]:void 0;if(0!==f)if(f)c.push(f[2]);else if(/^(1303|532)$/.test(a))e[a]=0;else{var d=new Promise(((c,d)=>f=e[a]=[c,d]));c.push(f[2]=d);var b=r.p+r.u(a),t=new Error;r.l(b,(c=>{if(r.o(e,a)&&(0!==(f=e[a])&&(e[a]=void 0),f)){var d=c&&("load"===c.type?"missing":c.type),b=c&&c.target&&c.target.src;t.message="Loading chunk "+a+" failed.\n("+d+": "+b+")",t.name="ChunkLoadError",t.type=d,t.request=b,f[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,c)=>{var f,d,b=c[0],t=c[1],o=c[2],n=0;if(b.some((a=>0!==e[a]))){for(f in t)r.o(t,f)&&(r.m[f]=t[f]);if(o)var i=o(r)}for(a&&a(c);n{"use strict";var e,a,c,f,d,b={},t={};function r(e){var a=t[e];if(void 0!==a)return a.exports;var c=t[e]={exports:{}};return b[e].call(c.exports,c,c.exports,r),c.exports}r.m=b,e=[],r.O=(a,c,f,d)=>{if(!c){var b=1/0;for(i=0;i=d)&&Object.keys(r.O).every((e=>r.O[e](c[o])))?c.splice(o--,1):(t=!1,d0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[c,f,d]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,f){if(1&f&&(e=this(e)),8&f)return e;if("object"==typeof e&&e){if(4&f&&e.__esModule)return e;if(16&f&&"function"==typeof e.then)return e}var d=Object.create(null);r.r(d);var b={};a=a||[null,c({}),c([]),c(c)];for(var t=2&f&&e;"object"==typeof t&&!~a.indexOf(t);t=c(t))Object.getOwnPropertyNames(t).forEach((a=>b[a]=()=>e[a]));return b.default=()=>e,r.d(d,b),d},r.d=(e,a)=>{for(var c in a)r.o(a,c)&&!r.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,c)=>(r.f[c](e,a),a)),[])),r.u=e=>"assets/js/"+({53:"935f2afb",83:"09905e74",93:"4305e853",114:"e665718d",138:"54590fd2",182:"c276ecb2",205:"83d480e9",210:"3c6cc7c6",397:"6194ac84",465:"f7b7f9b7",506:"9aa62c0e",533:"b2b675dd",563:"c685778b",592:"b39cdcf9",649:"512fbd77",692:"6b600968",743:"61d4c13a",809:"840a98fb",873:"cabda5f8",902:"e5ba977d",921:"c37b4a03",945:"df322e14",1021:"1a0737b6",1032:"a67ca768",1074:"9e8f4e9c",1089:"e561c556",1342:"a766a857",1441:"382c5d2b",1476:"53f302bb",1477:"b2f554cd",1591:"2d81b9d5",1625:"de311ed4",1676:"819ef483",1705:"94fb813f",1713:"a7023ddc",1724:"5087625a",1981:"b799648a",2079:"1a16e8bf",2082:"e85ba0e6",2173:"36eac8b2",2178:"ba322490",2217:"d7fbbe43",2284:"4117ac4b",2472:"65a10ffa",2535:"814f3328",2557:"28726be2",2609:"6269f1c0",2667:"368cce37",2778:"608238a8",2938:"c95aa39f",2965:"4384f6ba",3010:"56c3a9b2",3089:"a6aa9e1f",3237:"1df93b7f",3259:"03ccf92d",3317:"846a5e19",3324:"1ce91f4c",3505:"72486833",3584:"ed75cfcb",3608:"9e4087bc",3636:"8b4dd820",3691:"7be672a3",3751:"3720c009",3820:"a5e1f61e",3870:"5df556a2",3879:"2d629ea6",3973:"f523fb3f",4013:"01a85c17",4059:"9cb03f5d",4121:"55960ee5",4207:"beebaad6",4386:"ae79aff5",4531:"5a8fbd01",4617:"95366386",4758:"c1fad867",4770:"538510a2",4781:"12f1535e",4929:"330dfcdb",5018:"cd509849",5068:"d83d689a",5240:"22de4147",5248:"6101b3fc",5406:"eed60bcf",5468:"b9bde34b",5625:"657ac0bc",5708:"f0057c03",5723:"5d67f40a",5908:"eabf5d51",5974:"f20fb67e",6026:"51dec273",6038:"c9c860ee",6049:"f213dd13",6082:"a233b66e",6088:"88efc5aa",6103:"ccc49370",6120:"d4840880",6134:"3fed3fa8",6181:"4e8ec325",6536:"3ed6e2e9",6690:"4816649b",6692:"2ae2e7fe",6855:"9061acb9",7007:"8593ff01",7034:"3e03f778",7134:"0b40a488",7138:"38a042e4",7141:"b5abacaa",7149:"822c343e",7155:"76cfb1f4",7220:"7591d420",7251:"ba5b9f11",7350:"8bedf5f0",7363:"583db3ef",7366:"75281220",7377:"708d858d",7438:"9c021584",7505:"8894e90f",7536:"f6e0e63c",7622:"dbbb982f",7673:"499ddca7",7679:"83245ae6",7705:"ea2f3e28",7714:"7bdcd7a7",7739:"3ede2625",7813:"933a69d3",7847:"43b416ef",7918:"17896441",7920:"1a4e3797",8145:"006e489c",8221:"6af14956",8262:"059d1c6a",8290:"3fe48f60",8445:"99245987",8492:"7856861d",8566:"9dce5486",8610:"6875c492",8698:"59c97daa",8800:"e6fb1369",8811:"3289a752",8860:"0d040286",8893:"ba1dc56d",8940:"b6cf724b",8970:"68b843fc",9019:"771d7520",9043:"473de3ed",9106:"72dd8f7e",9133:"02e265ea",9179:"79551407",9184:"b443212b",9360:"9d9f8394",9372:"07f59c2a",9387:"b0f1c099",9514:"1be78505",9671:"0e384e19",9924:"df203c0f"}[e]||e)+"."+{53:"f1765ee5",83:"d159b680",93:"fa5c0b9e",114:"c0179420",138:"eda42b47",182:"90a09a09",205:"c083399e",210:"ba14e6b5",397:"9bb266b3",465:"87b0e77c",506:"10261cc8",533:"0202ac94",563:"2661eadd",592:"1610e5a1",649:"fa187588",692:"9214cbb0",743:"a0769e61",809:"2d892519",873:"cb3225ff",902:"445dc0a6",921:"e50247ae",945:"728bff07",1021:"16a452eb",1032:"138504a9",1074:"0762c5cf",1089:"cfe07000",1342:"494d4430",1441:"86eaf06b",1476:"1d05c108",1477:"b277a9cb",1591:"0bc95205",1625:"ced7e14f",1676:"0cba73e6",1705:"62bf5a08",1713:"1d86dec4",1724:"ed643cc2",1947:"ff7c17e0",1981:"8fdcf563",2079:"16e302aa",2082:"384ae0e3",2173:"5b762612",2178:"13069292",2217:"7e4b1420",2284:"4a5eede5",2472:"f0def9e9",2535:"9ba0dcfe",2557:"b6b3e65e",2609:"3ea06f13",2667:"cbc12bfd",2778:"92dc8770",2938:"c9d74e1e",2965:"1587ea51",3010:"20b15fc9",3089:"3f265d65",3237:"54a3aab3",3259:"f1abd038",3317:"f0a218a9",3324:"a680ef72",3337:"82efefd4",3505:"97d59414",3584:"31de0eeb",3608:"c3805a81",3636:"0e5e6b35",3691:"a4937e8e",3751:"c483e5b5",3820:"24b9186d",3870:"2ccbe2f9",3879:"55981757",3893:"dcd3a11c",3973:"756df355",4013:"e401bc08",4059:"2eaba62e",4121:"286eac6e",4207:"29a8c242",4386:"c96624e9",4531:"389bac49",4617:"ea23b1e4",4670:"1a86ede8",4758:"49421456",4770:"f78f11bf",4781:"04789d76",4929:"60085d37",5018:"14423442",5068:"771af886",5240:"1cc01bd9",5248:"ee07cc61",5406:"6951a3ef",5468:"b24353de",5625:"727df06d",5708:"fdb3f855",5723:"c4536025",5908:"57562d84",5974:"81815ccd",6026:"2b35ac89",6038:"bd7ae17e",6049:"6cfe5f17",6082:"239701fe",6088:"8e2f5865",6103:"a8d429fe",6120:"2d270ce4",6134:"c26c79e4",6181:"9c9eb582",6536:"19b81e9a",6690:"3403b372",6692:"cdd7459f",6855:"1c8adf02",7007:"928d6401",7034:"5fa96728",7134:"a5670b1e",7138:"415295c7",7141:"a509d41c",7149:"8d1aa85a",7155:"22347d09",7220:"b14cdf36",7251:"ca3ca0fa",7350:"95dbb769",7363:"8f8728cf",7366:"e48123da",7377:"cb23f392",7438:"83eb12ad",7505:"41db4959",7536:"1688c2d8",7622:"07d3e0ee",7673:"e6b0543d",7679:"a34e4551",7705:"833c6f97",7714:"c611acb3",7739:"b0ed878a",7813:"8a96939a",7847:"da52cc1e",7849:"0ad6b2e7",7918:"7183501d",7920:"41536f7b",8145:"5a638566",8221:"d7c4ed01",8262:"e7d625ae",8290:"a275a64b",8306:"32d20a44",8445:"3c50af99",8492:"b1390de3",8566:"346f0a6f",8610:"e64867fe",8698:"51c67e2c",8777:"10f7b1e7",8800:"d48e4de7",8811:"6dfd0211",8860:"8a6c439d",8893:"0cbc5779",8940:"a539e88b",8970:"e7b7dbf5",9019:"b249609b",9043:"b3999bbc",9106:"b51c032f",9127:"24e80eea",9133:"d67cc2b3",9179:"8fc4b6fc",9184:"46a0992b",9360:"6a129f1a",9372:"8b1fcf0d",9387:"aef29630",9514:"d688c44c",9671:"7a5b19a3",9924:"a7bd29c2"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),f={},d="docs:",r.l=(e,a,c,b)=>{if(f[e])f[e].push(a);else{var t,o;if(void 0!==c)for(var n=document.getElementsByTagName("script"),i=0;i{t.onerror=t.onload=null,clearTimeout(s);var d=f[e];if(delete f[e],t.parentNode&&t.parentNode.removeChild(t),d&&d.forEach((e=>e(c))),a)return a(c)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:t}),12e4);t.onerror=l.bind(null,t.onerror),t.onload=l.bind(null,t.onload),o&&document.head.appendChild(t)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/",r.gca=function(e){return e={17896441:"7918",72486833:"3505",75281220:"7366",79551407:"9179",95366386:"4617",99245987:"8445","935f2afb":"53","09905e74":"83","4305e853":"93",e665718d:"114","54590fd2":"138",c276ecb2:"182","83d480e9":"205","3c6cc7c6":"210","6194ac84":"397",f7b7f9b7:"465","9aa62c0e":"506",b2b675dd:"533",c685778b:"563",b39cdcf9:"592","512fbd77":"649","6b600968":"692","61d4c13a":"743","840a98fb":"809",cabda5f8:"873",e5ba977d:"902",c37b4a03:"921",df322e14:"945","1a0737b6":"1021",a67ca768:"1032","9e8f4e9c":"1074",e561c556:"1089",a766a857:"1342","382c5d2b":"1441","53f302bb":"1476",b2f554cd:"1477","2d81b9d5":"1591",de311ed4:"1625","819ef483":"1676","94fb813f":"1705",a7023ddc:"1713","5087625a":"1724",b799648a:"1981","1a16e8bf":"2079",e85ba0e6:"2082","36eac8b2":"2173",ba322490:"2178",d7fbbe43:"2217","4117ac4b":"2284","65a10ffa":"2472","814f3328":"2535","28726be2":"2557","6269f1c0":"2609","368cce37":"2667","608238a8":"2778",c95aa39f:"2938","4384f6ba":"2965","56c3a9b2":"3010",a6aa9e1f:"3089","1df93b7f":"3237","03ccf92d":"3259","846a5e19":"3317","1ce91f4c":"3324",ed75cfcb:"3584","9e4087bc":"3608","8b4dd820":"3636","7be672a3":"3691","3720c009":"3751",a5e1f61e:"3820","5df556a2":"3870","2d629ea6":"3879",f523fb3f:"3973","01a85c17":"4013","9cb03f5d":"4059","55960ee5":"4121",beebaad6:"4207",ae79aff5:"4386","5a8fbd01":"4531",c1fad867:"4758","538510a2":"4770","12f1535e":"4781","330dfcdb":"4929",cd509849:"5018",d83d689a:"5068","22de4147":"5240","6101b3fc":"5248",eed60bcf:"5406",b9bde34b:"5468","657ac0bc":"5625",f0057c03:"5708","5d67f40a":"5723",eabf5d51:"5908",f20fb67e:"5974","51dec273":"6026",c9c860ee:"6038",f213dd13:"6049",a233b66e:"6082","88efc5aa":"6088",ccc49370:"6103",d4840880:"6120","3fed3fa8":"6134","4e8ec325":"6181","3ed6e2e9":"6536","4816649b":"6690","2ae2e7fe":"6692","9061acb9":"6855","8593ff01":"7007","3e03f778":"7034","0b40a488":"7134","38a042e4":"7138",b5abacaa:"7141","822c343e":"7149","76cfb1f4":"7155","7591d420":"7220",ba5b9f11:"7251","8bedf5f0":"7350","583db3ef":"7363","708d858d":"7377","9c021584":"7438","8894e90f":"7505",f6e0e63c:"7536",dbbb982f:"7622","499ddca7":"7673","83245ae6":"7679",ea2f3e28:"7705","7bdcd7a7":"7714","3ede2625":"7739","933a69d3":"7813","43b416ef":"7847","1a4e3797":"7920","006e489c":"8145","6af14956":"8221","059d1c6a":"8262","3fe48f60":"8290","7856861d":"8492","9dce5486":"8566","6875c492":"8610","59c97daa":"8698",e6fb1369:"8800","3289a752":"8811","0d040286":"8860",ba1dc56d:"8893",b6cf724b:"8940","68b843fc":"8970","771d7520":"9019","473de3ed":"9043","72dd8f7e":"9106","02e265ea":"9133",b443212b:"9184","9d9f8394":"9360","07f59c2a":"9372",b0f1c099:"9387","1be78505":"9514","0e384e19":"9671",df203c0f:"9924"}[e]||e,r.p+r.u(e)},(()=>{var e={1303:0,532:0};r.f.j=(a,c)=>{var f=r.o(e,a)?e[a]:void 0;if(0!==f)if(f)c.push(f[2]);else if(/^(1303|532)$/.test(a))e[a]=0;else{var d=new Promise(((c,d)=>f=e[a]=[c,d]));c.push(f[2]=d);var b=r.p+r.u(a),t=new Error;r.l(b,(c=>{if(r.o(e,a)&&(0!==(f=e[a])&&(e[a]=void 0),f)){var d=c&&("load"===c.type?"missing":c.type),b=c&&c.target&&c.target.src;t.message="Loading chunk "+a+" failed.\n("+d+": "+b+")",t.name="ChunkLoadError",t.type=d,t.request=b,f[1](t)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,c)=>{var f,d,b=c[0],t=c[1],o=c[2],n=0;if(b.some((a=>0!==e[a]))){for(f in t)r.o(t,f)&&(r.m[f]=t[f]);if(o)var i=o(r)}for(a&&a(c);n - + @@ -28,7 +28,7 @@ of Podman Desktop: not just local container engines, but Kubernetes too. More im providing tools that allow you to manage both environments and seamlessly move between them.

Some of these features were available in development mode over the last few releases, but since they are now in the release build, we will do a full roundup and talk about all the Kind features.

  • Kind Installation: Install Kind from the status bar
  • Manage Kind Clusters: Create and manage Kind clusters from Settings > Resources
  • Using Kind: Deploying YAML and sharing images to a cluster
  • Kind Ingress: Install a Contour ingress controller
  • UX and UI Improvements: Updated preferences and telemetry prompt

Podman Desktop 0.14 is now available. Click here to download it!

Podman-desktop-0-14-hero

· 4 min read
Tim deBoer

This release note covers Podman Desktop 0.13 release changes.

  • Podman Version: Podman 4.4.4 now included in Windows and Mac installers.
  • Compose: Support for installing Docker Compose.
  • Extensions: Improved extension support for Podman Desktop with additional capabilities.
  • UX and UI Improvements: Welcome page, task manager, resources, and update alerts.

Podman Desktop 0.13 is now available. Click here to download it!

Podman-desktop-0-13-hero

· 5 min read
Florent Benoit

The 5 things to know being a Docker user by using Podman Desktop:

  • Use a single UI: Podman Desktop works with several container engines, including Docker.
  • The compatibility mode: How to ensure tools are working with Podman instead of Docker.
  • Compose support: How to work with Compose files and Podman.
  • Kubernetes support: How to use Kubernetes with Podman.
  • Security: Use rootless mode or containers without root privileges.

5-things-to-know-for-a-docker-user-hero

· 5 min read
Stevan Le Meur

This release note covers Podman Desktop 0.12 release changes.

  • Podman Version: Podman 4.4.1 now included in Windows and Mac installers.
  • Containers Configuration: Configure port mappings for an image without exported ports.
  • Windows Home Support: Podman Desktop now supports Windows Home Edition.
  • Start minimized: Option to start Podman Desktop minimized to system tray.
  • UX and UI Improvements: Consistent actions, placeholder for logs, unified icons and others.

Podman Desktop 0.12 is now available. Click here to download it!

podman-desktop-0-12-hero

· 10 min read
Stevan Le Meur

This release note covers Podman Desktop 0.11 release changes.

  • Air-Gapped Installation: New all-in-one binaries for air-gapped installation.
  • Feedback: Submit feedback directly from Podman Desktop.
  • Docker Compatibility Mode: Information about the Docker compatibility mode.
  • Proxy Setting: Toggle on/off the proxy setting.
  • Deploy to Kubernetes: Select the namespace to deploy to Kubernetes.
  • Registry Configuration: Simplified registry configuration for well known registries.
  • UX/UI Improvements: View pod's container logs, better visual feedback, configurable editor font size, and more.

Podman Desktop 0.11 is now available. Click here to download it!

· 5 min read
Dev Kumar

This release note covers Podman Desktop 0.10 release changes.

  • Containers Configuration: Container creation wizzard allowing to define environment variables, networking and more configuration options.
  • Kubernetes Improvements: Play Kubernetes YAML, custom Kubeconfig path support, reload of kube context.
  • Registries Configuration: Revamped registries configuration UI.
  • Podman Version: Podman 4.3.1 now included in Windows and Mac installers.
  • UX/UI Improvements: Improved lists, better contrast, and more.

Podman Desktop 0.10 is now available. Click here to download it!

· 7 min read
Florent Benoit

GitHub announced last week that Codespaces is available for everyone and it includes free minutes.

Let see how we can use a Development Container having all the tools to build and run Podman Desktop. The Development Container works locally using Visual Studio Code but in this blog post we will see how it works directly with a simple click from GitHub.

The challenges are to run a desktop tool (Podman Desktop) and running a container engine (Podman) inside this Development Container without using too many memory !

- + \ No newline at end of file diff --git a/blog/5-things-to-know-for-a-docker-user.html b/blog/5-things-to-know-for-a-docker-user.html index 3d5db6ad395..362bc1f2458 100644 --- a/blog/5-things-to-know-for-a-docker-user.html +++ b/blog/5-things-to-know-for-a-docker-user.html @@ -13,13 +13,13 @@ - +

5 things to know about Podman Desktop for a Docker user

· 5 min read
Florent Benoit

The 5 things to know being a Docker user by using Podman Desktop:

  • Use a single UI: Podman Desktop works with several container engines, including Docker.
  • The compatibility mode: How to ensure tools are working with Podman instead of Docker.
  • Compose support: How to work with Compose files and Podman.
  • Kubernetes support: How to use Kubernetes with Podman.
  • Security: Use rootless mode or containers without root privileges.

5-things-to-know-for-a-docker-user-hero


Use Podman Desktop to interact with containers running in Docker

Docker Desktop provides a UI to interact with containers and images. But the UI depends on Docker API and it is not possible to use the UI with Docker and Podman at the same time.

Podman Desktop is a multi-engine UI tool. The UI is compatible with the API of Docker and Podman. It means all containers and images from all the engines at the same time are visible in the UI.

When migrating from Docker to Podman, you can use Podman Desktop to interact with containers running in Docker. Explore all commands and features of Podman Desktop and see all the resources from Docker.

Many container engines at the same time

Docker compatibility mode

Using Podman with Podman Desktop or with the Podman CLI is straightforward. But some tools expect to find docker CLI or docker.sock socket. In this case, you have to use the compatibility mode of Podman.

Socket file compatibility

The socket compatibility mode is a feature of Podman that allows to bind the Podman socket under the Docker socket path.

On Windows the socket compatibility mode is always enabled by default. On macOS, by using the .pkg installer it is active by default. But when installing with brew, it will not be there because it requires some admin permissions.

That is not an issue because you can enable it by invoking a CLI tool that will setup the compatibility mode.

For example if you use TestContainers in your Java project, you can use the compatibility mode to ensure that the tool will use Podman instead of Docker.

CLI compatibility

If you have scripts relying on docker CLI, you can use the compatibility mode to ensure that the tool is working with Podman instead of Docker.

If you have the docker CLI installed on your computer, you can use the socket file compatibility of docker to ensure that the tool is working with Podman engine instead of Docker.

If you do not have the docker CLI installed on your computer, you can Create a script called docker that will call the podman CLI

NOTE: creating a shell prompt alias, for example alias docker=podman, will not work inside scripts that you call.

Compose

As a user of Docker, you might use docker compose (or docker-compose) to run some of your applications.

For now Podman does not include a Compose support directly in the CLI with a command podman compose.

Compose can work with the Podman socket.

Based on the compatibility mode (see section about Docker compatibility mode):

You can now use the compose binary to run your applications and it will use Podman engine.

Podman Desktop has a compose extension that can fetch compose binary if not already available on the filesystem.

Podman Desktop UI displays the containers created by Compose are in the same group.

Compose support in the UI

Kubernetes

It is possible to start a Kubernetes cluster with Docker.

Podman supports directly a subset of Kubernetes resources that you can use with .yaml files.

For example if you only want to create a Pod resource, you can use the Play Kubernetes YAML button from the Containers list screen with your .yaml file. No need to install or start a Kubernetes cluster.

Play Kubernetes YAML

It is possible to do the counter-part. Export the definition of a container or pod to a Kubernetes resource. You can use the Generate kube button from the kebab menu of a given container or pod.

Kubernetes generate

Podman handles pods and in the Podman Desktop UI, you can see all the pods inside a Pod section. All containers inside the pod are in the same group.

Pods in the UI

Containers from pod

An experimental kind extension is bringing the creation of full-blown Kubernetes cluster with Podman.

Rootless mode

One of the difference of Docker and Podman is the way they handle containers. Docker requires root privileges to run containers by default. Podman can run containers without root privileges by default.

It means that for example, starting a container with a port < 1024 will not work. You need to use a port > 1024.

If you still need to create containers with a port < 1024, you can change the Podman machine configuration of the Podman Machine if you are on Windows or macOS.

The command is podman machine --rootful to enable the execution with root privileges or podman machine --rootful=false to switch back to rootless mode.

- + \ No newline at end of file diff --git a/blog/archive.html b/blog/archive.html index ac3dc3f479c..3c7faf4e556 100644 --- a/blog/archive.html +++ b/blog/archive.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/blog/develop-using-devcontainer.html b/blog/develop-using-devcontainer.html index b8017509642..ad74f12104a 100644 --- a/blog/develop-using-devcontainer.html +++ b/blog/develop-using-devcontainer.html @@ -13,7 +13,7 @@ - + @@ -23,7 +23,7 @@ Using --privileged we don't really know what are the privilege that are required while specifying all of them, people are aware of what is granted/denied.

"runArgs": [
"--cap-add=sys_admin",
"--security-opt",
"seccomp=unconfined",
"--device",
"/dev/fuse",
"--security-opt",
"label=disable",
"--security-opt",
"apparmor=unconfined"
],

Source code of Podman Desktop needs to be editable within the DevContainer so it needs to be mounted.

"workspaceMount": "source=${localWorkspaceFolder},target=/workspace,type=bind",
"workspaceFolder": "/workspace",

Then we need a command to build Podman Desktop.

For that, we use onCreateCommand hook with a custom command

"onCreateCommand": "${containerWorkspaceFolder}/.devcontainer/onCreateCommand.sh",

and in the .devcontainer folder the onCreateCommand.sh script is the following

#!/bin/sh
yarn

MODE=production yarn run build && yarn run electron-builder build --linux --dir --config .electron-builder.config.cjs

Two instructions:

  1. Fetch all Node.js dependencies.
  2. build Podman Desktop in the dist folder using Linux as target Operating System.

After the start of the container, how to launch Podman Desktop, the website and VNC, etc ?

Just use postStartCommand hook.

"postStartCommand": "${containerWorkspaceFolder}/.devcontainer/postStartCommand.sh",

and in the .devcontainer folder the postStartCommand.sh script is the following:

#!/bin/sh

# Start all services
/usr/bin/supervisord -c /etc/supervisord.conf &

# wait X server to be ready or after 2mn exit
echo "Waiting for X server to be ready"
timeout 120 bash -c 'until xdpyinfo -display :0 &> /dev/null; do printf "."; sleep 1; done'

# launch podman desktop
echo "Launching Podman Desktop"
cd dist/linux-unpacked/&& ./podman-desktop &

# Launch the 9000 redirect after 20 seconds
sleep 20
websockify --web=/usr/share/novnc localhost:9000 localhost:5900 &

# launch the website rendering
echo "Launching Website"
cd website && yarn start

It starts VNC and noVNC, start precompiled Podman Desktop and start the documentation rendering.

It is not launching the Watch mode/development mode of Podman Desktop as it requires a container having more than 8GB of memory.

Picking up a larger instace with for example 16GB, it's possible to use development mode.

Of course, to make VNC happy, we need to specify the DISPLAY environment variable.

"remoteEnv": {
"DISPLAY": ":0"
}

When the DevContainer is fully available, we want to have a way to quickly open the Website rendering URL and noVNC

Let's tweak the devcontainer.json file by adding the portsAttributes section

"portsAttributes": {
"9000": {
"label": "vnc",
"onAutoForward": "openPreview"
},
"3000": {
"label": "website"
}
}

After all post-creation steps, the Preview browser inside the VS Code editor will open a window to VNC. And another port (3000) is flagged for the website.

Using the DevContainer.json on Github Codespace

As a user, opening a workspace with all what we configured is done using a single click.

Go to https://github.com/containers/podman-desktop then click on the < > Code dropdown and click on Create codespace on main button.

Open Codespace

Once you click on the button, the codespace is setting up:

Preparing Codepace

After few minutes, as there is not yet prebuilt codespaces, the codespace is opening.

The simple Browser displays the noVNC window: Opening Codespace

Click on the connect button. Then on the terminal you can enter podman run quay.io/podman/hello and the container is detected in Podman Desktop. Testing Codespace

It's also possible using the port widget to get on 3000 port by clicking on the world icon a preview of the website in another tab. Changing source code of the website will refresh the content of the window.

Depending on the usecase, it's also possible to open documentation in the preview browser.

Edit website Codespace

Conclusion

The DevContainer image for Podman Desktop is recent so it'll probably evolve over time by adding new capabilities but it allows you to easily build/run/experiment and contribute to the tool or the website.

- + \ No newline at end of file diff --git a/blog/podman-desktop-release-0.10.html b/blog/podman-desktop-release-0.10.html index f5882a47041..3ad668847bf 100644 --- a/blog/podman-desktop-release-0.10.html +++ b/blog/podman-desktop-release-0.10.html @@ -13,13 +13,13 @@ - +

Release Notes - Podman Desktop 0.10

· 5 min read
Dev Kumar

This release note covers Podman Desktop 0.10 release changes.

  • Containers Configuration: Container creation wizzard allowing to define environment variables, networking and more configuration options.
  • Kubernetes Improvements: Play Kubernetes YAML, custom Kubeconfig path support, reload of kube context.
  • Registries Configuration: Revamped registries configuration UI.
  • Podman Version: Podman 4.3.1 now included in Windows and Mac installers.
  • UX/UI Improvements: Improved lists, better contrast, and more.

Podman Desktop 0.10 is now available. Click here to download it!


Release Details

New configuration wizzard to create containers (#773)

Until now, we could only specify port binding when building images to start containers. The create container wizzard now includes several options enabling configuring volumes, environment variables, restart policy and settings on networking and security. It is also possible to reuse an existing (and already configured) a network when creating containers.

new container creation wizard

Kubernetes Capabilities Improvements

Custom Kubeconfig file path (#780)

Kubeconfig path location is now configurable from Settings > Preferences > Kubernetes: Kubeconfig and can be set to a custom path. By default, Podman Desktop use the path $HOME/.kube/config for the Kubeconfig file.

custom kubeconfig file path

Play Kubernetes YAML from the Pods list (#739)

Podman Desktop enables to play existing Kubernetes YAML files. This is now available from Play Kubernetes YAML button added to the Pods list, in addition to the Containers list.

play k8s yaml

Kube context automatically reloaded when updated (#813)

Any change to the kube context will now be detected by Podman Desktop in its running state. The system tray, allowing to select which Kubernetes environment to work with, will now reload the kube context without restarting Podman Desktop.

Revamped Container Registries UI (#446)

The registries configuration UI has been revamped. Instead of using tiles for displaying the registries, now it uses a list where each registry can be added or edited directly in the list. The kebab menu provides options to edit or remove a registry from the list.

registries

Update to Podman 4.3.1 (#913)

Podman Desktop 0.10 is now embedding Podman 4.3.1 in Windows and macOS installers.

UI/UX Improvements

Improved lists UX (#877)

To reduce the width used in the lists when displaying all the icons, main actions icons are now always displayed (before it was on hover) and the secondary actions are displayed in a kebab menu. For example Start/Stop and delete are primary actions while open the browser, inspect, generate kube yaml, etc. are secondary options.

kebab menu

Delay appearance of text in navbar (#767)

When minimizing or expanding the navbar, the text was overlapping for a few second the page. Now it's displayed with a fading animation.

Selected state: better text color contrast (#802)

In the Images page, on hover for both the image and the name column, the text contrast has been increased for better visibility: violet indicates that you have selected it.

text color when hover

On Linux and Windows, the menu bar is now hidden by default (#668)

With this change, the menu bar looks more integrated to the Operating System. The menu can appear if you hit the Alt key. Thanks to Dylan M. Taylor for contributing to fix this.

Exit when clicking on the close icon of the dashboard on Linux (#671)

For most users on Linux, there is no tray icon support. In this situation, when closed, Podman Desktop continues to run in background. Dylan M. Taylor added a property to exit the app by default when clicking on the close icon. For people having tray icon support or with the desire of a different behavior, it is possible to disable it from the Settings.


Other Notable Enhancements

  • Rename Started into Age in Containers list.(#878)
  • Added domain validation when adding a registry. (#838)
  • Provided a consistent behavior with Podman CLI, podman-machine-default is now the default name when creating a Podman machine from Podman Desktop. (#775)

Notable bug fixes

  • Fixed error handling when pulling images of Desktop Extensions. (#782)
  • Fixed use of the full height of the screen when displaying log in the details of a container. (#946)
  • Fixed First start of Podman Desktop on flatpak was not seeing the podman engine (#860)

Community Thank You

🎉 We’d like to say a big thank you to everyone who helped to make Podman Desktop 0.10 even better:

Final Notes

The complete list of issues fixed in this release is available here.

Get the latest release from the Downloads section of the website and boost your development journey with Podman Desktop. Additionally, visit the GitHub repository and see how you can help us make Podman Desktop better.

- + \ No newline at end of file diff --git a/blog/podman-desktop-release-0.11.html b/blog/podman-desktop-release-0.11.html index 0f53508892e..8f375ce34f0 100644 --- a/blog/podman-desktop-release-0.11.html +++ b/blog/podman-desktop-release-0.11.html @@ -13,7 +13,7 @@ - + @@ -24,7 +24,7 @@ Please note, that those binaries are available only on releases and not the pre- mac-docker-compatibility

Allow to toggle on/off the proxy setting #983

In some context, users need the ability to disable and re-enable the proxy configuration very quickly, without having to entirely reconfigure it. This is now possible from the Podman Desktop settings page, where a toggle to enable/disable the proxy configuration has been added.

Note: extensions can read this information and then update the proxy configuration.

Namespace selection for deploy to Kubernetes #1008

A new dropdown menu has been added to the deploy to Kubernetes screen to allow selecting the namespace to deploy to. Defaults to defaultnamespace, if unable to get any from kube_client module.

If the user have set kubectl config set-context --current --namespace=NAMESPACE it honors that as the chosen value.

deploy-kubernetes-namespace

Configure Podman binary path #941

Users may use a custom path to the podman binary. An option within settings (Settings -> Preferences) to allow providing an additional path to Podman binary has been added. This is useful for users who have installed Podman using a package manager and want to use the binary provided by the package manager. Additional information is available in the documentation for Mac users: http://podman-desktop.io/docs/troubleshooting#unable-to-set-custom-binary-path-for-podman-on-macos

custom-path

Provide pre-defined registries #1201

The experience of configuring a registry is getting simplified for the most popular ones. The user will be able to select a registry from a pre-defined list and will only have to provide the username and password. The following registries will be pre-defined:

  • Dockerhub
  • Red Hat Quay
  • GitHub
  • IBM Container Registry
  • Google Container Registry

UI/UX Improvements

View Pods logs #1122

The pods details view provides the ability to view the logs of each containers that might be running in a pod. Moreover, as it can also be hard to scan and identify which container is producing which output, we appended the container name at the beginning of each output and differentiate each container with a different color.

pods-logs

Improved feedback when clicking on container list action icons #1150 #1161

When starting/stopping or deleting a container, a spinner is now displayed. In case of error, a message indicating that the action failed will also be better indicated.

For containers that exit immediately or short-lived containers, the feedback is also improved and include report of error now provide a better feedback to the user #1161.

Allows to change the default font size for the editor #1160

An editor is used in several screens of Podman Desktop, from the inspect screen to container's outputs and Kubernetes YAML. The default font size is 10 pixels. It's now possible to adjust the font size to the one the one you prefer. This setting is persisted and will be used for all the editors of Podman Desktop and available from the preferences page (Settings -> Preferences).

Keep expanded state of pods when refreshing containers #1042

When switching from different screens of the application or simply refreshing the list of containers, the expanded state of each item in the list is now persisted and will be properly restored.

Click on the Pod name redirects to the Pod details page #1159

The list of containers also displays pods, now clicking on the pod name directly redirects to the Pod details page.

Improved styles of buttons for actions #984

The style of the buttons for actions on item in the list of in details pages have been improved. The background has been removed, but to make the hover state more visible, the "hover" circle is visble and the icon's color is also changing.

On lists: list-actions

On details pages: details-actions

Improved alignments in pages with lists #1182

The alignment of the items in the list of containers and pods have been improved. The header of each columns are now aligned with the text. and the actions icons are now aligned with the top of the text.

list-actions


Other Notable Enhancements

  • Statistics area in container details are always shown. (#1131)
  • Add more descriptive wording and more information to extensions. (#985)
  • Allow to install on-the fly Podman Desktop extensions using an OCI image. (#1187)
  • Display correctly non-multiplexed stream in logs (when using non interactive mode). (#1197)
  • Font changed from white to gray for non-name sections (creation date, size). (#1206)
  • Add Help/about menu for macOS/Windows/Linux. (#1207)

Documentation

Coming with this new version of Podman Desktop, the documentation has been getting attention (with number of editorial reviews) and new content have been added.

Content for helping users to migrate from Docker to Podman has been added:

Several of other improvements have been made to the documentation and the website:


Notable bug fixes

  • Update to v0.3.2 Docker Desktop API for extensions - #1070
  • Updated link to the Matrix room - #1076
  • Report error when container name already exists - #1142
  • Fixed connectivity to the Podman machine when the generated socket length is greater than 104 characters in MacOS - #1145
  • Do not use long calls for external clients - #1151
  • Invalid name/tag for images with registries using a different port - #1127
  • Invalid badge count for images when two images have the same tag - #1124
  • Fixed detection of WSL2 - #981
  • Handle invalid kubeconfig files instead of crashing - #953
  • Removed redundant actions from details pages - #1200
  • Fixed registry URL not aligned with header - #1205
  • Moved SVGs to reusable components - #1211

Extensions API has also been improved in this new release:

  • (extension-api): Allows to register a factory for kubernetes connection objects (like for container connections) - #1040
  • (extension-api): List or inspect containers, be notified on events - #1041
  • (extension-api): Allows to get provider notification - #1045
  • (dd-extension-api): Implement toast API - #1154
  • (extension-api): Moved extension properties to preferences - #948
  • (dd-extension-api): Added open dev console on dd webview in development mode - #1071
  • (extension-api): Added notes on extension and frameworks/tooling of Podman Desktop - #1166
  • (extension-api): Documentation on how to write an extension and use the api - #1172
  • (dd-extension-api): DD extensions should see only minimal information on containers - #1191

Community Thank You

🎉 We’d like to say a big thank you to everyone who helped to make Podman Desktop 0.11 even better:

Final Notes

The complete list of issues fixed in this release is available here.

Get the latest release from the Downloads section of the website and boost your development journey with Podman Desktop. Additionally, visit the GitHub repository and see how you can help us make Podman Desktop better.

- + \ No newline at end of file diff --git a/blog/podman-desktop-release-0.12.html b/blog/podman-desktop-release-0.12.html index 9ff24c8ea40..e737c1126b3 100644 --- a/blog/podman-desktop-release-0.12.html +++ b/blog/podman-desktop-release-0.12.html @@ -13,14 +13,14 @@ - +

Release Notes - Podman Desktop 0.12

· 5 min read
Stevan Le Meur

This release note covers Podman Desktop 0.12 release changes.

  • Podman Version: Podman 4.4.1 now included in Windows and Mac installers.
  • Containers Configuration: Configure port mappings for an image without exported ports.
  • Windows Home Support: Podman Desktop now supports Windows Home Edition.
  • Start minimized: Option to start Podman Desktop minimized to system tray.
  • UX and UI Improvements: Consistent actions, placeholder for logs, unified icons and others.

Podman Desktop 0.12 is now available. Click here to download it!

podman-desktop-0-12-hero


Release Details

Update to Podman v4.4.1 #1456

Podman Desktop 0.12 embeds Podman 4.4.1 in Windows and macOS installers. Make sure to upgrade to benefit from the latest Podman features and bug fixes.

Configuring port mappings when an image has no exported port #1265

With the latest update, users can now add multiple local-to-remote port mappings when starting a container from an image that has no exported ports. This feature provides users with the flexibility to specify which ports on their local machine should map to which ports on the container, even if the container does not have any exported ports by default.

port-mapping

Installing Podman Dekstop on Windows Home Edition #1268

Podman Desktop 0.12 offers the ability to be installed on Windows Home Edition. The mechanism uses Virtual Machine Platform detection, instead of hyper-v. WSL2 is still requires but can be installed along with the installation process.

install-windows-home-edition-2

Option to automatically minimize Podman Desktop on login #1374

Podman Desktop now provides a "start minimized" option when users log in onto the laptop. This option, available from the application's settings, can be useful if users want to automatically launch Podman Desktop at log in, but prefer not to have the window visible on the screen. With this feature, you can ensure that Podman Desktop is up and running in the background without any interruption to your workflows.

  • Go to Settings > Preferences > Login: Minimize to activate the option.

minimize-on-login

UI and UX Improvements

Improved actions consistency #1225

Actions displayed in the list pages for Images and Containers have been reviewed and made consistent between other pages.

action-consistency-1

Actions displayed in the header of the container's details page have been improved so that the actions are always displayed in the same order.

action-consistency-2

Consistent status icons for Pods, Containers, Images and Volumes #1326, #1377, #1459 and #1245

The status icons for Pods, Containers, Images, and Volumes have been unified and use consistent states.

pods-status-icon

Icons in empty screens have been updated to use the same consistent SVG icon as the status icons.

empty-screen-2

Placeholder when logs for containers are being fetched #1353

A placeholder is now displayed when logs are being fetched. placeholder-loading-logs

Fixed alignement in badges from the navigation sidebar #1357

Badges in the sidebar are now aligned with the title of the section.

alignement-badges

Enable/disable open browser action based on container state #1395 and #1397

The action to open the browser if a port is opened in a container, is now disabled when the container is stopped. It is also hidden in the kebab menu.

enable-disable-container-actions


Other Notable Enhancements

  • Display extension icons #1058
  • Solid Icons #1267
  • Differentiate icons compared to status icons #1268
  • Refactors window initializing #1309
  • Change window creation background color to dark #1310
  • Use Podman machine inspect to read the address to connect to the Podman machine #1364
  • Update the editor content when the pod name changes, and disable the deploy button when empty #1403
  • Ability to manually set color of tray icon for Windows and Linux #1243
  • Better UI feedback when starting pods #1242

Documentation

The documentation had many editorial reviews, and new content.


Notable bug fixes

  • Fixed handling path with spaces on Windows when installing Podman #1270
  • Removed padding from SVG icons #1253
  • Website: fixed download links for Windows and macOS binaries #1255
  • Fixed prettier commands on Windows #1266
  • Fixed new xterm instance spawn when clicking the logs route #1344
  • Fixed need to wait that telemetry has been initilized before proceeding #1373
  • Fixed new xterm instance spawn when clicking the logs route in pod details#1393
  • Fixed stop spinner if image cannot be retrieved #1394
  • Fixed escape command with quotes only for Windows #1462
  • Fixed random CRC status change #1420

Community Thank You

🎉 We’d like to say a big thank you to everyone who helped to make Podman Desktop 0.12 even better:

Final Notes

The complete list of issues fixed in this release is available here.

Get the latest release from the Downloads section of the website and boost your development journey with Podman Desktop. Additionally, visit the GitHub repository and see how you can help us make Podman Desktop better.

- + \ No newline at end of file diff --git a/blog/podman-desktop-release-0.13.html b/blog/podman-desktop-release-0.13.html index db813d6ba59..dfbdccd21d8 100644 --- a/blog/podman-desktop-release-0.13.html +++ b/blog/podman-desktop-release-0.13.html @@ -13,7 +13,7 @@ - + @@ -21,7 +21,7 @@

Release Notes - Podman Desktop 0.13

· 4 min read
Tim deBoer

This release note covers Podman Desktop 0.13 release changes.

  • Podman Version: Podman 4.4.4 now included in Windows and Mac installers.
  • Compose: Support for installing Docker Compose.
  • Extensions: Improved extension support for Podman Desktop with additional capabilities.
  • UX and UI Improvements: Welcome page, task manager, resources, and update alerts.

Podman Desktop 0.13 is now available. Click here to download it!

Podman-desktop-0-13-hero


Release details

Update to Podman v4.4.4

Podman Desktop 0.13 embeds Podman 4.4.4 in Windows and macOS installers #1456.

Compose support

You can install Docker Compose from the Podman Desktop UI #1578. This will allow you use Compose workflows using Podman.

Extensions

To make it easier to extend Podman Desktop we have:

UI and UX improvements

Welcome page #1726

The first time every user starts Podman Desktop, they will see a welcome page:

welcome-page

Note that the Welcome page will only appear the first time you run Podman Desktop 0.13.0, and none of your settings or assets in Podman Desktop will be affected by it. Over time, this page will be expanded to help with initial setup and configuration.

New Task Manager #1724

A new Task Manager has been added to the status bar to see the progress (or return to) long running tasks. To start with, building images #1725 and Podman machine #1742 are using the task manager.

task-manager

Updated Resources Settings #1582

The Settings > Resources page has been updated with a new design, making it easier to see and control your providers from a single place.

resources

The other settings pages have been updated for consistency with this new design.

Update Alerts #1827

A new alert button will appear in the status bar when future updates are available.

Prune buttons #1481, #1482, #1484

We've added buttons to prune unused volumes #1481, images #1482 and pods #1484.

prune-image


Other notable enhancements

  • Kubernetes pods are now shown in the Pods view #1312
  • Easy button to fix Docker compatibility mode on macOS #1697
  • Display extension icons #1058
  • API to cancel long running tasks #1777

Documentation

The documentation has new content:


Notable bug fixes

  • Periodically check and refresh Podman connection on Windows and Mac #1662
  • Fix inconsistent Log view behaviour #1710
  • Don't create route for regular Kubernetes clusters #1707
  • Fix copy button on empty screen #1804
  • Register extension tray items correctly #1778 and handle updates #1800

Community thank you

🎉 We’d like to say a big thank you to everyone who helped to make Podman Desktop 0.13 even better:

Final notes

The complete list of issues fixed in this release is available here.

Get the latest release from the Downloads section of the website and boost your development journey with Podman Desktop. Additionally, visit the GitHub repository and see how you can help us make Podman Desktop better.

- + \ No newline at end of file diff --git a/blog/podman-desktop-release-0.14.html b/blog/podman-desktop-release-0.14.html index 3eb3dd64cbd..f739caffc4a 100644 --- a/blog/podman-desktop-release-0.14.html +++ b/blog/podman-desktop-release-0.14.html @@ -13,7 +13,7 @@ - + @@ -46,7 +46,7 @@ making it easier to see and change preferences. Changes are live, no more Update 1927 This is more usable, one less prompt, and solves a window-layering issue for some users!

telemetry prompt


Other notable enhancements

  • Extension support for opening an external URL 2028 and accessing the clipboard 2023

Documentation

Naturally, we have a section in the documentation just for Kind.


Notable bug fixes

  • Avoid a dialog box if unable to check for updates 2062
  • Unable to get to the Dashboard if Kind (or Kubernetes) cluster was not running 2052

Final notes

The complete list of issues fixed in this release is available here.

Get the latest release from the Downloads section of the website and boost your development journey with Podman Desktop. Additionally, visit the GitHub repository and see how you can help us make Podman Desktop better.

- + \ No newline at end of file diff --git a/blog/podman-desktop-release-0.15.html b/blog/podman-desktop-release-0.15.html index cc8afc75d2b..7ee72a74594 100644 --- a/blog/podman-desktop-release-0.15.html +++ b/blog/podman-desktop-release-0.15.html @@ -13,7 +13,7 @@ - + @@ -41,7 +41,7 @@ provider properties/creation pages


Other Notable Enhancements

  • We know which Settings page is used the most often, so now it's the default: Settings > Resources #2105.

  • Extensions can now use the Tasks API to let long running tasks continue in the background #2019 and the existing withProgress API also uses the task manager now #2187.

Task API

  • Images are now sorted by age #2311.

  • When you start/stop a container or pod, the button is now animated instead of having an separate spinner #2101.

  • The Settings > Preferences page now has a search bar #2128.

Search preferences

  • The Help page has been updated #431.

Updated Help


Notable Bug Fixes

  • There was no way to see log or outcome if you leave the Kind cluster creation page #2079.
  • Kind image load doesn't show a notification #2225.
  • Fix odd selection in Settings > Extensions #2130.
  • Menus are now cleaned up properly when extensions are stopped #2188.
  • Kind clusters are now cleaned up when Podman machine is stopped #2306.

Final notes

The complete list of issues fixed in this release is available here.

Get the latest release from the Downloads section of the website and boost your development journey with Podman Desktop. Additionally, visit the GitHub repository and see how you can help us make Podman Desktop better.

- + \ No newline at end of file diff --git a/blog/podman-desktop-release-1.0.html b/blog/podman-desktop-release-1.0.html index b59726f24d3..65d566bed18 100644 --- a/blog/podman-desktop-release-1.0.html +++ b/blog/podman-desktop-release-1.0.html @@ -13,7 +13,7 @@ - + @@ -94,7 +94,7 @@ to get us here:

ucomesdag, xbabalov, zezo2019.


Final notes

The complete list of issues fixed in this release is available here and here.

Get the latest release from the Downloads section of the website and boost your development journey with Podman Desktop. Additionally, visit the GitHub repository and see how you can help us make Podman Desktop better.

- + \ No newline at end of file diff --git a/blog/podman-desktop-release-1.1.html b/blog/podman-desktop-release-1.1.html index 08953e81521..fdef31f7a70 100644 --- a/blog/podman-desktop-release-1.1.html +++ b/blog/podman-desktop-release-1.1.html @@ -13,7 +13,7 @@ - + @@ -26,7 +26,7 @@ automatically check for and install extension updates.

- + \ No newline at end of file diff --git a/blog/running-a-local-kubernetes-cluster-with-podman-desktop.html b/blog/running-a-local-kubernetes-cluster-with-podman-desktop.html index cf847e74280..5153079ec7a 100644 --- a/blog/running-a-local-kubernetes-cluster-with-podman-desktop.html +++ b/blog/running-a-local-kubernetes-cluster-with-podman-desktop.html @@ -13,7 +13,7 @@ - + @@ -31,7 +31,7 @@ It is configured to communicate with either the Redis follower or leader Service The frontend exposes a JSON interface, and serves a jQuery-Ajax-based UX.

With Podman Desktop, you can prepare the Guestbook frontend image and container on your local container engine, and deploy the results to Kubernetes pods and services. This is functionally equal to the frontend deployment that the Kubernetes example propose.

Procedure

  1. Open Images > Pull an image.
    1. Image to Pull: enter gcr.io/google_samples/gb-frontend:v5
    2. Click Pull image to pull the image to your container engine local image registry.
    3. Wait for the pull to complete.
    4. Click Done to get back to the images list.
  2. Search images: enter gb-frontend:v5 to find the image.
  3. Click to open the Create a container from image dialog.
    1. Container name: enter frontend,
    2. Local port for 80/tcp: 9000.
    3. Click Start Container to start the container in your container engine.
  4. Search containers: enter frontend to find the running container.
  5. Click to stop the container: you do not need it to run in the container engine.
  6. Click > Deploy to Kubernetes to open the Deploy generated pod to Kubernetes screen.
    1. Pod Name: enter frontend.
    2. Use Kubernetes Services: select Replace hostPort exposure on containers by Services. It is the recommended way to expose ports, as a cluster policy might prevent to use hostPort.
    3. Expose service locally using Kubernetes Ingress: select Create a Kubernetes ingress to get access to the ports that this pod exposes, at the default ingress controller location. Example: on a default Kind cluster created with Podman Desktop: http://localhost:9090. Requirements: your cluster has an ingress controller`.
    4. Kubernetes namespaces: select default.
    5. Click Deploy. Deploy generated frontend pod to Kubernetes screen
    6. Wait for the pod to reach the state: Phase: Running.
    7. Click Done.

Verification

  1. The Pods screen lists the running frontend pod.

    `frontend` pod is running

  2. Go to http://localhost:9090: the Guestbook application is running.

- + \ No newline at end of file diff --git a/blog/tags.html b/blog/tags.html index e47288a44b2..31bb88dbbe5 100644 --- a/blog/tags.html +++ b/blog/tags.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/blog/tags/codespaces.html b/blog/tags/codespaces.html index 4e808ec2cd3..bfb1db82785 100644 --- a/blog/tags/codespaces.html +++ b/blog/tags/codespaces.html @@ -13,13 +13,13 @@ - +

One post tagged with "codespaces"

View All Tags

· 7 min read
Florent Benoit

GitHub announced last week that Codespaces is available for everyone and it includes free minutes.

Let see how we can use a Development Container having all the tools to build and run Podman Desktop. The Development Container works locally using Visual Studio Code but in this blog post we will see how it works directly with a simple click from GitHub.

The challenges are to run a desktop tool (Podman Desktop) and running a container engine (Podman) inside this Development Container without using too many memory !

- + \ No newline at end of file diff --git a/blog/tags/compose.html b/blog/tags/compose.html index 6b32f8f3c78..a0f48c59a17 100644 --- a/blog/tags/compose.html +++ b/blog/tags/compose.html @@ -13,13 +13,13 @@ - +

One post tagged with "compose"

View All Tags

· 4 min read
Tim deBoer

This release note covers Podman Desktop 0.13 release changes.

  • Podman Version: Podman 4.4.4 now included in Windows and Mac installers.
  • Compose: Support for installing Docker Compose.
  • Extensions: Improved extension support for Podman Desktop with additional capabilities.
  • UX and UI Improvements: Welcome page, task manager, resources, and update alerts.

Podman Desktop 0.13 is now available. Click here to download it!

Podman-desktop-0-13-hero

- + \ No newline at end of file diff --git a/blog/tags/devcontainer.html b/blog/tags/devcontainer.html index e645aa0d07a..bd73a09d8e7 100644 --- a/blog/tags/devcontainer.html +++ b/blog/tags/devcontainer.html @@ -13,13 +13,13 @@ - +

One post tagged with "devcontainer"

View All Tags

· 7 min read
Florent Benoit

GitHub announced last week that Codespaces is available for everyone and it includes free minutes.

Let see how we can use a Development Container having all the tools to build and run Podman Desktop. The Development Container works locally using Visual Studio Code but in this blog post we will see how it works directly with a simple click from GitHub.

The challenges are to run a desktop tool (Podman Desktop) and running a container engine (Podman) inside this Development Container without using too many memory !

- + \ No newline at end of file diff --git a/blog/tags/docker.html b/blog/tags/docker.html index d7a90b4bc96..b0e5902b215 100644 --- a/blog/tags/docker.html +++ b/blog/tags/docker.html @@ -13,13 +13,13 @@ - +

One post tagged with "docker"

View All Tags

· 5 min read
Florent Benoit

The 5 things to know being a Docker user by using Podman Desktop:

  • Use a single UI: Podman Desktop works with several container engines, including Docker.
  • The compatibility mode: How to ensure tools are working with Podman instead of Docker.
  • Compose support: How to work with Compose files and Podman.
  • Kubernetes support: How to use Kubernetes with Podman.
  • Security: Use rootless mode or containers without root privileges.

5-things-to-know-for-a-docker-user-hero

- + \ No newline at end of file diff --git a/blog/tags/kind.html b/blog/tags/kind.html index 46ceff7797a..4d3b8e9ee55 100644 --- a/blog/tags/kind.html +++ b/blog/tags/kind.html @@ -13,7 +13,7 @@ - + @@ -27,7 +27,7 @@ of Podman Desktop: not just local container engines, but Kubernetes too. More im providing tools that allow you to manage both environments and seamlessly move between them.

Some of these features were available in development mode over the last few releases, but since they are now in the release build, we will do a full roundup and talk about all the Kind features.

  • Kind Installation: Install Kind from the status bar
  • Manage Kind Clusters: Create and manage Kind clusters from Settings > Resources
  • Using Kind: Deploying YAML and sharing images to a cluster
  • Kind Ingress: Install a Contour ingress controller
  • UX and UI Improvements: Updated preferences and telemetry prompt

Podman Desktop 0.14 is now available. Click here to download it!

Podman-desktop-0-14-hero

- + \ No newline at end of file diff --git a/blog/tags/kubernetes.html b/blog/tags/kubernetes.html index 46e57efc771..404af115e8b 100644 --- a/blog/tags/kubernetes.html +++ b/blog/tags/kubernetes.html @@ -13,7 +13,7 @@ - + @@ -28,7 +28,7 @@ of Podman Desktop: not just local container engines, but Kubernetes too. More im providing tools that allow you to manage both environments and seamlessly move between them.

Some of these features were available in development mode over the last few releases, but since they are now in the release build, we will do a full roundup and talk about all the Kind features.

  • Kind Installation: Install Kind from the status bar
  • Manage Kind Clusters: Create and manage Kind clusters from Settings > Resources
  • Using Kind: Deploying YAML and sharing images to a cluster
  • Kind Ingress: Install a Contour ingress controller
  • UX and UI Improvements: Updated preferences and telemetry prompt

Podman Desktop 0.14 is now available. Click here to download it!

Podman-desktop-0-14-hero

· 4 min read
Tim deBoer

This release note covers Podman Desktop 0.13 release changes.

  • Podman Version: Podman 4.4.4 now included in Windows and Mac installers.
  • Compose: Support for installing Docker Compose.
  • Extensions: Improved extension support for Podman Desktop with additional capabilities.
  • UX and UI Improvements: Welcome page, task manager, resources, and update alerts.

Podman Desktop 0.13 is now available. Click here to download it!

Podman-desktop-0-13-hero

· 5 min read
Stevan Le Meur

This release note covers Podman Desktop 0.12 release changes.

  • Podman Version: Podman 4.4.1 now included in Windows and Mac installers.
  • Containers Configuration: Configure port mappings for an image without exported ports.
  • Windows Home Support: Podman Desktop now supports Windows Home Edition.
  • Start minimized: Option to start Podman Desktop minimized to system tray.
  • UX and UI Improvements: Consistent actions, placeholder for logs, unified icons and others.

Podman Desktop 0.12 is now available. Click here to download it!

podman-desktop-0-12-hero

· 10 min read
Stevan Le Meur

This release note covers Podman Desktop 0.11 release changes.

  • Air-Gapped Installation: New all-in-one binaries for air-gapped installation.
  • Feedback: Submit feedback directly from Podman Desktop.
  • Docker Compatibility Mode: Information about the Docker compatibility mode.
  • Proxy Setting: Toggle on/off the proxy setting.
  • Deploy to Kubernetes: Select the namespace to deploy to Kubernetes.
  • Registry Configuration: Simplified registry configuration for well known registries.
  • UX/UI Improvements: View pod's container logs, better visual feedback, configurable editor font size, and more.

Podman Desktop 0.11 is now available. Click here to download it!

· 5 min read
Dev Kumar

This release note covers Podman Desktop 0.10 release changes.

  • Containers Configuration: Container creation wizzard allowing to define environment variables, networking and more configuration options.
  • Kubernetes Improvements: Play Kubernetes YAML, custom Kubeconfig path support, reload of kube context.
  • Registries Configuration: Revamped registries configuration UI.
  • Podman Version: Podman 4.3.1 now included in Windows and Mac installers.
  • UX/UI Improvements: Improved lists, better contrast, and more.

Podman Desktop 0.10 is now available. Click here to download it!

- + \ No newline at end of file diff --git a/blog/tags/migrating.html b/blog/tags/migrating.html index 12ee3f8d407..2259384c691 100644 --- a/blog/tags/migrating.html +++ b/blog/tags/migrating.html @@ -13,13 +13,13 @@ - +

One post tagged with "migrating"

View All Tags

· 5 min read
Florent Benoit

The 5 things to know being a Docker user by using Podman Desktop:

  • Use a single UI: Podman Desktop works with several container engines, including Docker.
  • The compatibility mode: How to ensure tools are working with Podman instead of Docker.
  • Compose support: How to work with Compose files and Podman.
  • Kubernetes support: How to use Kubernetes with Podman.
  • Security: Use rootless mode or containers without root privileges.

5-things-to-know-for-a-docker-user-hero

- + \ No newline at end of file diff --git a/blog/tags/openshift.html b/blog/tags/openshift.html index 8d54acaca1e..3218fa2966c 100644 --- a/blog/tags/openshift.html +++ b/blog/tags/openshift.html @@ -13,7 +13,7 @@ - + @@ -22,7 +22,7 @@ along the way.

  • Podman 4.5.1: Podman 4.5.1 now included in Windows and Mac installers.
  • Extensions: Update extensions from within Podman Desktop.
  • Lima Support: Choose engine type and override its name from the settings.
  • UX and UI Improvements: New loading screen.

Podman Desktop 1.1 is now available. Click here to download it!

Podman-desktop-1-1-hero

· 5 min read
Tim deBoer

Podman Desktop 1.0 Release! 🎉

We still have many things planned, but with a little polish and a few more bug fixes we felt we've reached a level of maturity and it is now time to declare our 1.0 release.

Thank you to everyone who has been with us on this journey so far! Please keep the feedback coming!

  • Highlighting Featured Extensions: Easily find and install new extensions.
  • Featured Extensions: Two new extensions supporting OpenShift.
  • Podman Machine as Root: Ability to run a Podman machine as root.
  • UX and UI Improvements: Opening external websites, editing numbers, and tooltips.

Podman Desktop 1.0 is now available. Click here to download it!

Podman-desktop-1-0-hero

- + \ No newline at end of file diff --git a/blog/tags/podman-desktop.html b/blog/tags/podman-desktop.html index 243ddd4e0a1..c59fbce2dcb 100644 --- a/blog/tags/podman-desktop.html +++ b/blog/tags/podman-desktop.html @@ -13,7 +13,7 @@ - + @@ -28,7 +28,7 @@ of Podman Desktop: not just local container engines, but Kubernetes too. More im providing tools that allow you to manage both environments and seamlessly move between them.

Some of these features were available in development mode over the last few releases, but since they are now in the release build, we will do a full roundup and talk about all the Kind features.

  • Kind Installation: Install Kind from the status bar
  • Manage Kind Clusters: Create and manage Kind clusters from Settings > Resources
  • Using Kind: Deploying YAML and sharing images to a cluster
  • Kind Ingress: Install a Contour ingress controller
  • UX and UI Improvements: Updated preferences and telemetry prompt

Podman Desktop 0.14 is now available. Click here to download it!

Podman-desktop-0-14-hero

· 4 min read
Tim deBoer

This release note covers Podman Desktop 0.13 release changes.

  • Podman Version: Podman 4.4.4 now included in Windows and Mac installers.
  • Compose: Support for installing Docker Compose.
  • Extensions: Improved extension support for Podman Desktop with additional capabilities.
  • UX and UI Improvements: Welcome page, task manager, resources, and update alerts.

Podman Desktop 0.13 is now available. Click here to download it!

Podman-desktop-0-13-hero

· 5 min read
Florent Benoit

The 5 things to know being a Docker user by using Podman Desktop:

  • Use a single UI: Podman Desktop works with several container engines, including Docker.
  • The compatibility mode: How to ensure tools are working with Podman instead of Docker.
  • Compose support: How to work with Compose files and Podman.
  • Kubernetes support: How to use Kubernetes with Podman.
  • Security: Use rootless mode or containers without root privileges.

5-things-to-know-for-a-docker-user-hero

· 5 min read
Stevan Le Meur

This release note covers Podman Desktop 0.12 release changes.

  • Podman Version: Podman 4.4.1 now included in Windows and Mac installers.
  • Containers Configuration: Configure port mappings for an image without exported ports.
  • Windows Home Support: Podman Desktop now supports Windows Home Edition.
  • Start minimized: Option to start Podman Desktop minimized to system tray.
  • UX and UI Improvements: Consistent actions, placeholder for logs, unified icons and others.

Podman Desktop 0.12 is now available. Click here to download it!

podman-desktop-0-12-hero

· 10 min read
Stevan Le Meur

This release note covers Podman Desktop 0.11 release changes.

  • Air-Gapped Installation: New all-in-one binaries for air-gapped installation.
  • Feedback: Submit feedback directly from Podman Desktop.
  • Docker Compatibility Mode: Information about the Docker compatibility mode.
  • Proxy Setting: Toggle on/off the proxy setting.
  • Deploy to Kubernetes: Select the namespace to deploy to Kubernetes.
  • Registry Configuration: Simplified registry configuration for well known registries.
  • UX/UI Improvements: View pod's container logs, better visual feedback, configurable editor font size, and more.

Podman Desktop 0.11 is now available. Click here to download it!

· 5 min read
Dev Kumar

This release note covers Podman Desktop 0.10 release changes.

  • Containers Configuration: Container creation wizzard allowing to define environment variables, networking and more configuration options.
  • Kubernetes Improvements: Play Kubernetes YAML, custom Kubeconfig path support, reload of kube context.
  • Registries Configuration: Revamped registries configuration UI.
  • Podman Version: Podman 4.3.1 now included in Windows and Mac installers.
  • UX/UI Improvements: Improved lists, better contrast, and more.

Podman Desktop 0.10 is now available. Click here to download it!

· 7 min read
Florent Benoit

GitHub announced last week that Codespaces is available for everyone and it includes free minutes.

Let see how we can use a Development Container having all the tools to build and run Podman Desktop. The Development Container works locally using Visual Studio Code but in this blog post we will see how it works directly with a simple click from GitHub.

The challenges are to run a desktop tool (Podman Desktop) and running a container engine (Podman) inside this Development Container without using too many memory !

- + \ No newline at end of file diff --git a/blog/tags/release.html b/blog/tags/release.html index 2f9d2dc770d..f4da832d8d8 100644 --- a/blog/tags/release.html +++ b/blog/tags/release.html @@ -13,7 +13,7 @@ - + @@ -28,7 +28,7 @@ of Podman Desktop: not just local container engines, but Kubernetes too. More im providing tools that allow you to manage both environments and seamlessly move between them.

Some of these features were available in development mode over the last few releases, but since they are now in the release build, we will do a full roundup and talk about all the Kind features.

  • Kind Installation: Install Kind from the status bar
  • Manage Kind Clusters: Create and manage Kind clusters from Settings > Resources
  • Using Kind: Deploying YAML and sharing images to a cluster
  • Kind Ingress: Install a Contour ingress controller
  • UX and UI Improvements: Updated preferences and telemetry prompt

Podman Desktop 0.14 is now available. Click here to download it!

Podman-desktop-0-14-hero

· 4 min read
Tim deBoer

This release note covers Podman Desktop 0.13 release changes.

  • Podman Version: Podman 4.4.4 now included in Windows and Mac installers.
  • Compose: Support for installing Docker Compose.
  • Extensions: Improved extension support for Podman Desktop with additional capabilities.
  • UX and UI Improvements: Welcome page, task manager, resources, and update alerts.

Podman Desktop 0.13 is now available. Click here to download it!

Podman-desktop-0-13-hero

· 5 min read
Stevan Le Meur

This release note covers Podman Desktop 0.12 release changes.

  • Podman Version: Podman 4.4.1 now included in Windows and Mac installers.
  • Containers Configuration: Configure port mappings for an image without exported ports.
  • Windows Home Support: Podman Desktop now supports Windows Home Edition.
  • Start minimized: Option to start Podman Desktop minimized to system tray.
  • UX and UI Improvements: Consistent actions, placeholder for logs, unified icons and others.

Podman Desktop 0.12 is now available. Click here to download it!

podman-desktop-0-12-hero

· 10 min read
Stevan Le Meur

This release note covers Podman Desktop 0.11 release changes.

  • Air-Gapped Installation: New all-in-one binaries for air-gapped installation.
  • Feedback: Submit feedback directly from Podman Desktop.
  • Docker Compatibility Mode: Information about the Docker compatibility mode.
  • Proxy Setting: Toggle on/off the proxy setting.
  • Deploy to Kubernetes: Select the namespace to deploy to Kubernetes.
  • Registry Configuration: Simplified registry configuration for well known registries.
  • UX/UI Improvements: View pod's container logs, better visual feedback, configurable editor font size, and more.

Podman Desktop 0.11 is now available. Click here to download it!

· 5 min read
Dev Kumar

This release note covers Podman Desktop 0.10 release changes.

  • Containers Configuration: Container creation wizzard allowing to define environment variables, networking and more configuration options.
  • Kubernetes Improvements: Play Kubernetes YAML, custom Kubeconfig path support, reload of kube context.
  • Registries Configuration: Revamped registries configuration UI.
  • Podman Version: Podman 4.3.1 now included in Windows and Mac installers.
  • UX/UI Improvements: Improved lists, better contrast, and more.

Podman Desktop 0.10 is now available. Click here to download it!

- + \ No newline at end of file diff --git a/blog/tags/story.html b/blog/tags/story.html index bff09640722..969dab17958 100644 --- a/blog/tags/story.html +++ b/blog/tags/story.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/core-values.html b/core-values.html index fb9e6044217..c0d335e0e8b 100644 --- a/core-values.html +++ b/core-values.html @@ -13,13 +13,13 @@ - +

Podman Desktop: Core Values

Podman Desktop is designed and built with the following core values in mind.

Fast and Light

Daemon-less and using the fastest technologies to make Podman Desktop fast to use.

Reactive and light on resources utilized from your environment.

Open

While focusing on Podman as a container engine packaged by default, Podman Desktop also enables other container engines.

This gives the end-user a single tool to manage all their containers independently from the engine used.

Simple

Managing a container engine locally can be hard.

Running Kubernetes in a local environment requires knowledge.

Podman Desktop takes care of this complexity and enables developers to focus on their code.

Extensible Workflow

Podman Desktop provides extensions points to enable the community to build more features.

This allows more in-deep integrations with other tools and technologies to extend workflows and capabilities of the tool.

Thus giving the developer a single tool to manage all their containers independently from the engine used.

- + \ No newline at end of file diff --git a/docs/Installation.html b/docs/Installation.html index f30a944b391..da3ea4c8d8b 100644 --- a/docs/Installation.html +++ b/docs/Installation.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/Installation/creating-a-podman-machine-with-podman-desktop.html b/docs/Installation/creating-a-podman-machine-with-podman-desktop.html index e63ba9d632e..78590e353ce 100644 --- a/docs/Installation/creating-a-podman-machine-with-podman-desktop.html +++ b/docs/Installation/creating-a-podman-machine-with-podman-desktop.html @@ -13,7 +13,7 @@ - + @@ -26,7 +26,7 @@ Select the disk size.
  • Image path (Optional): Select a bootable image containing a virtual machine with Podman.
  • Machine with root privileges: Enable to use the rootful connection by default. Required to use Kind on Windows.
  • Click Create
  • Create a Podman machine

    - + \ No newline at end of file diff --git a/docs/Installation/linux-install.html b/docs/Installation/linux-install.html index f68aa04dd8b..9428da7c8c0 100644 --- a/docs/Installation/linux-install.html +++ b/docs/Installation/linux-install.html @@ -13,13 +13,13 @@ - +

    Installing Podman Desktop on Linux

    Consider installing the Podman Desktop from Flathub to have:

    • One command installation
    • Package updates

    Alternatively, you can install Podman Desktop from:

    Prerequisites

    Procedure

    1. Verify the Flathub repository is enabled, and add it if required:

      $ flatpak remote-add --if-not-exists --user flathub https://flathub.org/repo/flathub.flatpakrepo
    2. Install Podman Desktop from Flathub:

      $ flatpak install --user flathub io.podman_desktop.PodmanDesktop

    Verification

    • Open Podman Desktop from a terminal:

      $ flatpak run io.podman_desktop.PodmanDesktop

    Update

    • Update Podman Desktop from Flathub:

      $ flatpak update --user io.podman_desktop.PodmanDesktop

    Additional resources

    Next steps

    - + \ No newline at end of file diff --git a/docs/Installation/linux-install/installing-podman-desktop-from-a-compressed-tar-file.html b/docs/Installation/linux-install/installing-podman-desktop-from-a-compressed-tar-file.html index d690bef1dd2..c12a4b9ffbc 100644 --- a/docs/Installation/linux-install/installing-podman-desktop-from-a-compressed-tar-file.html +++ b/docs/Installation/linux-install/installing-podman-desktop-from-a-compressed-tar-file.html @@ -13,14 +13,14 @@ - + - + \ No newline at end of file diff --git a/docs/Installation/linux-install/installing-podman-desktop-from-a-flatpak-bundle.html b/docs/Installation/linux-install/installing-podman-desktop-from-a-flatpak-bundle.html index a2c139499c0..e10a6581bbe 100644 --- a/docs/Installation/linux-install/installing-podman-desktop-from-a-flatpak-bundle.html +++ b/docs/Installation/linux-install/installing-podman-desktop-from-a-flatpak-bundle.html @@ -13,13 +13,13 @@ - +

    Installing Podman Desktop from a Flatpak bundle

    Consider installing a Flatpak bundle rather than from Flathub when:

    • You cannot use Flathub.
    • You want to install an unreleased version.

    Prerequisites

    Procedure

    1. Download the Flatpak bundle to a $HOME/Downloads/podman-desktop-<version>.flatpak file from:

    2. Install Podman Desktop from the downloaded Flatpak bundle:

      $ flatpak install --user $HOME/Downloads/podman-desktop-<version>.flatpak

    Verification

    • Open Podman Desktop from a terminal:

      $ flatpak run io.podman_desktop.PodmanDesktop

    Additional resources

    Next steps

    - + \ No newline at end of file diff --git a/docs/Installation/macos-install.html b/docs/Installation/macos-install.html index 0d207ec8fb7..9609e6a7b71 100644 --- a/docs/Installation/macos-install.html +++ b/docs/Installation/macos-install.html @@ -13,14 +13,14 @@ - +

    MacOS

    This page contains information regarding installation of Podman Desktop on MacOS.

    You can install Podman Desktop on Mac:

    1. Using the .dmg file
    2. Using Brew
    Prerequisite

    Podman Desktop requires Podman Engine. If you don't have Podman Engine installed, Podman Desktop will prompt you to do so at a later stage.

    Installing Podman Desktop on MacOS using .dmg file

    1. Download the .dmg file from the Downloads section of this website.

      While we recommend getting the "universal" binary file which will work irrespective of the chip architecture your Mac possesses, you also have the option to get the applicable .dmg file depending on your Mac Hardware Architecture (that is Intel or Apple M1).

    2. Locate the downloaded file, and double-click on it. (Usually, you will find the downloaded file in the Downloads folder)

      img0

    3. Drag Podman Desktop icon to the Applications folder.

      img1

    4. Start Podman Desktop from the 'Launchpad' or Mac's Applications directory.

      img2

    5. Install Podman from Podman Desktop, if not yet installed.

      When you open Podman Desktop for the first time, click on the "View detection checks" button to scan if all the prerequisites to use Podman Desktop are met. If it says ❌ podman cli was not found in the PATH, then you need to install the Podman CLI/Engine which can be done within the application.

      img3

    6. Click on the "Install" button next to the "View detection checks" button, and follow the instructions on screen.

    7. You will be redirected to the Podman Installer. Follow the instructions on screen and enter your system password when asked.

      img4

    8. After the installation is complete, close the installation program. Podman Engine has been installed and you are now ready to use Podman Desktop.

    Installing Podman Desktop on MacOS using brew

    Prerequisite

    Installation steps

    1. Open a terminal on your Mac.

    2. Run the command mentioned below.

      brew install podman-desktop

      Brew will also install the Podman Engine along with the Podman Desktop application, in case you don't have it installed yet.

      After the command is executed, you can find the Podman Desktop Application within the Applications directory of the MacOS.

    Getting Started

    Learn more on how to get started with Podman Desktop by clicking here.

    - + \ No newline at end of file diff --git a/docs/Installation/windows-install.html b/docs/Installation/windows-install.html index 686de97afe3..4a1f222ff6a 100644 --- a/docs/Installation/windows-install.html +++ b/docs/Installation/windows-install.html @@ -13,13 +13,13 @@ - +
    - + \ No newline at end of file diff --git a/docs/Installation/windows-install/installing-podman-desktop-and-podman-in-a-restricted-environment.html b/docs/Installation/windows-install/installing-podman-desktop-and-podman-in-a-restricted-environment.html index 725dd135a56..5e985c23a21 100644 --- a/docs/Installation/windows-install/installing-podman-desktop-and-podman-in-a-restricted-environment.html +++ b/docs/Installation/windows-install/installing-podman-desktop-and-podman-in-a-restricted-environment.html @@ -13,13 +13,13 @@ - +

    Installing Podman Desktop and Podman in a restricted environment

    Consider using the Windows installer for restricted environments to install the Podman Desktop and Podman in a restricted environment.

    The Windows installer for restricted environments:

    • Has all artifacts required for installation
    • Does not require Internet access to download resources during installation

    Prerequisites

    Procedure

    1. Download the Windows installer for restricted environments, and copy the downloaded file to the Windows host in a restricted environment.
    2. Run the Windows installer for restricted environments to install Podman Desktop.
    3. Open Podman Desktop and click on the Install button to install Podman.
    4. Click on Initialize Podman.

    Next steps

    - + \ No newline at end of file diff --git a/docs/Installation/windows-install/installing-podman-desktop-silently-with-the-windows-installer.html b/docs/Installation/windows-install/installing-podman-desktop-silently-with-the-windows-installer.html index 4a5a6c2d547..8f8f54e857e 100644 --- a/docs/Installation/windows-install/installing-podman-desktop-silently-with-the-windows-installer.html +++ b/docs/Installation/windows-install/installing-podman-desktop-silently-with-the-windows-installer.html @@ -13,13 +13,13 @@ - +
    - + \ No newline at end of file diff --git a/docs/Installation/windows-install/installing-podman-desktop-with-chocolatey.html b/docs/Installation/windows-install/installing-podman-desktop-with-chocolatey.html index b5aa60dfb07..1d05896595c 100644 --- a/docs/Installation/windows-install/installing-podman-desktop-with-chocolatey.html +++ b/docs/Installation/windows-install/installing-podman-desktop-with-chocolatey.html @@ -13,13 +13,13 @@ - +
    - + \ No newline at end of file diff --git a/docs/Installation/windows-install/installing-podman-desktop-with-scoop.html b/docs/Installation/windows-install/installing-podman-desktop-with-scoop.html index 507ed4a8b29..5490f091d94 100644 --- a/docs/Installation/windows-install/installing-podman-desktop-with-scoop.html +++ b/docs/Installation/windows-install/installing-podman-desktop-with-scoop.html @@ -13,13 +13,13 @@ - +
    - + \ No newline at end of file diff --git a/docs/Installation/windows-install/installing-podman-desktop-with-winget.html b/docs/Installation/windows-install/installing-podman-desktop-with-winget.html index 01f59dd0a5d..20c58972bdc 100644 --- a/docs/Installation/windows-install/installing-podman-desktop-with-winget.html +++ b/docs/Installation/windows-install/installing-podman-desktop-with-winget.html @@ -13,13 +13,13 @@ - +
    - + \ No newline at end of file diff --git a/docs/Installation/windows-install/installing-podman-with-openshift-local.html b/docs/Installation/windows-install/installing-podman-with-openshift-local.html index 3535ad2d360..4eb7e402dae 100644 --- a/docs/Installation/windows-install/installing-podman-with-openshift-local.html +++ b/docs/Installation/windows-install/installing-podman-with-openshift-local.html @@ -13,13 +13,13 @@ - +

    Installing the Podman Preset with OpenShift Local

    On Windows, running the Podman container engine requires running a Linux distribution on a virtual machine.

    Consider installing the Podman Preset in OpenShift Local rather than installing Podman with Podman Desktop when you require one of following:

    • No WSL 2
    • Full control on the HyperV virtual machine
    • User without administrator privileges
    • VPN
    • Windows 10

    Prerequisites

    • The user is a member of the Hyper-V Administrators group. The user can add a virtual machine, start or stop this virtual machine, and access the resources related to this virtual machine.
    • Windows 10 version 1709 or later, Enterprise or Professional edition, or Windows 11, Enterprise or Professional edition

    Procedure

    1. Install OpenShift Local

    2. Select the Podman container runtime preset:

      $ crc config set preset podman
    3. Set up your host machine for Red Hat OpenShift Local:

      $ crc setup
    4. Start the Red Hat OpenShift instance:

      $ crc start

    Additional resources

    Next steps

    - + \ No newline at end of file diff --git a/docs/Installation/windows-install/installing-podman-with-podman-desktop.html b/docs/Installation/windows-install/installing-podman-with-podman-desktop.html index 345560caa66..a03fda1366f 100644 --- a/docs/Installation/windows-install/installing-podman-with-podman-desktop.html +++ b/docs/Installation/windows-install/installing-podman-with-podman-desktop.html @@ -13,14 +13,14 @@ - +

    Installing Podman on Windows with Podman Desktop

    On Windows, running the Podman container engine requires running a Linux distribution on a virtual machine.

    Podman Desktop can assist you to install the Podman container engine in a Fedora distribution of Linux, on the Windows Subsystem for Linux version 2 (WSL 2). Main benefits are:

    • Ease of use
    • Windows native virtualization performance

    Consider rather installing Podman with OpenShift Local if:

    • You prefer working with a RHEL distribution of Linux
    • Your environment doesn't allow you to meet the prerequisites

    Prerequisites

    • 6 GB RAM
    • No VPN
    • WSL prerequisites
      • User with administrator privileges
      • Windows 64bit
      • Windows 10 Build 18362 or greater, or Windows 11
      • On a virtual machine: Nested Virtualization enabled
    • Podman is not installed
    • No WSL 2 Linux virtual machine is running

    Procedure

    1. Enable the WSL feature without installing the default Ubuntu distribution of Linux. See Enabling WSL 2 and WSL basic commands:

      wsl --install --no-distribution
    2. The Home screen displays Podman Desktop was not able to find an installation of Podman. Click on Install.

      img1

    3. Podman Desktop checks the prerequites to install Podman Engine. When necessary, follow the instructions to install prerequisites.

    4. Podman displays the dialog: Podman is not installed on this system, would you like to install Podman?. Click on Yes to install Podman.

    5. Click on Initialize Podman.

    Additional resources

    Next steps

    - + \ No newline at end of file diff --git a/docs/compose/compose-spec.html b/docs/compose/compose-spec.html index 8bf524bdaf0..d3faff6c227 100644 --- a/docs/compose/compose-spec.html +++ b/docs/compose/compose-spec.html @@ -13,14 +13,14 @@ - +

    Compose spec with Podman Desktop

    Introduction

    Podman Desktop supports the Compose spec. With Podman Desktop, users can easily create and manage multi-container applications by using Compose files.

    How does it work

    Each time you run a Compose file by using Podman Compose or Docker Compose a label is assigned to each container. Podman Desktop detects that label and shows it appropriately within the management console.

    img2

    What do you need to enable

    Containers deployed by the Compose specification are automatically detected by Podman Desktop.

    What if you already have Docker Compose or Podman Compose installed

    Any containers already deployed by Docker Compose / Podman Compose will be automatically shown within Podman Desktop. You do not need to do anything!

    - + \ No newline at end of file diff --git a/docs/compose/podman-compose.html b/docs/compose/podman-compose.html index a38505eb47d..cc2e5fbee1d 100644 --- a/docs/compose/podman-compose.html +++ b/docs/compose/podman-compose.html @@ -13,13 +13,13 @@ - +

    Podman Compose with Podman Desktop

    Introduction

    Podman Compose is a community-driven tool that allows developers to use the Compose spec to run many containers at the same time. Podman Compose requires a Compose YAML file with definitions about the containers that need to communicate.

    If you have not used a Compose file or the Compose spec, visit this guide for more information.

    Requirements

    Getting started

    Spin up your compose.yaml with the podman-compose binary and Podman Desktop will automatically detect it!

    Use the Flask Redis project from the awesome-compose repository as an example project.

    1. Git clone the project and cd into the directory:

      $ git clone https://github.com/docker/awesome-compose
      $ cd awesome-compose/redis-flask
    2. Run the podman-compose command:

      $ podman-compose -f compose.yaml up -d

      img1

    3. Manage Compose with Podman Desktop

      To confirm if the containers are running, open Podman Desktop and click on the ‘Containers’ option on the left side of the application. You will have the containers bundled together under a Pod named flask-redis (compose) in this case. Here, the compose within the bracket indicates it has been generated from a Compose YAML file.

      img2

    4. You can further configure or work with these containers within the Podman Desktop application now that they are visible. Here, clicking on the ‘Open Browser’ button allows us to confirm if the application is running expectedly.

      img3

    5. You can do much more such as checking logs, opening the terminal or inspecting the files for more details.

      img4

    - + \ No newline at end of file diff --git a/docs/extensions.html b/docs/extensions.html index 163d385aeaa..c35bd750bd6 100644 --- a/docs/extensions.html +++ b/docs/extensions.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/extensions/install.html b/docs/extensions/install.html index 8efbd6074dd..4880bdf4e49 100644 --- a/docs/extensions/install.html +++ b/docs/extensions/install.html @@ -13,13 +13,13 @@ - +

    Installing a Podman Desktop extension

    Consider installing Podman Desktop extensions to enrich the default capabilities of Podman Desktop.

    Prerequisites

    Procedure

    1. Go to the Settings > Extensions.

    2. In the Name of the Image field, write the extension OCI image name.

    3. Click the Install extension from the OCI image button.

    Verification

    • If Podman Desktop satisfies the minimum required version of the extension, the extension activates.

    • Depending on the extension, items can appear in the status bar, tray menu, or other contributions.

    - + \ No newline at end of file diff --git a/docs/extensions/publish.html b/docs/extensions/publish.html index 91968fac160..03477a7e149 100644 --- a/docs/extensions/publish.html +++ b/docs/extensions/publish.html @@ -13,7 +13,7 @@ - + @@ -21,7 +21,7 @@

    Packaging and publishing a Podman Desktop extension

    To enable users to install your extension, consider publishing your extension to an Open Container Initiative (OCI) image registry.

    Prerequisites

    • The extension builds successfully. See Writing a Podman Desktop extension.

    • All runtime dependencies are inside the final binary.

    • An OCI image registry to publish to, such as quay.io/fbenoit/my-first-extension.

    • (Optional) The OCI image registry is public to enable anybody to fetch the image.

    Procedure

    1. Create and edit a Containerfile file.

    2. Use a scratch image. The extension requires no runtime:

      FROM scratch
    3. Apply mandatory Podman Desktop metadata on the OCI image:

      LABEL org.opencontainers.image.title="My first extension" \
      org.opencontainers.image.description="Example of extension" \
      org.opencontainers.image.vendor="podman-desktop" \
      io.podman-desktop.api.version=">= 0.12.0"

      io.podman-desktop.api.version=">= 0.12.0" sets the minimal Podman Desktop version that the extension requires to run.

    4. Copy the extension assembly, including the metadata, icon, and production binary, to the /extension folder inside the image:

      COPY package.json /extension/
      COPY icon.png /extension/
      COPY dist /extension/dist
    5. Build an image:

      $ podman build -t quay.io/fbenoit/my-first-extension .
    6. Push the image and manifest to the OCI image registry:

      $ podman push quay.io/fbenoit/my-first-extension

    Next steps

    - + \ No newline at end of file diff --git a/docs/extensions/write.html b/docs/extensions/write.html index 83183442910..cb5d73b1b33 100644 --- a/docs/extensions/write.html +++ b/docs/extensions/write.html @@ -13,13 +13,13 @@ - +

    Writing a Podman Desktop extension

    To write a Podman Desktop extension, start a Node.js or TypeScript project calling the Podman Desktop API, and ensure all runtime dependencies are inside the final binary.

    Initializing a Podman Desktop extension

    Write the Podman Desktop extension Node.js package metadata.

    Prerequisites

    • JavaScript or TypeScript

    Procedure

    1. Create and edit a package.json file.

      {}
    2. Add TypeScript and Podman Desktop API to the development dependencies:

       "devDependencies": {
      "@podman-desktop/api": "latest",
      "typescript": "latest"
      },
    3. Add the required metadata:

        "name": "my-extension",
      "displayName": "My Hello World extension",
      "description": "How to write my first extension",
      "version": "0.0.1",
      "icon": "icon.png",
      "publisher": "benoitf",
    4. Add the Podman Desktop version that might run this extension:

        "engines": {
      "podman-desktop": "latest"
      },
    5. Add the main entry point:

       "main": "./dist/extension.js"
    6. Add a Hello World command contribution

        "contributes": {
      "commands": [
      {
      "command": "my.first.command",
      "title": "My First Extension: Hello World"
      }
      ]
      }
    7. Add an icon.png file to the project.

    Verification

    • Full package.json example:

      {
      "devDependencies": {
      "@podman-desktop/api": "latest",
      "typescript": "latest"
      },
      "name": "my-extension",
      "displayName": "My Hello World extension",
      "description": "How to write my first extension",
      "version": "0.0.1",
      "icon": "icon.png",
      "publisher": "benoitf",
      "engines": {
      "podman-desktop": "latest"
      },
      "main": "./dist/extension.js",
      "contributes": {
      "commands": [
      {
      "command": "my.first.command",
      "title": "My First Extension: Hello World"
      }
      ]
      }
      }

    Writing a Podman Desktop extension entry point

    Write the extension features.

    Prerequisites

    • JavaScript or TypeScript

    Procedure

    1. Create and edit a dist/extension.js file.

    2. Import the Podman Desktop API

      import * as podmanDesktopAPI from '@podman-desktop/api';
    3. Expose the activate function to call on activation.

      The signature of the function can be:

      • Synchronous

        export function activate(): void;
      • Asynchronous

        export async function activate(): Promise<void>;
    4. (Optional) Add an extension context to the activate function enabling the extension to register disposable resources:

      export async function activate(extensionContext: podmanDesktopAPI.ExtensionContext): Promise<void> {}
    5. Register the command and the callback

      import * as podmanDesktopAPI from '@podman-desktop/api';
      export async function activate(extensionContext: podmanDesktopAPI.ExtensionContext): Promise<void> {
      // register the command referenced in package.json file
      const myFirstCommand = podmanDesktopAPI.commands.registerCommand('my.first.command', async () => {
      // display a choice to the user for selecting some values
      const result = await podmanDesktopAPI.window.showQuickPick(['un', 'deux', 'trois'], {
      canPickMany: true, // user can select more than one choice
      });

      // display an information message with the user choice
      await podmanDesktopAPI.window.showInformationMessage(`The choice was: ${result}`);
      });

      // create an item in the status bar to run our command
      // it will stick on the left of the status bar
      const item = podmanDesktopAPI.window.createStatusBarItem(podmanDesktopAPI.StatusBarAlignLeft, 100);
      item.text = 'My first command';
      item.command = 'my.first.command';
      item.show();

      // register disposable resources to it's removed when we deactivte the extension
      extensionContext.subscriptions.push(myFirstCommand);
      extensionContext.subscriptions.push(item);
      }
    6. (Optional) Expose the deactivate function to call on deactivation.

      The signature of the function can be:

      • Synchronous

        export function deactivate(): void;
      • Asynchronous

        export async function deactivate(): Promise<void>;

    Verification

    • The extension compiles and produces the output in the dist folder.

    • All runtime dependencies are inside the final binary.

    Additional resources

    • Consider a packer such as Rollup or Webpack to shrink the size of the artifact.

    Next steps

    - + \ No newline at end of file diff --git a/docs/getting-started/building-an-image.html b/docs/getting-started/building-an-image.html index 3142c6c3e37..0aa40e4dd20 100644 --- a/docs/getting-started/building-an-image.html +++ b/docs/getting-started/building-an-image.html @@ -13,13 +13,13 @@ - +

    Building an image on your Container engine

    With Podman Desktop, you can build an image from a Containerfile on your container engine.

    Prerequisites

    • Your Containerfile: Containerfile or Dockerfile.

    Procedure

    1. Open Images.
    2. Click Build an image.
    3. On the Build Image from Containerfile screen
      1. Containerfile path: select the Containerfile to build.
      2. Image Name: edit the image name: my_image.
      3. Click Build.

    Verification

    1. Open Images
    2. Your image <my_image> is in the list.
    - + \ No newline at end of file diff --git a/docs/getting-started/creating-a-pod.html b/docs/getting-started/creating-a-pod.html index 91151b45540..cd04848a8a6 100644 --- a/docs/getting-started/creating-a-pod.html +++ b/docs/getting-started/creating-a-pod.html @@ -13,13 +13,13 @@ - +

    Creating a pod from containers

    With Podman Desktop, you can create a pod from your containers, and run it on the Podman container engine.

    Prerequisites

    • You are using the Podman container engine.
    • Your containers, running or stopped, are available on the Containers page. For example: <your_frontend_container> and <your_backend_container>.

    Procedure

    1. Open Podman Desktop dashboard > Containers.
    2. Click the checkboxes to select your containers.
    3. Click to create a pod with the selected containers.
    4. On the Copy containers to a pod screen
      1. Name of the pod: edit the pod name <my_pod>.
      2. Click the Create pod using these containers button.

    Verification

    1. Open Pods
    2. Your pod <my_pod> is in the list.
    - + \ No newline at end of file diff --git a/docs/getting-started/getting-started.html b/docs/getting-started/getting-started.html index 0fed6941bdf..f0d39b8d437 100644 --- a/docs/getting-started/getting-started.html +++ b/docs/getting-started/getting-started.html @@ -13,13 +13,13 @@ - +

    Getting Started with Podman Desktop

    Introduction

    Podman Desktop leverages Podman Engine to provide a lightweight and daemon-less container management tool. It enables you to easily work with containers from your local environment without running container management commands.

    Podman Desktop brings all the capabilities of Podman with the added advantage of a GUI which is becoming increasingly powerful and user-friendly. It is super easy to adapt to. With this tutorial, you will be ready to roll and work with your containerized applications in no time.

    In this tutorial, I am working with Podman Desktop v0.0.5.

    Requirements

    To work with Podman Desktop, you firstly require the latest version of Podman Desktop. Depending on your operating system, you can download it from this page.

    Next, you need the latest version of Podman Engine installed on your computer. When started, Podman Desktop looks for the Podman Engine in the system and will prompt you to install the same if it is not present. You can read more about how to set up the Podman Desktop and Podman Engine in the Installation guide here.

    Once everything is set up, you are ready to go!

    Get Started

    When you open the Podman Desktop application, you will be greeted with the home screen. It will show you a toggle button that says ‘Initialize Podman’. And as mentioned, it initializes the Podman Engine and creates a Podman Machine for you. Click on it to create a Podman Machine. Within no time, your Podman Machine will be created. This is equivalent to running the command podman machine init. You can read more about it here.

    Next, you need to start the Podman Machine by toggling the button that says ‘Run Podman’. This is equivalent to running podman machine start. You can read more about it here.

    Once it says “Podman is running”, you are ready to build images and run containers!

    Our first step will be to build an image for our application followed by running the image to create the container.

    1. Build Image

    For this section of the tutorial, I have created my Containerfile using the Red Hat Universal Base Image. You can also write your own Containerfiles and build images from it using the Red Hat Universal Base Image (UBI). Read more about it in this blog. Once you have your Containerfile ready, follow the steps below to build your own image.

    1. To load the Containerfile to Podman Desktop and build the Image, we browse to the “Images” section and click on the “Build Image” button. This opens a tab within which you can select the path where your Containerfile is present.

      img1.1

    2. Click on the placeholder “Select Containerfile to build”, browse to the folder where the Containerfile is present and select the file.

      img1.2

    3. Go ahead and type in any name for your image below but Podman Desktop will have something generated by default in case you want to skip it.

      img1.3

    4. Click on ‘Build’ and that’s it. You will see each instruction from your Containerfile being executed to build the image.

      img1.4

    5. Once completed, Click on “Done” above to continue. You will see that your image has been added to the Images section of Podman Desktop.

      img1.5

    2. Create and Run the Container

    Following are the steps to create and start a container from the image.

    1. Once the image is built, you can see its name (in our case, ‘my-custom-image’) and other details in the Images section.

      img2.1

    2. Simply hover over the name of the image and you will see a list of buttons to the right. In case you are confused about the action of each button, just take the cursor over each button and wait for it to tell the action it does.

      img2.2

    3. Upon clicking the ‘Run Image’ button, a window will appear and it will ask you to Create the container by giving it a name and mapping the desired port number.

      img2.3

    4. Once you click on “Start Container”, you will see some changes in the Containers section. Upon hovering your cursor over the newly created container, you will see a set of buttons allowing you to work with it.

      img2.4

    5. To check if it is running our application as desired, open the URL in the browser (in this case, localhost:8080 because that’s where we mapped our port). This can be done by clicking on the ‘Open Browser’ button.

      img2.5

    6. As we can see, it returns {“Hello”:”World”} as intended.

      img2.6

    Conclusion

    So that’s it! It is that simple to get started with Podman Desktop for building and running your first container image!

    - + \ No newline at end of file diff --git a/docs/intro.html b/docs/intro.html index 2e42bbc7e84..07c5a8a0031 100644 --- a/docs/intro.html +++ b/docs/intro.html @@ -13,13 +13,13 @@ - +

    Introduction

    Let's discover Podman Desktop in less than 5 minutes.

    Getting Started

    Get started by Downloading the product for your operating system.

    What you'll need

    • Podman 4.x
      • Check there is a Podman machine running

    Check Podman CLI is working

    Run the development server:

    $ podman run quay.io/podman/hello
    !... Hello Podman World ...!

    .--"--.
    / - - \
    / (O) (O) \
    ~~~| -=(,Y,)=- |
    .---. /` \ |~~
    ~/ o o \~~~~.----. ~~
    | =(X)= |~ / (O (O) \
    ~~~~~~~ ~| =(Y_)=- |
    ~~~~ ~~~| U |~~

    Project: https://github.com/containers/podman
    Website: https://podman.io
    Documents: https://docs.podman.io
    Twitter: @Podman_io
    - + \ No newline at end of file diff --git a/docs/kubernetes.html b/docs/kubernetes.html index 6b1919daf4d..d02c0f48086 100644 --- a/docs/kubernetes.html +++ b/docs/kubernetes.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/kubernetes/configuring-access-to-a-kubernetes-cluster.html b/docs/kubernetes/configuring-access-to-a-kubernetes-cluster.html index 22784c2c5f8..298f6cf9f98 100644 --- a/docs/kubernetes/configuring-access-to-a-kubernetes-cluster.html +++ b/docs/kubernetes/configuring-access-to-a-kubernetes-cluster.html @@ -13,13 +13,13 @@ - +

    Configuring access to a Kubernetes cluster

    Podman Desktop configures the access to Kubernetes clusters automatically when:

    You can also use the Kubernetes CLI to configure access to your Kubernetes cluster:

    Prerequisites

    • You have credentials for your Kubernetes cluster.

    Procedure

    1. (Optionally) Go to Settings > Preferences > Path to the kubeconfig file to adapt your kubeconfig file location, when different from the default $HOME/.kube/config.

    2. Register your <my_kubernetes> Kubernetes cluster:

      $ kubectl config set-cluster <my_kubernetes> --server=<my_kubernetes_url>

    Verification

    Additional resopurces

    - + \ No newline at end of file diff --git a/docs/kubernetes/deploying-a-container-to-kubernetes.html b/docs/kubernetes/deploying-a-container-to-kubernetes.html index 0711402e743..e472795453f 100644 --- a/docs/kubernetes/deploying-a-container-to-kubernetes.html +++ b/docs/kubernetes/deploying-a-container-to-kubernetes.html @@ -13,13 +13,13 @@ - +

    Deploying a container to Kubernetes

    With Podman Desktop, you can deploy a container to your Kubernetes cluster.

    Prerequisites

    • Your are using the Podman container engine.
    • Your container, running or stopped, is available on the Containers page: <your_container>.
    • You registered the Kubernetes cluster in your kubeconfig file: <your_kubernetes_cluster>. For example, Creating a kind cluster.
    • The Kubernetes namespace to deploy to already exists.

    Procedure

    1. Click Podman Desktop tray > Kubernetes > Context > <your_kubernetes_cluster> to set your Kubernetes context.
    2. Open Podman Desktop dashboard > Containers > <your_container> to see the Container Details page.
    3. Click to generate a Kubernetes pod.
    4. On the Deploy generated pod to Kubernetes screen, choose your options:
      1. Pod Name: edit the proposed name.
      2. Use Kubernetes Services: enable or disable Replace hostPort exposure on containers by Services. It is the recommended way to expose ports, as a cluster policy might prevent to use hostPort.
      3. Kubernetes namespace: select in the list the namespace to deploy the pod to.
    5. Click the Deploy button.

    Verification

    • On the Deploy generated pod to Kubernetes screen, the created pod status is Phase: Running

      Deploying a container

    • Go to Containers: your pod is in the list.

    - + \ No newline at end of file diff --git a/docs/kubernetes/deploying-a-pod-to-kubernetes.html b/docs/kubernetes/deploying-a-pod-to-kubernetes.html index 62edaff1e0d..12f1f1fc5c1 100644 --- a/docs/kubernetes/deploying-a-pod-to-kubernetes.html +++ b/docs/kubernetes/deploying-a-pod-to-kubernetes.html @@ -13,13 +13,13 @@ - +

    Deploying a pod to Kubernetes

    With Podman Desktop, you can deploy a pod to your Kubernetes cluster.

    Prerequisites

    • Your are using the Podman container engine.
    • Your pod, running or stopped, is available on the Pods page: <your_pod>.
    • You registered the Kubernetes cluster in your kubeconfig file: <your_kubernetes_cluster>. For example, Creating a kind cluster.
    • The Kubernetes namespace to deploy to already exists.

    Procedure

    1. Click Podman Desktop tray > Kubernetes > Context > <your_kubernetes_cluster> to set your Kubernetes context.
    2. Open Podman Desktop dashboard > Pods > <your_pod> to see the Pod Details page.
    3. Click to generate a Kubernetes pod.
    4. On the Deploy generated pod to Kubernetes screen, choose your options:
      1. Pod Name: edit the proposed name.
      2. Use Kubernetes Services: enable or disable Replace hostPort exposure on containers by Services. It is the recommended way to expose ports, as a cluster policy might prevent to use hostPort.
      3. Kubernetes namespace: select in the list the namespace to deploy the pod to.
    5. Click the Deploy button.

    Verification

    • On the Deploy generated pod to Kubernetes screen, the created pod status is Phase: Running

      Deplying a pod

    • Go to Pods: your pod is in the list.

    - + \ No newline at end of file diff --git a/docs/kubernetes/kind.html b/docs/kubernetes/kind.html index 23eb18aa09b..ccc60bc36de 100644 --- a/docs/kubernetes/kind.html +++ b/docs/kubernetes/kind.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/kubernetes/kind/building-an-image-and-testing-it-in-kind.html b/docs/kubernetes/kind/building-an-image-and-testing-it-in-kind.html index 51770ea0fab..39b2e177f0e 100644 --- a/docs/kubernetes/kind/building-an-image-and-testing-it-in-kind.html +++ b/docs/kubernetes/kind/building-an-image-and-testing-it-in-kind.html @@ -13,13 +13,13 @@ - +

    Building an image and testing it in Kind

    With Podman Desktop, you can build an image with your container engine, and test it in your local Kind-powered Kubernetes cluster.

    Prerequisites

    • Podman Desktop has access to:
      • A running container engine.
      • A running Kind cluster.
    • A container definition file: Containerfile or Dockerfile.

    Procedure

    1. Build your image:

      1. Open Images > Build an image.
      2. Containerfile path: select your Containerfile or Dockerfile.
      3. Build context directory: optionally, select a directory different from the directory containing your Containerfile or Dockerfile.
      4. Image Name: enter your image name my-custom-image.
      5. Click Build.
      6. Wait for the image build to finish.
      7. Click Done to get back to the images list.
    2. Push your image to your Kind cluster:

      1. Search images: enter your image name my-custom-image to find the image.
      2. Click > Push image to Kind cluster.
    3. Test your image by creating a container:

      1. Click to open the Create a container from image dialog.
      2. Container name: enter my-custom-image-container.
      3. Review the parameters that Podman Desktop has detected from your image definition.
      4. Click Start Container to start the container in your container engine.
    4. Test your image and container on your Kind cluster:

      1. Search containers: enter my-custom-image-container to find the running container.
      2. Click > Deploy to Kubernetes to open the Deploy generated pod to Kubernetes screen.
      3. Pod Name: keep the proposed value my-custom-image-container-pod.
      4. Use Kubernetes Services: select Replace hostPort exposure on containers by Services. It is the recommended way to expose ports, as a cluster policy might prevent to use hostPort.
      5. Expose service locally using Kubernetes Ingress: if your container is exposing at a port, select Create a Kubernetes ingress to get access to the ports that this pod exposes, at the default ingress controller location. Example: on a default Kind cluster created with Podman Desktop: http://localhost:9090. Requirements: your cluster has an ingress controller`.
      6. Optionally, if your container is exposing more than one port, select the port to expose.
      7. Kubernetes namespaces: select default.
      8. Click Deploy.
      9. Wait for the pod to reach the state: Phase: Running.
      10. Click Done.

    Verification

    1. The Pods screen lists the running my-image-container-pod pod.
    2. Click on the pod name to view details and logs.
    3. Optionally, if your container is exposing a port, go to http://localhost:9090: your application is running.
    - + \ No newline at end of file diff --git a/docs/kubernetes/kind/configuring-podman-for-kind-on-windows.html b/docs/kubernetes/kind/configuring-podman-for-kind-on-windows.html index cddc391f5c0..bc0f1cffd13 100644 --- a/docs/kubernetes/kind/configuring-podman-for-kind-on-windows.html +++ b/docs/kubernetes/kind/configuring-podman-for-kind-on-windows.html @@ -13,13 +13,13 @@ - +

    Configuring Podman for Kind on Windows Subsystem for Linux (WSL)

    When you create a Podman machine, Podman creates the machine in rootless mode.

    With a Podman machine running on WSL, Kind:

    • Requires the rootful machine.

    Therefore, set the Podman machine to rootful mode.

    Procedure

    1. Stop the Podman machine:

      $ podman machine stop
    2. Set the Podman machine in rooful mode:

      $ podman machine set --rootful
    3. Start the Podman machine:

      $ podman machine start
    - + \ No newline at end of file diff --git a/docs/kubernetes/kind/creating-a-kind-cluster.html b/docs/kubernetes/kind/creating-a-kind-cluster.html index 7898184c0f5..085c056227c 100644 --- a/docs/kubernetes/kind/creating-a-kind-cluster.html +++ b/docs/kubernetes/kind/creating-a-kind-cluster.html @@ -13,13 +13,13 @@ - +

    Creating a local Kind-powered Kubernetes cluster

    You can create multiple local Kind-powered Kubernetes clusters.

    Prerequisites

    Procedure

    1. Go to Settings > Resources

    2. In the Kind tile, click on the Create new ... button.

    3. Choose your options, and click the Create button.

      The defaults are:

      • Name: kind-cluster
      • Provider type: podman
      • HTTP port: 9090
      • HTTPS port: 9443
    4. (Optionally) Click the Show logs button to display the logs.

    5. After successful creation, click on the Go back to resources button

    Verification

    1. In Settings > Resources, in the Kind tile, your <kind-cluster> instance is running.
    2. In the Podman Desktop tray, open the Kubernetes menu, you can set the context to your Kind cluster: kind-<kind-cluster>.
    - + \ No newline at end of file diff --git a/docs/kubernetes/kind/deleting-your-kind-cluster.html b/docs/kubernetes/kind/deleting-your-kind-cluster.html index 4994bc50605..f7054ff83b1 100644 --- a/docs/kubernetes/kind/deleting-your-kind-cluster.html +++ b/docs/kubernetes/kind/deleting-your-kind-cluster.html @@ -13,13 +13,13 @@ - +
    - + \ No newline at end of file diff --git a/docs/kubernetes/kind/installing-kind.html b/docs/kubernetes/kind/installing-kind.html index ea436050093..4f4a374b408 100644 --- a/docs/kubernetes/kind/installing-kind.html +++ b/docs/kubernetes/kind/installing-kind.html @@ -13,7 +13,7 @@ - + @@ -21,7 +21,7 @@ - + \ No newline at end of file diff --git a/docs/kubernetes/kind/pushing-an-image-to-kind.html b/docs/kubernetes/kind/pushing-an-image-to-kind.html index 4816285e4dd..15ecaaa1c87 100644 --- a/docs/kubernetes/kind/pushing-an-image-to-kind.html +++ b/docs/kubernetes/kind/pushing-an-image-to-kind.html @@ -13,7 +13,7 @@ - + @@ -21,7 +21,7 @@

    Pushing an image to your local Kind-powered Kubernetes cluster

    With Podman Desktop, you can push an image to your local Kind-powered Kubernetes cluster.

    Prerequisites

    Procedure

    1. Open Podman Desktop dashboard > Images.
    2. Search images: <your_image>:<your_tag>.
    3. Click > Push image to Kind cluster.
    4. If you created many Kind clusters, select your Kind cluster from the list.

    Verification

    Kind does not enable you to list loaded images. Therefore, create a Pod that uses the loaded image.

    1. Create a verify_my_image.yaml Kubernetes YAML file on your workstation. Replace the placeholders:

      • Pod name and container name value must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character.
      • Container image value is the image you pushed.
      apiVersion: v1
      kind: Pod
      metadata:
      name: <verify-my-image>
      spec:
      containers:
      - name: <my-image>
      image: <my_image>:<my_tag>
      imagePullPolicy: Never
    2. Open Pods > Play Kubernetes YAML.

      1. Kubernetes YAML file: select your verify_my_image.yaml file.
      2. Select Runtime: Using a Kubernetes cluster.
      3. Click Play.
      4. Clik Done
    3. Open Pods.

    4. Search pods: <verify-my-image>.

    5. The pod Status is Running.

    - + \ No newline at end of file diff --git a/docs/kubernetes/kind/restarting-your-kind-cluster.html b/docs/kubernetes/kind/restarting-your-kind-cluster.html index e4d90dc7edd..aa6ceccf1de 100644 --- a/docs/kubernetes/kind/restarting-your-kind-cluster.html +++ b/docs/kubernetes/kind/restarting-your-kind-cluster.html @@ -13,7 +13,7 @@ - + @@ -22,7 +22,7 @@ Therefore, Podman Desktop stops the Kind cluster, starts it again, and hopes for the best. The Kind cluster might not restart successfully. In that case:

    - + \ No newline at end of file diff --git a/docs/kubernetes/kind/working-with-your-local-kind-cluster.html b/docs/kubernetes/kind/working-with-your-local-kind-cluster.html index da1b6d69c6c..d5711747fe5 100644 --- a/docs/kubernetes/kind/working-with-your-local-kind-cluster.html +++ b/docs/kubernetes/kind/working-with-your-local-kind-cluster.html @@ -13,13 +13,13 @@ - +

    Working with your local Kind-powered Kubernetes cluster

    Set your Kubernetes context to your local Kind-powered Kubernetes cluster.

    Procedure

    1. Open the Podman Desktop tray.
    2. Go to Kubernetes.
    3. Click on the Kubernetes context with the kind prefix.

    Verification

    • The Kubernetes CLI reports that the current context is your cluster with the kind suffix:

      $ kubectl config current-context
    - + \ No newline at end of file diff --git a/docs/kubernetes/minikube.html b/docs/kubernetes/minikube.html index 1fd6c06fce6..c8444190b48 100644 --- a/docs/kubernetes/minikube.html +++ b/docs/kubernetes/minikube.html @@ -13,13 +13,13 @@ - +

    Running Kubernetes on your workstation with Minikube and Podman

    Podman Desktop can help you run Minikube-powered local Kubernetes clusters on a container engine, such as Podman.

    Procedure

    1. Go to Settings > Extensions.
    2. Install the Minikube extension:
      1. Go to Install a new extension from OCI Image
      2. Enter the Name of the Image: ghcr.io/containers/podman-desktop-extension-minikube
      3. Click Install extension from the OCI image
    - + \ No newline at end of file diff --git a/docs/kubernetes/minikube/building-an-image-and-testing-it-in-minikube.html b/docs/kubernetes/minikube/building-an-image-and-testing-it-in-minikube.html index fc36f22f3bb..0e1d5184024 100644 --- a/docs/kubernetes/minikube/building-an-image-and-testing-it-in-minikube.html +++ b/docs/kubernetes/minikube/building-an-image-and-testing-it-in-minikube.html @@ -13,13 +13,13 @@ - +

    Building an image and testing it in Minikube

    With Podman Desktop, you can build an image with your container engine, and test it in your local Minikube-powered Kubernetes cluster.

    Prerequisites

    • Podman Desktop has access to:
      • A running container engine.
      • A running Minikube cluster.
    • A container definition file: Containerfile or Dockerfile.

    Procedure

    1. Build your image:

      1. Open Images > Build an image.
      2. Containerfile path: select your Containerfile or Dockerfile.
      3. Build context directory: optionally, select a directory different from the directory containing your Containerfile or Dockerfile.
      4. Image Name: enter your image name my-custom-image.
      5. Click Build.
      6. Wait for the image build to finish.
      7. Click Done to get back to the images list.
    2. Push your image to your Minikube cluster:

      1. Search images: enter your image name my-custom-image to find the image.
      2. Click > Push image to Minikube cluster.
    3. Test your image by creating a container:

      1. Click to open the Create a container from image dialog.
      2. Container name: enter my-custom-image-container.
      3. Review the parameters that Podman Desktop has detected from your image definition.
      4. Click Start Container to start the container in your container engine.
    4. Test your image and container on your Minikube cluster:

      1. Search containers: enter my-custom-image-container to find the running container.
      2. Click > Deploy to Kubernetes to open the Deploy generated pod to Kubernetes screen.
      3. Pod Name: keep the proposed value my-custom-image-container-pod.
      4. Use Kubernetes Services: select Replace hostPort exposure on containers by Services. It is the recommended way to expose ports, as a cluster policy might prevent to use hostPort.
      5. Expose service locally using Kubernetes LoadBalancer: if your container is exposing a service, you can use minikube service to get a web browser or an URL to use.
      6. Optionally, if your container is exposing more than one port, select the port to expose.
      7. Kubernetes namespaces: select default.
      8. Click Deploy.
      9. Wait for the pod to reach the state: Phase: Running.
      10. Click Done.

    Verification

    1. The Pods screen lists the running my-image-container-pod pod.
    2. Click on the pod name to view details and logs.
    3. Optionally, if your container is exposing a service, go to the server URL: your application is running.
    - + \ No newline at end of file diff --git a/docs/kubernetes/minikube/configuring-podman-for-minikube-on-windows.html b/docs/kubernetes/minikube/configuring-podman-for-minikube-on-windows.html index 5662e422a73..2e2b8de0147 100644 --- a/docs/kubernetes/minikube/configuring-podman-for-minikube-on-windows.html +++ b/docs/kubernetes/minikube/configuring-podman-for-minikube-on-windows.html @@ -13,13 +13,13 @@ - +

    Configuring Podman for Minikube on Windows Subsystem for Linux (WSL)

    When you create a Podman machine, Podman creates the machine in rootless mode.

    With a Podman machine running on WSL, Minikube:

    • Requires a rootful machine.

    Therefore, set the Podman machine to rootful mode.

    Procedure

    1. Stop the Podman machine:

      $ podman machine stop
    2. Set the Podman machine in rooful mode:

      $ podman machine set --rootful
    3. Start the Podman machine:

      $ podman machine start
    - + \ No newline at end of file diff --git a/docs/kubernetes/minikube/creating-a-minikube-cluster.html b/docs/kubernetes/minikube/creating-a-minikube-cluster.html index ef188d57ac9..ae048c85651 100644 --- a/docs/kubernetes/minikube/creating-a-minikube-cluster.html +++ b/docs/kubernetes/minikube/creating-a-minikube-cluster.html @@ -13,13 +13,13 @@ - +

    Creating a local Minikube-powered Kubernetes cluster

    You can create multiple local Minikube-powered Kubernetes clusters.

    Prerequisites

    Procedure

    1. Go to Settings > Resources

    2. In the Minikube tile, click on the Create new ... button.

    3. Choose your options, and click the Create button.

      The defaults are:

      • Name: minikube
      • Driver: podman
      • Container runtime: cri-o
    4. (Optionally) Click the Show logs button to display the logs.

    5. After successful creation, click on the Go back to resources button

    Verification

    1. In Settings > Resources, in the Minikube tile, your <minikube> instance is running.
    2. In the Podman Desktop tray, open the Kubernetes menu, you can set the context to your Minikube cluster: minikube.
    - + \ No newline at end of file diff --git a/docs/kubernetes/minikube/deleting-your-minikube-cluster.html b/docs/kubernetes/minikube/deleting-your-minikube-cluster.html index 173f24c7df2..a0257d80e9b 100644 --- a/docs/kubernetes/minikube/deleting-your-minikube-cluster.html +++ b/docs/kubernetes/minikube/deleting-your-minikube-cluster.html @@ -13,13 +13,13 @@ - +
    - + \ No newline at end of file diff --git a/docs/kubernetes/minikube/installing-minikube.html b/docs/kubernetes/minikube/installing-minikube.html index ea0a534ecae..245621b64a0 100644 --- a/docs/kubernetes/minikube/installing-minikube.html +++ b/docs/kubernetes/minikube/installing-minikube.html @@ -13,7 +13,7 @@ - + @@ -21,7 +21,7 @@ - + \ No newline at end of file diff --git a/docs/kubernetes/minikube/pushing-an-image-to-minikube.html b/docs/kubernetes/minikube/pushing-an-image-to-minikube.html index 66b94c35d3e..8bc6987e969 100644 --- a/docs/kubernetes/minikube/pushing-an-image-to-minikube.html +++ b/docs/kubernetes/minikube/pushing-an-image-to-minikube.html @@ -13,14 +13,14 @@ - +

    Pushing an image to your local Minikube-powered Kubernetes cluster

    With Podman Desktop, you can push an image to your local Minikube-powered Kubernetes cluster.

    Prerequisites

    Procedure

    1. Open Podman Desktop dashboard > Images.
    2. Search images: <your_image>:<your_tag>.
    3. Click > Push image to Minikube cluster.
    4. If you created many Minikube clusters, select your Minikube cluster from the list.

    Verification

    Minikube enables you to list loaded images, using:

    $ minikube image list

    You can also create a Pod that uses the loaded image:

    1. Create a verify_my_image.yaml Kubernetes YAML file on your workstation. Replace the placeholders:

      • Pod name and container name value must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character.
      • Container image value is the image you pushed.
      apiVersion: v1
      kind: Pod
      metadata:
      name: <verify-my-image>
      spec:
      containers:
      - name: <my-image>
      image: <my_image>:<my_tag>
      imagePullPolicy: Never
    2. Open Pods > Play Kubernetes YAML.

      1. Kubernetes YAML file: select your verify_my_image.yaml file.
      2. Select Runtime: Using a Kubernetes cluster.
      3. Click Play.
      4. Clik Done
    3. Open Pods.

    4. Search pods: <verify-my-image>.

    5. The pod Status is Running.

    - + \ No newline at end of file diff --git a/docs/kubernetes/minikube/restarting-your-minikube-cluster.html b/docs/kubernetes/minikube/restarting-your-minikube-cluster.html index 5d5c5fe8cb4..b29c8677f1c 100644 --- a/docs/kubernetes/minikube/restarting-your-minikube-cluster.html +++ b/docs/kubernetes/minikube/restarting-your-minikube-cluster.html @@ -13,7 +13,7 @@ - + @@ -22,7 +22,7 @@ Therefore, Podman Desktop stops the Minikube cluster, and starts it again. The Minikube cluster might not restart successfully. In that case:

    - + \ No newline at end of file diff --git a/docs/kubernetes/minikube/working-with-your-local-minikube-cluster.html b/docs/kubernetes/minikube/working-with-your-local-minikube-cluster.html index ab890663e1c..68ad866f4ee 100644 --- a/docs/kubernetes/minikube/working-with-your-local-minikube-cluster.html +++ b/docs/kubernetes/minikube/working-with-your-local-minikube-cluster.html @@ -13,13 +13,13 @@ - +

    Working with your local Minikube-powered Kubernetes cluster

    Set your Kubernetes context to your local Minikube-powered Kubernetes cluster.

    Procedure

    1. Open the Podman Desktop tray.
    2. Go to Kubernetes.
    3. Click on the Kubernetes context with the minikube name.

    Verification

    • The Kubernetes CLI reports that the current context is your cluster with the minikube name:

      $ kubectl config current-context
    - + \ No newline at end of file diff --git a/docs/kubernetes/openshift.html b/docs/kubernetes/openshift.html index 726aa3fe068..c12088c9fb9 100644 --- a/docs/kubernetes/openshift.html +++ b/docs/kubernetes/openshift.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/kubernetes/openshift/configuring-access-to-a-developer-sandbox.html b/docs/kubernetes/openshift/configuring-access-to-a-developer-sandbox.html index 8ee6d40fd60..68725a656e3 100644 --- a/docs/kubernetes/openshift/configuring-access-to-a-developer-sandbox.html +++ b/docs/kubernetes/openshift/configuring-access-to-a-developer-sandbox.html @@ -13,14 +13,14 @@ - +

    Configuring access to a Developer Sandbox

    The Developer Sandbox is a free, private OpenShift environment including one project and a resource quota of 14 GB RAM, and 40 GB storage. It lasts 30 days.

    With Podman Desktop, you can configure access to your Developer Sandbox instances.

    Prerequisites

    Procedure

    1. Install the Developer Sandbox extension: go to Dashboard, and click Developer Sandbox .
    2. Go to Settings > Resources.
    3. In the Developer Sandbox tile, click Create new.
    4. In the Create a Developer Sandbox screen, click Log into Developer Sandbox.
    5. In the Open external website dialog, click Yes.
    6. In the Developer Sandbox website:
      1. Click Start your sandbox for free
      2. If you never used this service, you might get through a verification workflow.
      3. In the Login with... screen, click DevSandbox.
      4. In your Developer Sandbox Console, click on your login name > Copy login command from the menu.
      5. In the Login with... screen, click DevSandbox.
      6. Click Display Token.
      7. Copy the Log in with this token full login command, similar to: oc login --token=sha256~<token> --server=https://api.sandbox-m2.<sandbox_id>.openshiftapps.com:6443.
    7. Get back to Podman Desktop Create a Developer Sandbox screen.
      1. Context name: Enter a name such as Developer Sandbox.
      2. Login command: Paste the oc login command that you copied previously.
    8. The Creation screen displays Successful operation. Click Go back to Resources.

    Verification

    1. On the Settings > Resources screen, your Developer Sandbox is running.

      Developer Sandbox is running

    2. Select your Developer Sandbox in the Podman Desktop tray

    3. Run basic tasks such as:

    - + \ No newline at end of file diff --git a/docs/kubernetes/openshift/creating-an-openshift-local-cluster.html b/docs/kubernetes/openshift/creating-an-openshift-local-cluster.html index 23c006dd9d8..260e007b2a8 100644 --- a/docs/kubernetes/openshift/creating-an-openshift-local-cluster.html +++ b/docs/kubernetes/openshift/creating-an-openshift-local-cluster.html @@ -13,13 +13,13 @@ - +

    Creating an OpenShift Local instance

    Red Hat OpenShift Local manages a minimal OpenShift or MicroShift cluster on your workstation for local development and testing.

    With Podman Desktop and the OpenShift Local extension, you can manage your OpenShift Local instances.

    Prerequisites

    Procedure

    1. Install the OpenShift Local extension: on to Dashboard, click OpenShift Local .

    2. Install the OpenShift Local binaries, when on the Dashboard, you see Podman Desktop was not able to find an installation of OpenShift Local.

      1. In the OpenShift Local tile, click Install.
      2. When prerequisites are missing, follow the instructions.
      3. In the Red Hat OpenShift Local screen, click Yes to start the installation.
      4. Follow the installation program instructions.
      5. Reboot to finalize system changes.
    3. (Optionally) Review the extension settings in Settings > Preferences > Extension: Red Hat OpenShift Local.

    4. On the Dashboard, click Initialize and start.

      1. Select your OpenShift Local Virtual machine preset, if not set in Settings > Preferences > Extension: Red Hat OpenShift Local > Preset.

        • MicroShift (experimental): provides a lightweight and optimized environment with a limited set of services.
        • OpenShift: provides a single node OpenShift cluster with a fuller set of services, including a web console (requires more resources).
      2. Provide a pull secret, required to pull container images from the registry:

        1. Open the Red Hat OpenShift Local download page.
        2. Click Copy pull secret.
        3. Get back to Podman Desktop.
        4. Paste the pull secret, and press Enter.

    Verification

    1. On the Dashboard screen, OpenShift Local is running.

    2. On the Settings > Resources screen, your OpenShift Local instance is running.

      Developer Sandbox is running

    3. Select your OpenShift Local instance the Podman Desktop tray.

    4. Run basic tasks such as:

    Additional resources

    - + \ No newline at end of file diff --git a/docs/kubernetes/viewing-and-selecting-current-kubernete-context.html b/docs/kubernetes/viewing-and-selecting-current-kubernete-context.html index 562bad0ff03..4b54c5d3b1c 100644 --- a/docs/kubernetes/viewing-and-selecting-current-kubernete-context.html +++ b/docs/kubernetes/viewing-and-selecting-current-kubernete-context.html @@ -13,14 +13,14 @@ - +

    Viewing and selecting the current Kubernetes context

    With Podman Desktop, you can view and select your current Kubernetes context.

    Prerequisites

    • You have a Kubernetes context in your kubeconfig file: <your_kubernetes_cluster>. For example, Creating a kind cluster.

    Procedure

    1. Open the Podman Desktop tray menu.

      In the task bar, click Show hidden icons.

      Podman Desktop tray

      Right-click the Podman Desktop tray icon to open the menu.

      Podman Desktop tray

    2. Click Kubernetes to see your current Kubernetes context.

      Podman Desktop tray

    3. (Optionally) To change your Kubernetes context, click on the context name to activate.

    - + \ No newline at end of file diff --git a/docs/migrating-from-docker.html b/docs/migrating-from-docker.html index b74daebfdf9..cd2bbfdfb1f 100644 --- a/docs/migrating-from-docker.html +++ b/docs/migrating-from-docker.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/migrating-from-docker/emulating-docker-cli-with-podman.html b/docs/migrating-from-docker/emulating-docker-cli-with-podman.html index 0ee347c36bc..c59f69a5fca 100644 --- a/docs/migrating-from-docker/emulating-docker-cli-with-podman.html +++ b/docs/migrating-from-docker/emulating-docker-cli-with-podman.html @@ -13,14 +13,14 @@ - +

    Emulating Docker CLI with Podman

    Consider emulating Docker CLI with Podman to migrate transparently to Podman.

    • Continue using familiar Docker commands.
    • Take advantage of the benefits of Podman on macOS.
    • Your tools, such as Maven or Testcontainers, communicate with Podman without reconfiguration.

    Prerequisites

    • Podman

    Procedure

    1. Create a /usr/local/bin/docker script:

      #!/usr/bin/sh
      [ -e /etc/containers/nodocker ] || \
      echo "Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg." >&2
      exec podman "$@"
    2. (Optional) Create an empty /etc/containers/nodocker file to avoid the Emulate Docker CLI using podman. message when running the script.

      # touch /etc/containers/nodocker
    3. Make the script executable:

      # chmod +x /usr/local/bin/docker

    Verification

    • Use the docker script to run commands. Example:

      $ docker run -it docker.io/hello-world
    - + \ No newline at end of file diff --git a/docs/migrating-from-docker/importing-saved-containers.html b/docs/migrating-from-docker/importing-saved-containers.html index a51c539d8eb..0c9e138b0c1 100644 --- a/docs/migrating-from-docker/importing-saved-containers.html +++ b/docs/migrating-from-docker/importing-saved-containers.html @@ -13,14 +13,14 @@ - +

    Importing saved containers to Podman

    Consider importing saved containers to continue using familiar containers.

    Prerequisites

    • Podman

    • You saved your existing containers by running the command:

      $ podman save <your_container> > <your_container_archive>.tar

    Procedure

    • Import your existing containers into Podman. Run the command for each container archive:

      $ podman import <your_container_archive>.tar

    Verification

    • Your imported containers appear in the Podman Desktop Images section.

    Additional resources

    - + \ No newline at end of file diff --git a/docs/migrating-from-docker/using-podman-mac-helper.html b/docs/migrating-from-docker/using-podman-mac-helper.html index f405850f90e..481af63212e 100644 --- a/docs/migrating-from-docker/using-podman-mac-helper.html +++ b/docs/migrating-from-docker/using-podman-mac-helper.html @@ -13,7 +13,7 @@ - + @@ -22,7 +22,7 @@ The service redirects /var/run/docker to the fixed user-assigned UNIX socket location.

    Prerequisites

    Procedure

    • Set up the podman-mac-helper service for each user. Run the command:

      sudo podman-mac-helper install

      For additional install options please run the command:

      sudo podman-mac-helper install --help

    Verification

    1. Your tools communicating to the Docker socket, such as Maven or Testcontainers, communicate with Podman without reconfiguration.

    2. Use the podman-mac-helper tool to run commands. To run a command with Podman by using the podman-mac-helper tool, prefix the command with podman-mac-helper.

      Example:

      $ podman-mac-helper run -it <your_container> bash

    Additional resources

    - + \ No newline at end of file diff --git a/docs/migrating-from-docker/using-the-docker_host-environment-variable.html b/docs/migrating-from-docker/using-the-docker_host-environment-variable.html index 61cb5bda341..3c3ead91fc8 100644 --- a/docs/migrating-from-docker/using-the-docker_host-environment-variable.html +++ b/docs/migrating-from-docker/using-the-docker_host-environment-variable.html @@ -13,13 +13,13 @@ - +

    Using the DOCKER_HOST environment variable

    Consider using the DOCKER_HOST environment variable to migrate transparently from Docker to Podman Desktop on all platforms.

    • Continue using familiar Docker commands.
    • Take advantage of the benefits of Podman.
    • Your tools, such as Gradle or Testcontainers, communicate with Podman without reconfiguration.

    Prerequisites

    • Podman

    Procedure

    1. Identify the location of your Podman socket

      $ podman machine inspect --format '{{.ConnectionInfo.PodmanSocket.Path}}'
    2. Set the DOCKER_HOST environment variable to your Podman socket location:

      $ export DOCKER_HOST=<your_podman_socket_location>

    Verification

    • Your tools using the DOCKER_HOST environment variable, such as Gradle or Testcontainers, communicate with Podman without reconfiguration.
    - + \ No newline at end of file diff --git a/docs/migrating-from-docker/verifying-your-tools-are-using-podman.html b/docs/migrating-from-docker/verifying-your-tools-are-using-podman.html index 2b2bcad64dc..623c8ea8cff 100644 --- a/docs/migrating-from-docker/verifying-your-tools-are-using-podman.html +++ b/docs/migrating-from-docker/verifying-your-tools-are-using-podman.html @@ -13,13 +13,13 @@ - +

    Verifying that your tools are using Podman

    When you have configured your host to use Podman rather then Docker, consider verifying your setup works as intended.

    Prerequisites

    Procedure

    1. The Docker socket replies successfully for listing all containers:

      $ curl --unix-socket npipe:////./pipe/docker_engine "http:/v1.41/containers/json?all=true"
    2. Podman commands run successfully when redirected to the Docker socket:

      $ CONTAINER_HOST=npipe:////./pipe/docker_engine podman ps
    - + \ No newline at end of file diff --git a/docs/tags.html b/docs/tags.html index 5840c52577b..6e1c94dd9bd 100644 --- a/docs/tags.html +++ b/docs/tags.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/tags/chocolatey.html b/docs/tags/chocolatey.html index b47bf92840c..cf09b190b65 100644 --- a/docs/tags/chocolatey.html +++ b/docs/tags/chocolatey.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/tags/extension.html b/docs/tags/extension.html index b52caf522fc..2a4cc5ff9bb 100644 --- a/docs/tags/extension.html +++ b/docs/tags/extension.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/tags/flathub.html b/docs/tags/flathub.html index c06da2e822f..e3457d19de6 100644 --- a/docs/tags/flathub.html +++ b/docs/tags/flathub.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/tags/flatpak.html b/docs/tags/flatpak.html index fc24730e495..c1696b142f1 100644 --- a/docs/tags/flatpak.html +++ b/docs/tags/flatpak.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/tags/getting-started.html b/docs/tags/getting-started.html index c3a1dc6d698..2c310baab09 100644 --- a/docs/tags/getting-started.html +++ b/docs/tags/getting-started.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/tags/images.html b/docs/tags/images.html index 67bdfb374cd..06c0bc62e96 100644 --- a/docs/tags/images.html +++ b/docs/tags/images.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/tags/installing.html b/docs/tags/installing.html index dcd375b03f3..37d2271327e 100644 --- a/docs/tags/installing.html +++ b/docs/tags/installing.html @@ -13,13 +13,13 @@ - +

    13 docs tagged with "installing"

    View All Tags

    Linux

    You can install Podman Desktop on Linux from Flathub, a Flatpak bundle, or a ZIP archive.

    - + \ No newline at end of file diff --git a/docs/tags/kind.html b/docs/tags/kind.html index f8cfb527c43..b2b42a3218c 100644 --- a/docs/tags/kind.html +++ b/docs/tags/kind.html @@ -13,13 +13,13 @@ - +

    7 docs tagged with "kind"

    View All Tags
    - + \ No newline at end of file diff --git a/docs/tags/linux.html b/docs/tags/linux.html index 04800879149..e242926183c 100644 --- a/docs/tags/linux.html +++ b/docs/tags/linux.html @@ -13,13 +13,13 @@ - +

    4 docs tagged with "linux"

    View All Tags

    Linux

    You can install Podman Desktop on Linux from Flathub, a Flatpak bundle, or a ZIP archive.

    - + \ No newline at end of file diff --git a/docs/tags/mac-0-s.html b/docs/tags/mac-0-s.html index 4b0e847d0f2..5fceb24cd7b 100644 --- a/docs/tags/mac-0-s.html +++ b/docs/tags/mac-0-s.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/tags/mac-os.html b/docs/tags/mac-os.html index 5ee96e044b8..6371d121282 100644 --- a/docs/tags/mac-os.html +++ b/docs/tags/mac-os.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/tags/macos.html b/docs/tags/macos.html index 5177b5d9144..63cf12cbd7b 100644 --- a/docs/tags/macos.html +++ b/docs/tags/macos.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/tags/migrating-from-docker.html b/docs/tags/migrating-from-docker.html index a4b0c577673..9e791cffab5 100644 --- a/docs/tags/migrating-from-docker.html +++ b/docs/tags/migrating-from-docker.html @@ -13,13 +13,13 @@ - +

    6 docs tagged with "migrating-from-docker"

    View All Tags

    Emulating Docker CLI with Podman

    Emulation Docker CLI with Podman can make it easier to migrate from Docker to Podman, as it allows you to continue using familiar Docker commands while taking advantage of the benefits of Podman.

    Using `podman-mac-helper` on macOS

    Using the `podman-mac-helper` tool can make it easier to migrate from Docker to Podman on macOS, as it allows you to continue using familiar Docker commands while taking advantage of the benefits of Podman.

    Using the `DOCKER_HOST` environment variable

    Using the `DOCKER_HOST` environment variable can make it easier to migrate from Docker to Podman Desktop, as it allows you to continue using familiar Docker commands while taking advantage of the benefits of Podman.

    - + \ No newline at end of file diff --git a/docs/tags/migrating-to-kubernetes.html b/docs/tags/migrating-to-kubernetes.html index 707213e8e36..8f6731488a6 100644 --- a/docs/tags/migrating-to-kubernetes.html +++ b/docs/tags/migrating-to-kubernetes.html @@ -13,13 +13,13 @@ - +

    27 docs tagged with "migrating-to-kubernetes"

    View All Tags

    Kubernetes

    Migrate transparently from Podman to Kubernetes, and continue using familiar workflows.

    - + \ No newline at end of file diff --git a/docs/tags/minikube.html b/docs/tags/minikube.html index 878e7ec4b52..253ff6ea800 100644 --- a/docs/tags/minikube.html +++ b/docs/tags/minikube.html @@ -13,13 +13,13 @@ - +

    7 docs tagged with "minikube"

    View All Tags
    - + \ No newline at end of file diff --git a/docs/tags/openshift-local.html b/docs/tags/openshift-local.html index 0d3803c87de..f39dbdaca5c 100644 --- a/docs/tags/openshift-local.html +++ b/docs/tags/openshift-local.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/tags/openshift.html b/docs/tags/openshift.html index e35916f4f5c..4742dfcc798 100644 --- a/docs/tags/openshift.html +++ b/docs/tags/openshift.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/tags/podman-desktop.html b/docs/tags/podman-desktop.html index e8b8c89042a..a0c07011043 100644 --- a/docs/tags/podman-desktop.html +++ b/docs/tags/podman-desktop.html @@ -13,13 +13,13 @@ - +

    16 docs tagged with "podman-desktop"

    View All Tags

    Linux

    You can install Podman Desktop on Linux from Flathub, a Flatpak bundle, or a ZIP archive.

    Writing

    Writing a Podman Desktop extension

    - + \ No newline at end of file diff --git a/docs/tags/podman.html b/docs/tags/podman.html index 0eeca997584..e55dd14e634 100644 --- a/docs/tags/podman.html +++ b/docs/tags/podman.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/tags/pods.html b/docs/tags/pods.html index a4a7090ea69..cb40bdc2569 100644 --- a/docs/tags/pods.html +++ b/docs/tags/pods.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/tags/publishing.html b/docs/tags/publishing.html index bedbe7294ea..b2532c3b641 100644 --- a/docs/tags/publishing.html +++ b/docs/tags/publishing.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/tags/restricted-environment.html b/docs/tags/restricted-environment.html index 5cb4903e639..647dde31659 100644 --- a/docs/tags/restricted-environment.html +++ b/docs/tags/restricted-environment.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/tags/scoop.html b/docs/tags/scoop.html index 03853aa030c..aeb5b18a343 100644 --- a/docs/tags/scoop.html +++ b/docs/tags/scoop.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/tags/windows.html b/docs/tags/windows.html index e619179ee74..618f27caa6c 100644 --- a/docs/tags/windows.html +++ b/docs/tags/windows.html @@ -13,13 +13,13 @@ - +

    10 docs tagged with "windows"

    View All Tags
    - + \ No newline at end of file diff --git a/docs/tags/winget.html b/docs/tags/winget.html index 3375037dadb..6839e299424 100644 --- a/docs/tags/winget.html +++ b/docs/tags/winget.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/tags/writing.html b/docs/tags/writing.html index f83627d0966..9c335e4f09e 100644 --- a/docs/tags/writing.html +++ b/docs/tags/writing.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/docs/troubleshooting.html b/docs/troubleshooting.html index 24fb58fc8e8..70bbfafe7b9 100644 --- a/docs/troubleshooting.html +++ b/docs/troubleshooting.html @@ -13,7 +13,7 @@ - + @@ -25,7 +25,7 @@ So, please check your version and update.

    On Windows, the named pipe is

    Explanation

    The Podman Installer and Homebrew use different locations to store the Podman Engine files in the file system. For example, Podman Installer installs Podman Engine in the path /opt/podman whereas Homebrew uses the path /usr/local for macOS Intel, /opt/homebrew for Apple Silicon and /home/linuxbrew/.linuxbrew for Linux.

    Solution

    To check where exactly is your Podman Engine installed, run the command-

    which podman

    This returns the path where the Podman Engine would be installed. This would help determine further action.

    For example, if you’re looking to completely uninstall Podman Engine from your system for a fresh installation, running which podman returns the exact path where Podman still exists. This could be the path where Podman Installer stores Podman Engine i.e. /opt/podman. Once you know the path, run:

    sudo rm -rf /opt/podman

    Or

    sudo rm -rf path-where-podman-exists

    Here, you would replace path-where-podman-exists with the output of which podman.

    You can now proceed for a fresh installation of Podman Desktop

    Unable to see information about active containers

    Issue

    In this scenario, the screen may be displaying "No Containers" as shown below despite active containers runnning in the background. img

    Solution

    There are three ways to work this out.

    1. To solve this issue, open the Terminal and run the following commands-

      podman machine stop
      podman machine start
    2. If this does not work for you, you might proceed with the following commands-

      $ podman machine rm
      $ podman machine init
    3. If both of the abovementioned steps don't work for you, run the following commands-

      $ rm -rf ~/.local/share/containers/podman
      $ rm -rf ~/.config/containers/

      After this, you can start off again by initializing a new Podman Machine and loading up the containers.

    Unable to set custom binary path for Podman on macOS

    Issue

    When setting a custom binary path (under Preferences -> Custom binary path), Podman is unable to find gvproxy and podman-mac-helper:

    Error: unable to start host networking: "could not find \"gvproxy\" in one of [/usr/local/opt/podman/libexec /opt/homebrew/bin /opt/homebrew/opt/podman/libexec /usr/local/bin /usr/local/libexec/podman /usr/local/lib/podman /usr/libexec/podman /usr/lib/podman $BINDIR/../libexec/podman].  To resolve this error, set the helper_binaries_dir key in the `[engine]` section of containers.conf to the directory containing your helper binaries."

    Solution

    1. Download gvproxy from the gvisor-tap-vsock release page.
    2. Build the podman-mac-helper from the source code on the Podman GitHub page.
    3. Add the helpers_binaries_dir entry to ~/.config/containers/conf:
    [containers]

    helper_binaries_dir=["/Users/user/example_directory"]

    NOTE: A pre-built binary will be added to the Podman release page so you do not have to build podman-mac-helper. An issue is open for this.

    Warning about Docker compatibility mode

    Issue

    When running the Podman provider, a warning shows regarding Docker compatibility mode on the dashboard:

    ⚠️ Docker Socket Compatibility: Podman is not emulating the default Docker socket path: '/var/run/docker.sock'. Docker-specific tools may not work. See troubleshooting page on podman-desktop.io for more information.

    This may appear when either:

    • The Docker socket is not mounted correctly
    • Docker Desktop is also being ran at the same time

    Solution

    On macOS:

    1. Stop Docker Desktop (if install)

    2. Run the podman-mac-helper binary:

      sudo podman-mac-helper install

      for additional options please run the command:

      sudo podman-mac-helper install --help
    3. Restart the Podman machine (the default Docker socket path will be recreated and Podman will emulate it)

    On Linux / Windows:

    1. Stop Docker Desktop (if installed)
    2. Restart the Podman machine (the default Docker socket path will be recreated and Podman will emulate it)

    Note: If Docker Desktop is started again, it will automatically re-alias the default Docker socket location and the Podman compatibilty warning will re-appear.

    Code Ready Containers

    • Check that Podman preset is defined. (crc config get preset)
    • Check that crc binary is available in the user PATH (/usr/local/bin/crc)
    • Check that crc setup --check-only is running without errors.

    Other Issues

    Fixing corrupted Podman Machine in Windows

    If at all you are not able to stop your Podman Machine, you will find such an error in the Logs- Error: Error stopping sysd: exit status 1

    It is highly unlikely that you may be stuck in such a situation but if you are, here's a quick fix for it.

    Assuming the name of the Podman Machine to be my-machine, run the following commands in the terminal:

    wsl --list

    This shall display a list of active distributions i.e. my-machine in this case.

    Then,

    wsl --unregister my-machine

    (Replacing my-machine with the name that is displayed under wsl --list for your Podman Machine)

    This will stop the Podman Machine for you.

    Podman machine on Apple Silicon

    Issue

    If you are using an Apple Silicon and brew, you might encounter the following error when starting Podman from Podman Desktop

    Error: qemu exited unexpectedly with exit code 1, stderr: qemu-system-x86_64: invalid accelerator hvf
    qemu-system-x86_64: falling back to tcg
    qemu-system-x86_64: unable to find CPU model 'host'

    Explanation

    Podman machine is running as a x86_64 process and it could be due to a dual install of homebrew: one for x86_64 and one for arm64.

    Solution

    You can

    1. Uninstall Podman machine on your x86_64 brew install (for example from a terminal running under rosetta) brew uninstall podman-machine
    2. or uninstall brew x86_64 as most brew receipe have now arm64 support: follow these instructions from a terminal running under rosetta

    Then run a terminal in native mode (default) and install Podman machine brew install podman-machine

    Finally clean the Podman machine VMs that had been previously created, and create new ones.

    $ podman machine rm podman-machine-default
    $ podman machine init

    You should be a happy camper from here.

    The terminal session attaches to Podman Desktop when launching it from the command line in Windows

    Issue

    When you start Podman Desktop from the command line in Windows the terminal session attaches to it. You cannot quit the terminal because it will kill Podman Desktop as well.

    Solution

    Set the environment variable ELECTRON_NO_ATTACH_CONSOLE to true before launching Podman Desktop.

    - + \ No newline at end of file diff --git a/downloads.html b/downloads.html index d3a460f372a..1c0f468a910 100644 --- a/downloads.html +++ b/downloads.html @@ -13,13 +13,13 @@ - +

    Downloads

    Windows

    Podman Desktop for Windows

    Download NowWindows installer, version

    Using winget? Install in one command:

    winget install -e --id RedHat.Podman-Desktop

    macOS

    Podman Desktop for macOS

    Download NowUniversal *.dmg, version

    Using Brew? Install in one command:

    brew install podman-desktop

    Linux

    Podman Desktop for Linux

    Download NowLinux *.flatpak, version
    Other Linux downloads:
    AMD64 binary (tar.gz)

    Using Flathub ? Install in one command:

    flatpak install flathub io.podman_desktop.PodmanDesktop
    - + \ No newline at end of file diff --git a/downloads/linux.html b/downloads/linux.html index e626f92cb0f..105d3f4affd 100644 --- a/downloads/linux.html +++ b/downloads/linux.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/downloads/macOS.html b/downloads/macOS.html index a0a984255d1..adc915a7827 100644 --- a/downloads/macOS.html +++ b/downloads/macOS.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/downloads/windows.html b/downloads/windows.html index a02df516a31..7f7f3788f63 100644 --- a/downloads/windows.html +++ b/downloads/windows.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file diff --git a/extend.html b/extend.html index afdb2124187..6a3c072ce69 100644 --- a/extend.html +++ b/extend.html @@ -13,13 +13,13 @@ - +

    Extend capabilities with Docker Desktop extensions.

    Podman Desktop is able to use Docker Desktop UI plug-ins by adding a wrapper to intercept the API calls.

    By adding a Docker Desktop extension, you can extend the capabilities of Podman Desktop.

    Extend with Docker Desktop extensionsExtend with Docker Desktop extensionsReuse Docker Desktop extensionsReuse Docker Desktop extensions

    Extend capabilities with Podman Desktop plug-ins.

    Podman Desktop is using plug-ins under the hood to manage the different container engine.

    By adding a new plugin, you can extend the capabilities of Podman Desktop.

    For example plug a new container Engine likes Podman, Docker, Lima, etc.

    Extensibility diagramExtensibility diagram

    Extensions are written in JavaScript/Typescript
    It consumes a TypeScript definition of the extension model.

    More extension points

    Several extension points exists in addition to adding a Provider connection.

    User interaction, dialogs, launching commands are among the possible ways to extend Podman Desktop

    - + \ No newline at end of file diff --git a/features.html b/features.html index 971a164b7fc..2dacdba3821 100644 --- a/features.html +++ b/features.html @@ -13,13 +13,13 @@ - +

    Manage containers

    List, Search, Inspect, Connect, Run and Stop containers.

    Manage containersManage containers
    Pull image and manage registriesPull image and manage registries

    Build, Pull and Push images

    Build images from the tool.

    Pull and push images by managing registries.

    Run containers from these images

    Management from the tray icon

    Check status and start/stop container engines.

    Create new machine if needed as well as start or stop Podman machines directly from the tray icon.

    Quickly check activity status and stay updated without losing focus from other tasks.

    Manage Podman MachineManage Podman Machine
    Manage Podman MachineManage Podman Machine

    Manage Podman resources

    View allocated memory, CPU and storage.

    Create new machine if needed

    Create and start Pods with Podman

    Select containers to run as a Pod.

    Play Kubernetes YAML locally without Kubernetes.

    Generate Kubernetes YAML from Pods.

    Manage PodsManage Pods
    Pull image and manage registriesPull image and manage registries

    Import Docker Desktop extensions

    Specify OCI image of a Docker Desktop extension to import it.

    For example: security scanner or deploy to OpenShift extensions.

    - + \ No newline at end of file diff --git a/index.html b/index.html index fe203ca01b5..1d661e9a125 100644 --- a/index.html +++ b/index.html @@ -13,13 +13,13 @@ - +

    Containers and Kubernetes for application developers

    Podman Desktop is an open source graphical tool enabling you to seamlessly work with containers and Kubernetes from your local environment.

    Podman Desktop home page

    Available on Windows, Mac and Linux

    Use the same UI across different operating systems

    Windows

    exe or setup.exe

    macOS

    arm64, x64 or unified dmg

    brew install podman-desktop

    Linux

    Flatpak or AMD64 binary (tar.gz)

    features

    Build, run and manage containers.

    Build

    Build images from Containerfile or Dockerfile

    Run

    Pull images from remote registries

    Start / Stop / Restart containers

    Inspect

    Get a terminal in your container

    Inspect logs

    Push

    Push images to OCI registries

    Deploy & Test images on Kubernetes

    features

    Work with Pods and Kubernetes

    Working with pods

    Create Pods from existing containers

    Create, start, inspect and manage pods

    Working with Kubernetes

    Play Kubernetes YAML directly with Podman Engine

    Generate Kubernetes YAML from pods

    Deploy to existing Kubernetes environments

    Running Kubernetes on your workstation with Kind and Podman

    Configure

    Multiple configuration options

    Registries

    Manage OCI registries. Add/edit/delete registries.

    Proxy

    Configure your proxy settings.

    Resources Utilization

    Configure CPU/Memory/Disk of Podman machines.

    Container Engines

    Handle multiple container engines at the same time: Podman, Docker, and Lima.

    extensibility

    Bring new features with Podman Desktop plug-ins or Docker Desktop Extensions.

    • Container engines are plugged through extension points
    • JavaScript extensions can contribute new behaviour
    • Reuse existing extensions such as Trivy and OpenShift directly in Podman Desktop

    Current Podman Desktop plugins: Podman, Docker, Lima, Kubernetes, and OpenShift Local with the Podman preset.

    Reuse Docker Desktop extensionsReuse Docker Desktop extensions

    update

    Install and keep up to date Podman

    Install Podman and other dependencies directly from Podman Desktop if not yet installed.

    Check for updates and get notified about new changes.

    Available on Windows and macOS!

    enterprise

    Enterprise ready

    Match configuration options.

    Code signing

    Signed binaries for both macOS and Windows

    Proxy

    Configure proxy within the tool. Avoid any painful files to edit.

    Registries

    Manage OCI registries. Add/edit/delete registries.

    - + \ No newline at end of file diff --git a/search.html b/search.html index 3f80154d784..8c5e71a8e1f 100644 --- a/search.html +++ b/search.html @@ -13,13 +13,13 @@ - + - + \ No newline at end of file