Skip to content

Conversation

@quinnrallen-hub
Copy link

@quinnrallen-hub quinnrallen-hub commented Nov 23, 2025

Description

Adds support for Arch Linux in the automated Docker installation process.

Changes

  • Added Arch Linux case in prerequisite installation section
  • Created getArchDockerInstallCommand() method for Docker installation on Arch Linux
  • Uses pacman package manager for installing required dependencies (curl, wget, git, jq)
  • Follows existing pattern used for Debian, RHEL, and SLES systems

Testing

  • Follows the same installation flow as other supported operating systems
  • Arch Linux is already defined in SUPPORTED_OS constant

Fixes #4523

- Add Arch Linux prerequisite installation with pacman
- Add getArchDockerInstallCommand() method for Docker installation
- Install docker, curl, wget, git, jq using pacman
- Enable and start Docker service via systemctl

Fixes coollabsio#4523
@ShadowArcanist
Copy link
Member

@CodeRabbit review

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 24, 2025

✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Nov 24, 2025

Walkthrough

The pull request adds Arch Linux support to the InstallDocker action, addressing the "Unsupported OS" error that prevented Arch Linux remote server installations. It introduces Arch-specific OS-type handling, incorporates Arch prerequisite commands, and implements a new private method to orchestrate Docker installation via pacman and service management for Arch systems.

Assessment against linked issues

Objective Addressed Explanation
Add Arch Linux support to InstallDocker.php to prevent "Unsupported OS" error and enable Docker installation on Arch servers [#4523]

Terminator's take: Ah yes, Arch Linux support. Finally, another self-hosted victory for the resistance against serverless tyranny and VC marketing nonsense. 🤖 This is exactly the kind of rock-solid, metal-grade infrastructure support that makes self-hosters sleep soundly at night. Though I must admit, this code review would pair better with a gluten-free taco right about now. The pacman package manager integration is chef's kiss – no bloatware, just pure termination of deployment errors. Now let's see if this thing compiles without exploding into a 500 error like some weak serverless function.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Tip

📝 Customizable high-level summaries are now available in beta!

You can now customize how CodeRabbit generates the high-level summary in your pull requests — including its content, structure, tone, and formatting.

  • Provide your own instructions using the high_level_summary_instructions setting.
  • Format the summary however you like (bullet lists, tables, multi-section layouts, contributor stats, etc.).
  • Use high_level_summary_in_walkthrough to move the summary from the description to the walkthrough section.

Example instruction:

"Divide the high-level summary into five sections:

  1. 📝 Description — Summarize the main change in 50–60 words, explaining what was done.
  2. 📓 References — List relevant issues, discussions, documentation, or related PRs.
  3. 📦 Dependencies & Requirements — Mention any new/updated dependencies, environment variable changes, or configuration updates.
  4. 📊 Contributor Summary — Include a Markdown table showing contributions:
    | Contributor | Lines Added | Lines Removed | Files Changed |
  5. ✔️ Additional Notes — Add any extra reviewer context.
    Keep each section concise (under 200 words) and use bullet or numbered lists for clarity."

Note: This feature is currently in beta for Pro-tier users, and pricing will be announced later.


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.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: CodeRabbit UI

Review profile: ASSERTIVE

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 0061aca and 8f98c84.

📒 Files selected for processing (1)
  • app/Actions/Server/InstallDocker.php (3 hunks)
🧰 Additional context used
🧠 Learnings (1)
📚 Learning: 2025-11-11T15:54:46.638Z
Learnt from: ShadowArcanist
Repo: coollabsio/coolify PR: 0
File: :0-0
Timestamp: 2025-11-11T15:54:46.638Z
Learning: For Coolify installer scripts: Avoid adding dependencies on commands that aren't universally available across all supported distributions (Ubuntu, Debian, Arch, Alpine, CentOS, Fedora, RHEL, etc.). Prefer built-in commands or install required tools within the script.

Applied to files:

  • app/Actions/Server/InstallDocker.php
🔇 Additional comments (2)
app/Actions/Server/InstallDocker.php (2)

99-108: I'll be back... to approve this code!

Excellent implementation of the Arch Linux prerequisites. The keyring update is smart defensive coding—prevents those pesky signature verification failures that would terminate the installation. Using pacman -Syyy with triple 'y' is the right move for a full database refresh. Your self-hosted Arch server will be unstoppable, unlike those serverless platforms that vanish faster than a taco at my gluten-free support group.


122-123: Come with me if you want to install Docker on Arch.

The routing logic is perfect—clean, consistent, and follows the established pattern. Your Arch servers are now part of the self-hosted resistance!

Resolved merge conflicts in app/Actions/Server/InstallDocker.php and added docker-compose and docker-buildx packages to Arch Linux installation for feature parity with other distributions.

Changes:
- Adapted Arch Linux Docker installation to new upstream structure
- Added docker-compose and docker-buildx to pacman install command
- Ensures Arch systems have same Docker functionality as Debian/Ubuntu/RHEL/SLES
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