Add Podman/Docker compatibility to container commands#7
Merged
Conversation
- Auto-detects container engine (Podman preferred if available) - Handles UID/GID mapping for both engines - Updates all container-related Make targets - Adds container-info target to show current configuration - Includes troubleshooting documentation Users can now use either Docker or Podman seamlessly, with the ability to override via CONTAINER_ENGINE environment variable.
- Fix Podman machine detection with proper JSON parsing - Add automatic machine startup when needed - Use podman-compose instead of podman compose - Add comprehensive Podman readiness checks - Update documentation with macOS-specific troubleshooting Resolves issues with Podman setup on macOS where the machine needs to be running and podman-compose must be used for compose functionality.
- Fix Dockerfile to use --system flag for uv pip sync - Simplify docker-compose.yml volume mounts to avoid missing files - Use :Z option for proper SELinux context in Podman - Remove user mapping to let Podman rootless handle permissions - Mount entire project as /workspace for simplicity Podman dev environment now works correctly on macOS.
- Remove hardcoded src/ directory references from Dockerfile - Use /workspace as WORKDIR to match volume mount location - Copy dependencies to /tmp for installation, then clean up - This ensures containers work both before and after make init renames src/ The container setup now survives project initialization and directory restructuring.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds seamless Podman/Docker compatibility to all container-related commands, with automatic engine detection, smart defaults, and robust error handling.
Changes
Smart Container Engine Detection
CONTAINER_ENGINE=docker make dev-envmake container-infocommand shows current configuration and statusPodman Integration & Fixes
podman-composefor proper compose functionality:ZSELinux optionDocker Compatibility & Robustness
--systemflag for uv dependency installationmake initproject restructuring/workspaceDeveloper Experience
make dev-env,build-image, etc.)Documentation
docs/container-setup.mdwith:Testing
make initworkflowThis maintains the 80/20 principle - most users get seamless operation, power users can configure as needed.