Skip to content

feat(remote servers): Add proper and working support for Arch Linux ARM operating system - #5476

Open
keppetto wants to merge 1 commit into
Dokploy:canaryfrom
keppetto:feat/archlinux-arm-support-as-remote-server
Open

keppetto wants to merge 1 commit into
Dokploy:canaryfrom
keppetto:feat/archlinux-arm-support-as-remote-server

Conversation

@keppetto

@keppetto keppetto commented Sep 17, 2026

Copy link
Copy Markdown

Arch Linux is already supported as Remote Server, but support for Arch Linux ARM was broken/partially done. I fix it. Arch Linux ARM should work now. Tested on Raspberry PI 2 / arm7 and Raspberry PI 4 / aarch64

What is this PR about?

There was already one line with "archarm" in this script which is executed on setup of remote server. But the script wasn't working on arm. It needs to be archarm in other places as well. Everywhere where there was os type arch, I've added also os type archarm. And it works. I've tested this on Raspberry PI 2 / arm7 and Raspberry PI 4 / aarch64

Checklist

Before submitting this PR, please make sure that:

  • You created a dedicated branch based on the canary branch.
  • You have read the suggestions in the CONTRIBUTING.md file https://github.com/Dokploy/dokploy/blob/canary/CONTRIBUTING.md#pull-request
  • You have tested this PR in your local instance. If you have not tested it yet, please do so before submitting. This helps avoid wasting maintainers' time reviewing code that has not been verified by you.

Issues related (if applicable)

closes #123

Screenshots (if applicable)

RetriggerConfidence Score: 4/5

The PR should not merge as complete ARMv7 support until the Buildpacks installation handles or explicitly excludes 32-bit ARM.

Summary

This PR extends the existing Arch Linux setup paths to recognize Arch Linux ARM and install utilities and Docker through pacman.

  • Allows archarm during operating-system validation.
  • Routes archarm through the existing Arch utility and Docker installation branches.
  • Leaves the always-executed Buildpacks installation incompatible with the claimed ARMv7 target.

Reviews (1) · Last reviewed commit: "feat(remote servers): Add proper and wor..."

operating system

Arch Linux is already supported, but support for Arch Linux ARM was
broken. I fix it. Arch Linux ARM should work now. Tested on Raspberry PI
2 / arm7 and Raspberry PI 4 / aarch64

case "$OS_TYPE" in
arch | ubuntu | debian | raspbian | centos | fedora | rhel | ol | rocky | sles | opensuse-leap | opensuse-tumbleweed | almalinux | opencloudos | amzn | alpine) ;;
arch | archarm | ubuntu | debian | raspbian | centos | fedora | rhel | ol | rocky | sles | opensuse-leap | opensuse-tumbleweed | almalinux | opencloudos | amzn | alpine) ;;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

P1 ARMv7 Gets Wrong Buildpacks Binary

Adding archarm here admits 32-bit ARM hosts such as Raspberry Pi 2 into the full setup flow. However, SYS_ARCH is armv7l on those hosts, while installBuildpacks selects an ARM archive only for aarch64 or arm64. It therefore downloads the default Linux pack archive and reports Buildpacks as installed even though the binary is for the wrong architecture, leaving ARMv7 servers unable to run Buildpacks builds.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Yes. I'm owner of Raspberry PI 2 and so far Dokploy works beside Buildpacks and Railpack. ARM7 is not fully supported, but ARM64 works fully.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Understood — that makes the support boundary clear: ARM64 is fully supported, while ARMv7 is usable with Dokploy but not fully supported for Buildpacks. I’ll treat the installBuildpacks behavior on armv7l as a documented limitation, not a blocker for the ARM64 support added by this PR.

Tip: You can customize Greptile's behavior for this repo with .greptile/rules.md and .greptile/config.json.

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.

1 participant