Run Airflow on Windows without Virtualization

Setting up Podman on Windows with MSYS2 This guide walks through the process of setting up Podman on Windows using MSYS2, including the installation of required tools and configuration steps. Prerequisites 1. Install MSYS2 Download and install MSYS2 from the official website: MSYS2 Installation Guide 2. Update MSYS2 Update the package database and base packages: pacman -Syuu Run this command multiple times until no updates are available. Required Tools Installation 3. Install SSH pacman -S openssh 4. Install Podman and Compose pacman -S mingw-w64-x86_64-podman pacman -S mingw-w64-x86_64-podman-compose 5. Install Astro CLI Download the Windows x64 binary from Astro CLI Releases Place the binary in C:\msys64\usr\bin Podman Configuration 6. Initialize Podman Machine podman machine init 7. Configure Rootful Mode (Optional) If you need rootful mode: podman machine set --rootful 8. Start Podman Machine podman machine start 9. Install Docker Credential Helper Download the Windows AMD64 binary from Docker Credential Helpers Releases Example: docker-credential-wincred-v0.8.2.windows-amd64.exe Rename and copy the binary to C:\msys64\usr\bin\docker-credential-wincred.exe and C:\msys64\usr\bin\docker-credential-desktop.exe (this is purely because astro-cli is reverting back to dockerdesktop credential helper for starting local deployment) 10. Configure Container Authentication Create the authentication configuration file: mkdir -p ~/.config/containers echo '{"credHelpers": {"docker.io": "wincred"}}' > ~/.config/containers/auth.json export REGISTRY_AUTH_FILE=~/.config/containers/auth.json Do Not Configure Docker Host ⚠️ WARNING: DO NOT SET THIS ENVIRONMENT VARIABLE ⚠️ The following environment variable setting can cause conflicts with Podman's functionality: # DO NOT USE - Left here for reference only export DOCKER_HOST=npipe:////./pipe/docker_engine Podman has its own socket configuration and doesn't require Docker's pipe configuration. Ready to Use You can now use Astro CLI commands: astro dev init - Initialize a new project astro dev start - Start development environment astro dev parse - Parse configurations astro dev kill - Stop development environment

Feb 12, 2025 - 14:54
 0
Run Airflow on Windows without Virtualization

Setting up Podman on Windows with MSYS2

This guide walks through the process of setting up Podman on Windows using MSYS2, including the installation of required tools and configuration steps.

Prerequisites

1. Install MSYS2

Download and install MSYS2 from the official website:

2. Update MSYS2

Update the package database and base packages:

pacman -Syuu

Run this command multiple times until no updates are available.

Required Tools Installation

3. Install SSH

pacman -S openssh

4. Install Podman and Compose

pacman -S mingw-w64-x86_64-podman
pacman -S mingw-w64-x86_64-podman-compose

5. Install Astro CLI

  1. Download the Windows x64 binary from Astro CLI Releases
  2. Place the binary in C:\msys64\usr\bin

Podman Configuration

6. Initialize Podman Machine

podman machine init

7. Configure Rootful Mode (Optional)

If you need rootful mode:

podman machine set --rootful

8. Start Podman Machine

podman machine start

9. Install Docker Credential Helper

Example: docker-credential-wincred-v0.8.2.windows-amd64.exe

  • Rename and copy the binary to C:\msys64\usr\bin\docker-credential-wincred.exe and C:\msys64\usr\bin\docker-credential-desktop.exe (this is purely because astro-cli is reverting back to dockerdesktop credential helper for starting local deployment)

10. Configure Container Authentication

Create the authentication configuration file:

mkdir -p ~/.config/containers
echo '{"credHelpers": {"docker.io": "wincred"}}' > ~/.config/containers/auth.json
export REGISTRY_AUTH_FILE=~/.config/containers/auth.json

Do Not Configure Docker Host

⚠️ WARNING: DO NOT SET THIS ENVIRONMENT VARIABLE ⚠️

The following environment variable setting can cause conflicts with Podman's functionality:

# DO NOT USE - Left here for reference only
export DOCKER_HOST=npipe:////./pipe/docker_engine

Podman has its own socket configuration and doesn't require Docker's pipe configuration.

Ready to Use

You can now use Astro CLI commands:

  • astro dev init - Initialize a new project
  • astro dev start - Start development environment
  • astro dev parse - Parse configurations
  • astro dev kill - Stop development environment