[PR #12275] Migrate: DokPloy, Komodo, Coolify, Dockge, Runtipi to Addons #10107

Open
opened 2026-02-26 17:33:00 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/community-scripts/ProxmoxVE/pull/12275
Author: @MickLesk
Created: 2/24/2026
Status: 🔄 Open

Base: mainHead: refactor/docker-tools-to-addon


📝 Commits (9)

  • 10ec52e feat: add Docker-based tool addons for dockge, komodo, dokploy, npmplus
  • 49348b9 refactor: convert Docker tools to addons, remove old scripts
  • a14b0a9 feat: add addon JSON configs for dockge, komodo, dokploy, coolify
  • f6b8edb feat: add Runtipi addon + upgrade all addons with Proxmox host check, optional Docker install, Alpine support
  • 9f3f719 readd ct, update information
  • 881eb5b Create runtipi.sh
  • fa766d2 refactor: remove inline header_info from addons, use core.func get_header()
  • ef83fb6 chore(tools): add Github source links to dockge, komodo, dokploy, coolify, runtipi addons
  • 9a2ada4 fix(runtipi): drop Alpine support; add OS compat notes to docker addon JSONs

📊 Changes

28 files changed (+1527 additions, -564 deletions)

View changed files

📝 ct/alpine-komodo.sh (+32 -30)
📝 ct/coolify.sh (+27 -4)
📝 ct/dockge.sh (+31 -12)
📝 ct/dokploy.sh (+27 -4)
📝 ct/komodo.sh (+34 -34)
📝 ct/runtipi.sh (+30 -3)
📝 frontend/public/json/coolify.json (+53 -49)
📝 frontend/public/json/dockge.json (+15 -11)
📝 frontend/public/json/dokploy.json (+53 -45)
📝 frontend/public/json/komodo.json (+20 -19)
📝 frontend/public/json/runtipi.json (+20 -8)
install/alpine-komodo-install.sh (+0 -75)
install/coolify-install.sh (+0 -39)
install/dockge-install.sh (+0 -64)
install/dokploy-install.sh (+0 -40)
install/komodo-install.sh (+0 -85)
install/runtipi-install.sh (+0 -41)
📝 misc/core.func (+3 -1)
tools/addon/coolify.sh (+215 -0)
tools/addon/dockge.sh (+209 -0)

...and 8 more files

📄 Description

✍️ Description

Migrates Dockge, Komodo, Dokploy, Coolify, and Runtipi from standalone ct/ + install/ scripts to the addon pattern (tools/addon/). Existing installations receive a one-time migration prompt via the existing update command — no manual intervention required unless the user wants it.

What changed

New Addon Scripts (tools/addon/)

Addon Port Source
dockge.sh 5001 Docker Compose (louislam/dockge)
komodo.sh 9120 Docker Compose (moghtech/komodo)
dokploy.sh 3000 External installer (dokploy.com)
coolify.sh 8000 External installer (cdn.coollabs.io)
runtipi.sh 80 External installer (runtipi.io)

All addons now include:

  • check_proxmox_host() — Detects if running on bare Proxmox host, warns and defaults to No
  • check_or_install_docker() — Prompts to install Docker if missing (Debian via get.docker.com, Alpine via apk add docker docker-cli-compose)
  • Alpine + Debian support — OS-aware curl bootstrap and dependency installation

Migration ct/ Scripts (backward compatible)

The ct/*.sh scripts are preserved with a migration update_script():

  • Existing users running update see a one-time prompt to migrate
  • On Yes: rewrites /usr/bin/update to point to the addon, creates update_<appname> symlink
  • On No: runs the legacy update normally, prompts again next time

Removed

  • install/dockge-install.sh
  • install/komodo-install.sh
  • install/alpine-komodo-install.sh
  • install/dokploy-install.sh
  • install/coolify-install.sh
  • install/runtipi-install.sh

JSON configs updated

All 5 JSON configs changed to "type": "addon" with "script": "tools/addon/..." and null resources.


⚠️ Breaking Change: Update Command Migration

Existing containers still use /usr/bin/update pointing to the old ct/ script. After this PR, running update will prompt a one-time migration. Users who want to migrate manually without waiting can run the following commands inside their LXC:

Dockge

cat <<'EOF' >/usr/bin/update
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/addon/dockge.sh)"
EOF
chmod +x /usr/bin/update
ln -sf /usr/bin/update /usr/bin/update_dockge

Komodo:

cat <<'EOF' >/usr/bin/update
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/addon/komodo.sh)"
EOF
chmod +x /usr/bin/update
ln -sf /usr/bin/update /usr/bin/update_komodo

Dokploy

cat <<'EOF' >/usr/bin/update
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/addon/dokploy.sh)"
EOF
chmod +x /usr/bin/update
ln -sf /usr/bin/update /usr/bin/update_dokploy

Coolify:

cat <<'EOF' >/usr/bin/update
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/addon/coolify.sh)"
EOF
chmod +x /usr/bin/update
ln -sf /usr/bin/update /usr/bin/update_coolify

Runtipi:

cat <<'EOF' >/usr/bin/update
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/addon/runtipi.sh)"
EOF
chmod +x /usr/bin/update
ln -sf /usr/bin/update /usr/bin/update_runtipi

Fixes #

Prerequisites (X in brackets)

  • Self-review completed – Code follows project standards.
  • Tested thoroughly – Changes work as expected.
  • No security risks – No hardcoded secrets, unnecessary privilege escalations, or permission issues.

🛠️ Type of Change (X in brackets)

  • 🐞 Bug fix – Resolves an issue without breaking functionality.
  • New feature – Adds new, non-breaking functionality.
  • 💥 Breaking change – Alters existing functionality in a way that may require updates.
  • 🆕 New script – A fully functional and tested script or script set.
  • 🌍 Website update – Changes to website-related JSON files or metadata.
  • 🔧 Refactoring / Code Cleanup – Improves readability or maintainability without changing functionality.
  • 📝 Documentation update – Changes to README, AppName.md, CONTRIBUTING.md, or other docs.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/community-scripts/ProxmoxVE/pull/12275 **Author:** [@MickLesk](https://github.com/MickLesk) **Created:** 2/24/2026 **Status:** 🔄 Open **Base:** `main` ← **Head:** `refactor/docker-tools-to-addon` --- ### 📝 Commits (9) - [`10ec52e`](https://github.com/community-scripts/ProxmoxVE/commit/10ec52e9cbd5018f32f5dc0f05e5cc0628144ad8) feat: add Docker-based tool addons for dockge, komodo, dokploy, npmplus - [`49348b9`](https://github.com/community-scripts/ProxmoxVE/commit/49348b9b754f18252057a0cbbb681b699369daf1) refactor: convert Docker tools to addons, remove old scripts - [`a14b0a9`](https://github.com/community-scripts/ProxmoxVE/commit/a14b0a942e3ec14920b7d1afc1684e7c901a2db4) feat: add addon JSON configs for dockge, komodo, dokploy, coolify - [`f6b8edb`](https://github.com/community-scripts/ProxmoxVE/commit/f6b8edb7dfe34fb32e1bec3e7c7e68dbf09e31b2) feat: add Runtipi addon + upgrade all addons with Proxmox host check, optional Docker install, Alpine support - [`9f3f719`](https://github.com/community-scripts/ProxmoxVE/commit/9f3f719ed6ee1adc2479c8258851eac6ab95300a) readd ct, update information - [`881eb5b`](https://github.com/community-scripts/ProxmoxVE/commit/881eb5bd04a8d66836bb7f2adbad06d883a4e14e) Create runtipi.sh - [`fa766d2`](https://github.com/community-scripts/ProxmoxVE/commit/fa766d22bf10b976e67bdb226d5b3efba1bd3044) refactor: remove inline header_info from addons, use core.func get_header() - [`ef83fb6`](https://github.com/community-scripts/ProxmoxVE/commit/ef83fb604933b96f58e6f8b44766fb1824e690ec) chore(tools): add Github source links to dockge, komodo, dokploy, coolify, runtipi addons - [`9a2ada4`](https://github.com/community-scripts/ProxmoxVE/commit/9a2ada4336fc4c8aad1c630c05ca46cf4fd70988) fix(runtipi): drop Alpine support; add OS compat notes to docker addon JSONs ### 📊 Changes **28 files changed** (+1527 additions, -564 deletions) <details> <summary>View changed files</summary> 📝 `ct/alpine-komodo.sh` (+32 -30) 📝 `ct/coolify.sh` (+27 -4) 📝 `ct/dockge.sh` (+31 -12) 📝 `ct/dokploy.sh` (+27 -4) 📝 `ct/komodo.sh` (+34 -34) 📝 `ct/runtipi.sh` (+30 -3) 📝 `frontend/public/json/coolify.json` (+53 -49) 📝 `frontend/public/json/dockge.json` (+15 -11) 📝 `frontend/public/json/dokploy.json` (+53 -45) 📝 `frontend/public/json/komodo.json` (+20 -19) 📝 `frontend/public/json/runtipi.json` (+20 -8) ➖ `install/alpine-komodo-install.sh` (+0 -75) ➖ `install/coolify-install.sh` (+0 -39) ➖ `install/dockge-install.sh` (+0 -64) ➖ `install/dokploy-install.sh` (+0 -40) ➖ `install/komodo-install.sh` (+0 -85) ➖ `install/runtipi-install.sh` (+0 -41) 📝 `misc/core.func` (+3 -1) ➕ `tools/addon/coolify.sh` (+215 -0) ➕ `tools/addon/dockge.sh` (+209 -0) _...and 8 more files_ </details> ### 📄 Description <!--🛑 New scripts must be submitted to [ProxmoxVED](https://github.com/community-scripts/ProxmoxVED) for testing. PRs without prior testing will be closed. --> ## ✍️ Description Migrates **Dockge, Komodo, Dokploy, Coolify, and Runtipi** from standalone `ct/` + `install/` scripts to the addon pattern (`tools/addon/`). Existing installations receive a **one-time migration prompt** via the existing `update` command — no manual intervention required unless the user wants it. ### What changed #### New Addon Scripts (`tools/addon/`) | Addon | Port | Source | |---|---|---| | `dockge.sh` | 5001 | Docker Compose (louislam/dockge) | | `komodo.sh` | 9120 | Docker Compose (moghtech/komodo) | | `dokploy.sh` | 3000 | External installer (dokploy.com) | | `coolify.sh` | 8000 | External installer (cdn.coollabs.io) | | `runtipi.sh` | 80 | External installer (runtipi.io) | All addons now include: - **`check_proxmox_host()`** — Detects if running on bare Proxmox host, warns and defaults to **No** - **`check_or_install_docker()`** — Prompts to install Docker if missing (Debian via `get.docker.com`, Alpine via `apk add docker docker-cli-compose`) - **Alpine + Debian support** — OS-aware curl bootstrap and dependency installation #### Migration ct/ Scripts (backward compatible) The `ct/*.sh` scripts are **preserved** with a migration `update_script()`: - Existing users running `update` see a one-time prompt to migrate - On **Yes**: rewrites `/usr/bin/update` to point to the addon, creates `update_<appname>` symlink - On **No**: runs the legacy update normally, prompts again next time #### Removed - `install/dockge-install.sh` - `install/komodo-install.sh` - `install/alpine-komodo-install.sh` - `install/dokploy-install.sh` - `install/coolify-install.sh` - `install/runtipi-install.sh` #### JSON configs updated All 5 JSON configs changed to `"type": "addon"` with `"script": "tools/addon/..."` and `null` resources. --- ### ⚠️ Breaking Change: Update Command Migration Existing containers still use `/usr/bin/update` pointing to the old `ct/` script. After this PR, running `update` will prompt a **one-time migration**. Users who want to migrate manually without waiting can run the following commands inside their LXC: #### Dockge ```bash cat <<'EOF' >/usr/bin/update bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/addon/dockge.sh)" EOF chmod +x /usr/bin/update ln -sf /usr/bin/update /usr/bin/update_dockge ``` ### Komodo: ```bash cat <<'EOF' >/usr/bin/update bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/addon/komodo.sh)" EOF chmod +x /usr/bin/update ln -sf /usr/bin/update /usr/bin/update_komodo ``` ### Dokploy ```bash cat <<'EOF' >/usr/bin/update bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/addon/dokploy.sh)" EOF chmod +x /usr/bin/update ln -sf /usr/bin/update /usr/bin/update_dokploy ``` ### Coolify: ```bash cat <<'EOF' >/usr/bin/update bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/addon/coolify.sh)" EOF chmod +x /usr/bin/update ln -sf /usr/bin/update /usr/bin/update_coolify ``` ### Runtipi: ```bash cat <<'EOF' >/usr/bin/update bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/tools/addon/runtipi.sh)" EOF chmod +x /usr/bin/update ln -sf /usr/bin/update /usr/bin/update_runtipi ``` ## 🔗 Related Issue Fixes # ## ✅ Prerequisites (**X** in brackets) - [ ] **Self-review completed** – Code follows project standards. - [ ] **Tested thoroughly** – Changes work as expected. - [ ] **No security risks** – No hardcoded secrets, unnecessary privilege escalations, or permission issues. --- ## 🛠️ Type of Change (**X** in brackets) - [ ] 🐞 **Bug fix** – Resolves an issue without breaking functionality. - [ ] ✨ **New feature** – Adds new, non-breaking functionality. - [x] 💥 **Breaking change** – Alters existing functionality in a way that may require updates. - [ ] 🆕 **New script** – A fully functional and tested script or script set. - [ ] 🌍 **Website update** – Changes to website-related JSON files or metadata. - [ ] 🔧 **Refactoring / Code Cleanup** – Improves readability or maintainability without changing functionality. - [ ] 📝 **Documentation update** – Changes to `README`, `AppName.md`, `CONTRIBUTING.md`, or other docs. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/ProxmoxVE#10107
No description provided.