Skip to content

feat: Add Colima Docker runtime support for macOS users#575

Closed
AhmedAbdulrahman wants to merge 4 commits intoAutoMaker-Org:v0.13.0rcfrom
AhmedAbdulrahman:feat/colima-docker-support
Closed

feat: Add Colima Docker runtime support for macOS users#575
AhmedAbdulrahman wants to merge 4 commits intoAutoMaker-Org:v0.13.0rcfrom
AhmedAbdulrahman:feat/colima-docker-support

Conversation

@AhmedAbdulrahman
Copy link

@AhmedAbdulrahman AhmedAbdulrahman commented Jan 18, 2026

Summary

Adds automatic detection and support for Colima as an alternative Docker runtime on macOS. Users running Colima instead of Docker Desktop can now use Docker modes without manual configuration.

Problem

macOS users who use Colima (a lightweight Docker Desktop alternative) couldn't use the Docker modes in the launcher because the script only checked the default Docker socket path (/var/run/docker.sock), which doesn't exist when using Colima.

Solution

Enhanced the check_docker() function to:

  1. Detect Colima by checking common socket locations
  2. Automatically set DOCKER_HOST to the Colima socket
  3. Provide helpful error messages specific to Colima users
  4. Display which Docker runtime is being used in the UI

Changes

  • start-automaker.sh
    • Added DOCKER_RUNTIME variable to track which runtime is in use
    • Enhanced check_docker() to probe Colima socket paths:
      • ~/.config/colima/default/docker.sock
      • ~/.colima/default/docker.sock
      • ~/.colima/docker.sock
    • Added Colima-specific error messages on macOS
    • Display "(Colima)" indicator in Docker mode headers
    • Updated help text to document Colima support

Testing

  • Tested on macOS with Colima running
  • Verified automatic socket detection works
  • Verified Docker commands execute correctly through Colima
  • Verified fallback to Docker Desktop still works

Screenshots

When Colima is detected:

image

Summary by CodeRabbit

  • New Features

    • Automatic Colima detection on macOS for seamless Docker support.
    • Auto-selects the appropriate compose command (docker compose vs docker-compose) for consistent container operations.
    • Configurable APP_HOST replaces localhost for displayed URLs, health checks, and server/CORS origins.
  • Improvements

    • Clearer runtime/status messages and improved Docker accessibility checks with actionable guidance on failures.

✏️ Tip: You can customize this high-level summary in your review settings.

webdevcody and others added 3 commits January 17, 2026 18:43
Introduce APP_HOST variable to allow custom hostname configuration for the web server. Default to localhost if VITE_HOSTNAME is not set. Update relevant URLs and CORS origins to use APP_HOST, enhancing flexibility for local development and deployment.

This change improves the application's adaptability to different environments.
Auto-detect Colima socket locations when Docker daemon is not accessible
via default paths. This enables macOS users who prefer Colima over Docker
Desktop to use the Docker modes seamlessly.

Changes:
- Add Colima socket detection in check_docker()
- Check multiple Colima socket paths (~/.config/colima, ~/.colima)
- Export DOCKER_HOST when Colima socket is found
- Display runtime indicator (Colima) in Docker mode headers
- Add helpful error messages for Colima users
- Update help text to document Colima support
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 18, 2026

Note

Other AI code review bot(s) detected

CodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review.

📝 Walkthrough

Walkthrough

Centralizes host via APP_HOST, adds COMPOSE_CMD with detect_compose_cmd(), auto-detects Colima and sets DOCKER_HOST/DOCKER_RUNTIME, standardizes compose invocations across lifecycle commands, and updates URLs, health checks, messaging, and HISTORY accordingly.

Changes

Cohort / File(s) Summary
Docker Runtime & Compose Detection
start-automaker.sh
Added COMPOSE_CMD and detect_compose_cmd() to choose between docker compose (plugin) and docker-compose (standalone); exposes COMPOSE_CMD for downstream usage.
Host & URL Configuration
start-automaker.sh
Introduced APP_HOST (default localhost) and replaced LOCALHOST/HOSTNAME usages in URLs, health checks, server/CORS origins, and user messages with APP_HOST.
Colima & Docker Accessibility
start-automaker.sh
Added Colima detection via Unix socket paths, sets DOCKER_HOST/DOCKER_RUNTIME accordingly, falls back to docker group checks or actionable errors, and exports DOCKER_HOST and DOCKER_RUNTIME.
Compose Invocation Standardization
start-automaker.sh
Replaced direct docker-compose / docker compose calls with COMPOSE_CMD across down/up/build/logs and other lifecycle commands (web, docker, docker-electron paths).
User Messaging, Modes & History
start-automaker.sh
Updated Docker Development Mode messaging to reflect detected runtime (e.g., Colima), shows active compose/runtime in status outputs, updates launch URLs shown to use APP_HOST, and added DOCKER RUNTIMES note to HISTORY/EOF.
Minor/Path Adjustments
start-automaker.sh
Miscellaneous path and invocation tweaks to ensure uniformity of compose and docker command usage; exported DOCKER_CMD where applicable.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Poem

