DEV Community

Cover image for Run Airflow on Windows without Virtualization
Abhishek
Abhishek

Posted on

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
Enter fullscreen mode Exit fullscreen mode

Run this command multiple times until no updates are available.

Required Tools Installation

3. Install SSH

pacman -S openssh
Enter fullscreen mode Exit fullscreen mode

4. Install Podman and Compose

pacman -S mingw-w64-x86_64-podman
pacman -S mingw-w64-x86_64-podman-compose
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

7. Configure Rootful Mode (Optional)

If you need rootful mode:

podman machine set --rootful
Enter fullscreen mode Exit fullscreen mode

8. Start Podman Machine

podman machine start
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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

Top comments (0)