A plugin for unRAID that installs Docker Compose and adds a management interface to the web UI.
  • PHP 85.3%
  • Shell 8.7%
  • CSS 3.3%
  • PowerShell 2.7%
Find a file
github-actions[bot] 14a3673bfb Release v2026.02.11a
2026-02-11 23:38:16 +00:00
.github Remove test report steps from PHP and BATS jobs in GitHub Actions workflow 2026-02-10 19:39:02 -05:00
.vscode fix(workspace): add workspace configuration for testing and update BATS settings 2026-02-03 12:51:33 -05:00
docs Revert docs/configuration.md to upstream main 2026-02-09 20:38:23 -05:00
source feat: show Compose CLI version in page title, remove per-row Compose column 2026-02-11 14:13:34 -05:00
tests Fix backup scheduler, replace browse with upload, UI improvements 2026-02-10 14:43:53 -05:00
.gitattributes feat: Add .gitattributes and VSCode settings for consistent line endings across files 2026-02-02 18:02:44 -05:00
.gitignore Add unit tests, update docs, remove composer artifacts 2026-02-09 20:22:59 -05:00
.gitmodules chore: Update plugin-tests submodule to v0.2 floating tag 2026-02-03 19:55:54 -05:00
build.ps1 fix: improve switch button initialization and ensure consistent label alignment 2026-02-07 20:36:53 -05:00
build_in_docker.sh refactor: Replace swal2 with swal for consistent alert handling and improved user experience 2026-01-31 22:54:38 -05:00
compose.manager.plg Release v2026.02.11a 2026-02-11 23:38:16 +00:00
composer.json feat: add comprehensive test infrastructure 2026-02-03 09:30:25 -05:00
composer.lock feat: add comprehensive test infrastructure 2026-02-03 09:30:25 -05:00
phpstan.neon fix: Update PHPStan config to ignore platform-specific code 2026-02-03 14:32:34 -05:00
phpunit.xml fix: ensure text coverage report is generated in phpunit configuration 2026-02-04 21:24:21 -05:00
README.md Merge branch 'main' into fix/container-table-improvements 2026-02-09 21:29:25 -05:00
release.ps1 fix: improve PLG changelog update by XML-escaping special characters and replacing changelog instead of appending 2026-02-09 13:22:23 -05:00

Compose Manager

Compose Manager installs the Docker Compose CLI plugin on your unRAID server and provides a comprehensive web-based interface to create, run, update, back up, and restore Compose stacks directly from the unRAID dashboard. It includes per-stack autostart with configurable options, an integrated terminal for live command output, optional UI integration to hide Compose-managed containers, and tooling for testing and CI.

Screenshots

Main Compose Manager Interface

Compose Manager UI

Dashboard Integration

Dashboard Stacks

Stack Editor

The built-in editor provides multiple tabs for managing your compose stack:

Compose File Settings
Editor - Compose File Editor - Settings
Env Web UI Labels
Editor - Env Editor - Web UI

Features

  • Docker Compose Integration - Installs the Docker Compose CLI plugin and manages stacks on your unRAID server.
  • Web UI Management - Create, edit, and manage Compose stacks directly from the unRAID dashboard.
  • Stack Operations - Start, stop, update, and remove stacks with one click (supports profiles and override files).
  • Autostart & Shutdown - Configurable autostart with wait/recreate options and improved shutdown handling.
  • Visibility & Filtering - Optionally hide or filter Compose-managed containers in the native Docker UI (behavior varies by unRAID version).
  • Backup & Restore - Manual and scheduled backups with selective restore from the UI.
  • Web Terminal - Integrated terminal for live, colorized compose command output.
  • Developer & Testing Tools - Unit tests and CI workflows to help contributors and ensure quality.

Installation

Install via the Community Applications plugin in unRAID, or manually install by navigating to:

Plugins → Install Plugin and entering the plugin URL:

https://raw.githubusercontent.com/mstrhakr/compose_plugin/main/compose.manager.plg

Requirements

  • unRAID 6.9.0 or later
  • Docker service enabled

Configuration

Access Settings → Compose in the unRAID web UI. Key options:

  • Output Style — Terminal (ttyd) for live, colorized command output or Basic for simpler logs.
  • Projects Folder — Default: /boot/config/plugins/compose.manager/projects. Changing it does not move existing projects.
  • Autostart — Enable per-stack autostart; optional force recreate and wait-for-Docker behavior with configurable timeouts.
  • Hide Compose Containers — Patch (Unraid 6.12–7.2) that removes Compose-managed containers from the Docker page and Dashboard tile to avoid duplicate entries.
  • Debug to Log — Send debug output to syslog for troubleshooting.

Usage

Creating a Stack

  1. Navigate to Docker → Compose (or Docker Compose if header menu option is enabled)
  2. Click Add Stack
  3. Enter a name and optionally a description
  4. Edit the docker-compose.yml file using the built-in editor
  5. Click Compose Up to start the stack

Managing Stacks

Each stack provides the following actions:

  • Compose Up - Start the stack (with optional profile selection)
  • Compose Down - Stop and remove containers
  • Update Stack - Pull latest images and recreate containers
  • Edit Stack - Modify the docker-compose.yml file
  • Remove Stack - Delete the stack configuration

Autostart

Enable autostart for a stack by clicking the autostart toggle. Stacks will automatically start when the unRAID array starts.

Documentation

For detailed guides, see the docs folder:

Development & Testing 🔧

Quick start:

  • Install PHP dependencies: composer install (required to install PHPUnit and tooling).
  • Run unit tests: php vendor/bin/phpunit --config phpunit.xml (or php vendor/bin/phpunit --testsuite unit).
  • Run a single test file: php vendor/bin/phpunit --config phpunit.xml tests/unit/ExampleTest.php.

Integration tests:

  • Add and initialize the plugin-tests submodule (if not already present):
    • If the submodule is configured: git submodule update --init --recursive
    • Or add it manually: git submodule add https://github.com/mstrhakr/plugin-tests.git tests/plugin-tests && git submodule update --init --recursive
  • See tests/plugin-tests/README.md for running integration suites and environment setup.

Static analysis:

  • composer run analyse (runs PHPStan configured for this project).

For full developer setup, test running, and contribution guidelines see docs/development.md. (Contains examples for coverage, CI notes, and integration testing tips.)

Contributions are welcome — we added issue and PR templates to guide reports and pull requests. Please follow the templates when submitting issues or PRs.

Support

License

This project is open source. See the repository for license details.

Credits

Originally created by dcflachs. This fork maintained by mstrhakr. Huge thanks to the entire Unraid community, without you this would be impossible.