🐰
I sniffed the sockets, found Colima's tune,
Switched compose with care beneath the moon,
APP_HOST now guides each URL and port,
Commands aligned — no more last-resort,
Hop, build, and launch — devs dance in tune! 🎉

🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 16.67% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main feature added: Colima Docker runtime support detection and configuration for macOS users, which aligns with the primary changes in the changeset.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @AhmedAbdulrahman, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly enhances the start-automaker.sh script by introducing native support for Colima as an alternative Docker runtime for macOS users. It automates the detection and configuration of Colima's Docker socket, resolving previous accessibility issues. The changes also include more robust Docker Compose command handling, dynamic hostname configuration for web access, and clearer user feedback regarding the active Docker runtime, improving the overall developer experience for macOS users.

Highlights

  • Colima Docker Runtime Support: The script now automatically detects and supports Colima as an alternative Docker runtime for macOS users, eliminating the need for manual configuration.
  • Dynamic Docker Host Configuration: The start-automaker.sh script probes common Colima socket locations and automatically sets the DOCKER_HOST environment variable when Colima is in use.
  • Improved Error Messages: Specific and helpful error messages are now provided for macOS users encountering issues with Docker, guiding them to start Colima or Docker Desktop.
  • Runtime Indication in UI: The UI now displays '(Colima)' in Docker mode headers, clearly indicating when Colima is the active Docker runtime.
  • Flexible Hostname Configuration: A new APP_HOST variable allows setting the application's hostname via VITE_HOSTNAME, defaulting to localhost, and dynamically configures CORS origins accordingly.
  • Dynamic Docker Compose Command Detection: The script now dynamically determines whether to use docker compose (plugin) or docker-compose (standalone) for Docker Compose operations.
  • Updated Help Text: The script's help output has been updated to explicitly document the newly added Colima support.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request adds excellent support for the Colima Docker runtime on macOS, which will be a great improvement for users who prefer it over Docker Desktop. The changes are well-implemented, with automatic detection of Colima sockets, clear user feedback, and updated documentation. The introduction of detect_compose_cmd to handle both docker compose and docker-compose is a solid addition that improves script robustness.

I have one suggestion to slightly improve the efficiency of the Colima detection logic by ensuring it only runs on macOS systems. Overall, this is a valuable feature addition.

Comment on lines +251 to +261
for sock in "${colima_sockets[@]}"; do
if [ -S "$sock" ]; then
export DOCKER_HOST="unix://$sock"
if docker info &> /dev/null 2>&1; then
DOCKER_RUNTIME="colima"
socket_found=true
echo "${C_GREEN}✓${RESET} Using Colima Docker socket: $sock"
break
fi
fi
done
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The loop to detect Colima sockets currently runs on all operating systems. While harmless on non-macOS systems, it's more efficient and clearer to scope this check only to macOS, as Colima is a macOS-specific tool.

Suggested change
for sock in "${colima_sockets[@]}"; do
if [ -S "$sock" ]; then
export DOCKER_HOST="unix://$sock"
if docker info &> /dev/null 2>&1; then
DOCKER_RUNTIME="colima"
socket_found=true
echo "${C_GREEN}${RESET} Using Colima Docker socket: $sock"
break
fi
fi
done
if [ "$IS_MACOS" = true ]; then
for sock in "${colima_sockets[@]}"; do
if [ -S "$sock" ]; then
export DOCKER_HOST="unix://$sock"
if docker info &> /dev/null 2>&1; then
DOCKER_RUNTIME="colima"
socket_found=true
echo "${C_GREEN}${RESET} Using Colima Docker socket: $sock"
break
fi
fi
done
fi

@webdevcody webdevcody deleted the branch AutoMaker-Org:v0.13.0rc January 20, 2026 23:48
@webdevcody webdevcody closed this Jan 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants