2023-03-16 17:47:47 +00:00
{
"name" : "compose" ,
"displayName" : "Compose" ,
2023-04-24 20:18:30 +00:00
"description" : "Install Compose binary to work with Podman" ,
2025-11-12 14:17:22 +00:00
"version" : "1.24.0-next" ,
2023-10-05 17:31:59 +00:00
"icon" : "icon.png" ,
2023-04-24 20:18:30 +00:00
"publisher" : "podman-desktop" ,
2023-03-16 17:47:47 +00:00
"license" : "Apache-2.0" ,
"engines" : {
"podman-desktop" : "^0.0.1"
} ,
"main" : "./dist/extension.js" ,
"contributes" : {
"commands" : [
{
"command" : "compose.install" ,
2023-09-15 14:12:27 +00:00
"title" : "Compose: Install..."
} ,
{
"command" : "compose.checks" ,
"title" : "Compose: Checks..."
2023-10-18 19:47:21 +00:00
} ,
{
2023-11-23 01:02:44 +00:00
"command" : "compose.onboarding.checkDownloadedCommand" ,
2023-10-25 11:57:10 +00:00
"title" : "Compose: Check Compose Downloaded"
2023-10-18 19:47:21 +00:00
} ,
{
2023-11-23 01:02:44 +00:00
"command" : "compose.onboarding.downloadCommand" ,
2023-10-25 11:57:10 +00:00
"title" : "Compose: Download Compose"
2023-03-16 17:47:47 +00:00
}
2023-10-05 17:31:59 +00:00
] ,
"onboarding" : {
"title" : "Compose Setup" ,
2025-02-27 06:13:15 +00:00
"priority" : 60 ,
2023-10-05 17:31:59 +00:00
"enablement" : "!compose.isComposeInstalledSystemWide" ,
"steps" : [
{
2023-11-23 01:02:44 +00:00
"id" : "checkDownloadedCommand" ,
2023-10-18 19:47:21 +00:00
"label" : "Check Compose" ,
"title" : "Checking for Compose installation" ,
2023-11-23 01:02:44 +00:00
"command" : "compose.onboarding.checkDownloadedCommand" ,
2025-06-18 07:15:08 +00:00
"completionEvents" : [
"onCommand:compose.onboarding.checkDownloadedCommand"
]
2023-10-18 19:47:21 +00:00
} ,
2025-09-29 17:45:36 +00:00
{
"id" : "podmanComposeInstalledView" ,
"title" : "Found podman-compose installed" ,
"when" : "compose.isPodmanComposeInstalledSystemWide && !compose.isComposeInstalledSystemWide" ,
"content" : [
[
{
"value" : "#### We detected `podman-compose` binary being installed. It won't try to install docker-compose on your system. Unless you remove first podman-compose."
}
]
]
} ,
2023-10-18 19:47:21 +00:00
{
2023-11-23 01:02:44 +00:00
"id" : "welcomeDownloadView" ,
2023-10-25 11:57:10 +00:00
"label" : "Compose Download" ,
2024-03-07 15:35:57 +00:00
"title" : "Compose download" ,
2025-09-29 17:45:36 +00:00
"when" : "!compose.isComposeInstalledSystemWide && !compose.isPodmanComposeInstalledSystemWide && onboardingContext:composeIsNotDownloaded" ,
2023-10-18 19:47:21 +00:00
"content" : [
[
{
2023-12-06 15:51:51 +00:00
"value" : "Podman Desktop provides optional command line support for Compose files with Podman."
2023-10-18 19:47:21 +00:00
}
] ,
[
{
2025-06-26 15:39:41 +00:00
"value" : "> ℹ ️ **Note:** If you would like to use `docker compose up` or `docker-compose` with Podman, [enable Docker Compatibility](/preferences/default/preferences.dockerCompatibility)." ,
2023-10-18 19:47:21 +00:00
"highlight" : true
}
] ,
[
{
2023-10-25 11:57:10 +00:00
"value" : "Compose will be downloaded in the next step (Version ${onboardingContext:composeDownloadVersion}). :link[Want to download a different version?]{command=compose.onboarding.promptUserForVersion}" ,
"when" : "!onboardingContext:composeShowCustomDownloadDialog"
2023-10-18 19:47:21 +00:00
}
]
]
} ,
{
2023-11-23 01:02:44 +00:00
"id" : "downloadCommand" ,
2023-10-25 11:57:10 +00:00
"title" : "Downloading Compose ${onboardingContext:composeDownloadVersion}" ,
"description" : "Downloading the binary.\n\nOnce downloaded, the next step will install Compose system-wide." ,
2025-09-29 17:45:36 +00:00
"when" : "!compose.isComposeInstalledSystemWide && !compose.isPodmanComposeInstalledSystemWide && !compose.isPodmanComposeInstalledSystemWide && onboardingContext:composeIsNotDownloaded" ,
2023-11-23 01:02:44 +00:00
"command" : "compose.onboarding.downloadCommand" ,
2025-06-18 07:15:08 +00:00
"completionEvents" : [
"onCommand:compose.onboarding.downloadCommand"
]
2023-10-18 19:47:21 +00:00
} ,
{
2023-11-23 01:02:44 +00:00
"id" : "downloadFailure" ,
2024-03-07 15:35:57 +00:00
"title" : "Failed downloading Compose" ,
2025-09-29 17:45:36 +00:00
"when" : "!compose.isComposeInstalledSystemWide && !compose.isPodmanComposeInstalledSystemWide && onboardingContext:composeIsNotDownloaded" ,
2023-10-18 19:47:21 +00:00
"state" : "failed"
} ,
{
2023-11-23 01:02:44 +00:00
"id" : "downloadSuccessfulView" ,
2024-03-07 15:35:57 +00:00
"title" : "Compose successfully Downloaded" ,
2025-09-29 17:45:36 +00:00
"when" : "!compose.isComposeInstalledSystemWide && !compose.isPodmanComposeInstalledSystemWide && !onboardingContext:composeIsNotDownloaded" ,
2023-10-05 17:31:59 +00:00
"content" : [
2023-10-18 19:47:21 +00:00
[
{
2023-10-25 11:57:10 +00:00
"value" : "Compose has been successfully downloaded! In order for `podman compose` (podman CLI v4.7.0+) to work correctly, it is required for Compose to be installed system-wide for `podman` to access the binary.\n\nThe next step will install Compose system-wide. **You will be prompted for system privileges when enabling this.**"
2023-10-18 19:47:21 +00:00
}
2023-10-25 11:57:10 +00:00
]
]
} ,
{
2023-11-23 01:02:44 +00:00
"id" : "installSystemWideCommand" ,
2023-10-25 11:57:10 +00:00
"title" : "Install Compose" ,
"description" : "Installing the binary system-wide.\n\n You may be prompted for elevated system privileges." ,
2025-09-29 17:45:36 +00:00
"when" : "!compose.isComposeInstalledSystemWide && !compose.isComposeInstalledSystemWide && !compose.isPodmanComposeInstalledSystemWide" ,
2023-11-23 01:02:44 +00:00
"command" : "compose.onboarding.installSystemWideCommand" ,
2025-06-18 07:15:08 +00:00
"completionEvents" : [
"onCommand:compose.onboarding.installSystemWideCommand"
]
2023-10-25 11:57:10 +00:00
} ,
{
2023-11-23 01:02:44 +00:00
"id" : "installSystemWideFailure" ,
2024-03-07 15:35:57 +00:00
"title" : "Failed installing Compose" ,
2025-09-29 17:45:36 +00:00
"when" : "!compose.isComposeInstalledSystemWide && !compose.isComposeInstalledSystemWide && !compose.isPodmanComposeInstalledSystemWide" ,
2023-10-25 11:57:10 +00:00
"state" : "failed"
} ,
{
2023-11-23 01:02:44 +00:00
"id" : "installSystemWideSuccess" ,
2024-03-07 15:35:57 +00:00
"title" : "Compose installed" ,
2023-12-22 14:48:50 +00:00
"when" : "compose.isComposeInstalledSystemWide" ,
2023-11-22 13:55:18 +00:00
"state" : "completed" ,
2023-10-25 11:57:10 +00:00
"content" : [
2023-10-18 19:47:21 +00:00
[
{
2023-10-25 11:57:10 +00:00
"value" : "#### How to use Compose\nRun `podman compose up` (podman CLI v4.7.0+) or `docker-compose` in a directory with a `compose.yaml`. Podman Desktop will automatically detect the Compose deployment and show it in the container list.'\n\n`$ podman compose up`" ,
"highlight" : true
2023-10-18 19:47:21 +00:00
}
2023-10-05 17:31:59 +00:00
]
]
}
]
} ,
"configuration" : {
"title" : "Compose" ,
"properties" : {
"compose.binary.installComposeSystemWide" : {
"type" : "boolean" ,
"default" : false ,
2025-06-18 07:15:08 +00:00
"scope" : [
"DEFAULT" ,
"Onboarding"
] ,
2023-10-05 17:31:59 +00:00
"hidden" : true ,
2023-10-25 11:57:10 +00:00
"description" : "Install system-wide instead of just your user directory, so compose can be accessed on the command line. Note: You may be prompted for elevated system privileges when enabling this."
2024-11-06 09:00:17 +00:00
} ,
"podman.compose.cli.support.enabled" : {
"type" : "boolean" ,
"default" : true ,
"markdownDescription" : "Compose support installed. You can use `podman compose` using the podman CLI." ,
2025-09-29 17:45:36 +00:00
"when" : "(isMac || isWindows) && compose.isComposeInstalledSystemWide && !compose.isPodmanComposeInstalledSystemWide" ,
2024-11-06 09:00:17 +00:00
"group" : "podman-desktop.podman" ,
"scope" : "DockerCompatibility"
} ,
"podman.compose.cli.support.missing" : {
"type" : "boolean" ,
"default" : false ,
"markdownDescription" : "Without compose support in podman you won't be able to use compose projects using the podman CLI. :button[Setup...]{command=compose.openComposeOnboarding}" ,
2025-09-29 17:45:36 +00:00
"when" : "(isMac || isWindows) && !compose.isComposeInstalledSystemWide && !compose.isPodmanComposeInstalledSystemWide" ,
"group" : "podman-desktop.podman" ,
"scope" : "DockerCompatibility"
} ,
"podman.compose.cli.support.podmancompose" : {
"type" : "boolean" ,
"default" : true ,
"markdownDescription" : "Compose support using `podman-compose` python implementation." ,
"when" : "compose.isPodmanComposeInstalledSystemWide" ,
2024-11-06 09:00:17 +00:00
"group" : "podman-desktop.podman" ,
"scope" : "DockerCompatibility"
2023-10-05 17:31:59 +00:00
}
}
}
2023-03-16 17:47:47 +00:00
} ,
"scripts" : {
"build" : "vite build && node ./scripts/build.js" ,
2023-03-28 10:56:20 +00:00
"test" : "vitest run --coverage" ,
"test:watch" : "vitest watch --coverage" ,
2023-03-16 17:47:47 +00:00
"watch" : "vite build --watch"
} ,
"dependencies" : {
2025-11-03 03:10:21 +00:00
"@octokit/rest" : "^22.0.1" ,
2023-03-16 17:47:47 +00:00
"mustache" : "^4.2.0" ,
2025-08-22 06:03:55 +00:00
"shell-path" : "^3.1.0"
2023-03-16 17:47:47 +00:00
} ,
"devDependencies" : {
2024-08-29 20:13:01 +00:00
"@podman-desktop/api" : "workspace:*" ,
2025-05-08 10:02:01 +00:00
"@types/mustache" : "^4.2.6" ,
2024-08-30 10:24:29 +00:00
"adm-zip" : "^0.5.16" ,
2023-06-09 10:09:42 +00:00
"mkdirp" : "^3.0.1" ,
2025-12-02 04:12:11 +00:00
"vite" : "^7.2.6" ,
2025-11-19 14:15:15 +00:00
"vitest" : "^4.0.10"
2023-03-16 17:47:47 +00:00
}
}