April 14Apr 14 Hi Unraid Community,I’m excited to introduce UDO (Unraid Docker Orchestrator), a new plugin designed to bring professional-grade orchestration to the Unraid Docker ecosystem.We’ve all been there: containers starting in the wrong order (like an app launching before its VPN or database is ready) or an automatic update breaking a critical service in the middle of the night. UDO was created to bridge these gaps by adding an intelligent logic layer on top of Unraid’s native manager.🧠 How it Works⚠️ Important Note: The User Scripts plugin (available on CA) is a mandatory requirement. UDO leverages this reliable engine to execute your orchestration sequences natively and securely, ensuring zero overhead on your system.UDO analyzes your Docker stack via docker inspect to map out dependencies. It doesn't replace the Unraid UI; instead, it generates optimized, standalone Bash scripts that handle sequences, healthchecks, and updates. These scripts are then integrated directly into the User Scripts plugin.✨ Key Features🕵️♂️ Auto-Classification & Mapping: UDO automatically detects network dependencies (e.g., containers routed through Gluetun) and shared volumes. A visual Dep Picker allows you to manually refine the order to suit your specific needs.🚦 Flexible Group Management: Containers are organized into logical groups. By default, startup is sequential to ensure maximum stability, but each group can be configured for parallel mode to speed up your boot process. UDO systematically ensures the current group is fully operational (via healthchecks) before moving to the next one.🗄️ Database Protection: UDO automatically identifies database engines (MariaDB, Postgres, etc.) and excludes them from automated updates by default to prevent any risk of corruption. However, you remain in full control: updates can be manually enabled in the settings if you choose to automate them.🪶 Native & Lightweight: No heavy background processes. UDO is built with Vanilla JS, PHP, and Bash. Once the scripts are generated, they run autonomously on your system.🧪 Join the BetaI am looking for feedback to stress-test the classification logic and identify edge cases across different server setups.Installation:Ensure the User Scripts plugin is installed.Go to Plugins -> Install Plugin.Paste this URL: https://raw.githubusercontent.com/Parralex-Labs/Unraid-Docker-Orchestrator/main/plugin/udo.plg⚠️ Disclaimer & Usage TipsAs with any tool that automates container management, please take a few simple precautions before testing UDO (currently in BETA):Beta Software: This plugin is provided "as is". While it has been rigorously tested, its behavior may vary depending on your specific Docker setup. The author cannot be held responsible for any service interruptions.The Golden Rule (Backups): Before making major changes to your orchestration, ensure your Appdata and Unraid Flash drive are backed up (e.g., using the Appdata Backup plugin).Start Small: Don't deploy UDO across your entire server (30+ containers) on day one. Start by creating a small test group with 2 or 3 non-critical containers to validate the script behavior on your system.Automation Conflicts: If you already use tools like Watchtower or the Community Applications auto-update feature, they might conflict with UDO’s update logic. We recommend disabling other auto-update systems for containers managed by UDO.User Scripts: UDO generates scripts within the User Scripts plugin directory. Do not manually edit these generated scripts via the Unraid UI, as UDO will overwrite them whenever you update your configuration.Useful Links:💻 [GitHub Repository]License: GNU GPL v3. Author: Parralex-Labs. Edited April 14Apr 14 by Parralex-Labs add screenshots
April 14Apr 14 Author Fix 2026.04.16 : Containers classified as "3rd party" after updateThe Docker labels required by Unraid (net.unraid.docker.managed, net.unraid.docker.webui, net.unraid.docker.icon) were not preserved when the container was recreated. udo_update_one.php now reads these labels from docker inspect before the update and re-injects them into the docker run command if they are missing—regardless of whether xmlToCommand() succeeds or goes through the rebuiltReserved for Change Log Edited April 16Apr 16 by Parralex-Labs
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.