Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
116 commits
Select commit Hold shift + click to select a range
344a57f
feat(git): add a guard that keeps git stacks from writing to RAM or t…
grantemsley Oct 3, 2026
1164333
feat(git): add a locked-down git runner for git stacks
grantemsley Oct 3, 2026
7cb47cb
feat(git): store and validate a git stack's settings
grantemsley Oct 3, 2026
02b0c60
feat(git): clone, fetch and check out a git stack's repository safely
grantemsley Oct 3, 2026
df71b47
feat(git): save a git stack's local changes as a patch before discard…
grantemsley Oct 4, 2026
20aba75
feat(git): keep a git stack's managed override and .env out of its clone
grantemsley Oct 3, 2026
820e99c
feat(git): check a git stack before a deploy touches any container
grantemsley Oct 3, 2026
277acdf
feat(git): record which commit a git stack has deployed
grantemsley Oct 4, 2026
e74272f
feat(git): deploy a git stack with compose.sh gitdeploy
grantemsley Oct 4, 2026
9aee9ea
feat(git): recreate a git stack's containers when its folder changes
grantemsley Oct 3, 2026
a2a72f6
feat(git): add the compose-git command
grantemsley Oct 3, 2026
6ced90d
docs: add a guide to git stacks
grantemsley Oct 3, 2026
9a1d46c
feat(git): create missing external networks in a git deploy when the …
grantemsley Oct 4, 2026
c2fb107
feat(git): prune the override's orphan services before a git deploy's…
grantemsley Oct 6, 2026
85a7c91
test(git): run the gitdeploy Bats tests without root, as CI does
grantemsley Oct 6, 2026
256afa7
fix(git): stop the deploy when Docker cannot say which names and port…
grantemsley Oct 7, 2026
b790367
fix(git): catch two services of the stack publishing the same port
grantemsley Oct 7, 2026
0f93286
fix(git): keep the deployed commit when reclone finds the branch rewr…
grantemsley Oct 7, 2026
61b06df
fix(git): notice a repository override that a checkout removed
grantemsley Oct 7, 2026
78c2ff5
docs(git): say what reclone leaves running on the old clone
grantemsley Oct 7, 2026
ff9cb58
fix(compatibility): require Unraid 6.12 and remove legacy WebUI patches
mstrhakr Oct 8, 2026
8e5cbf3
chore: update changelog for v2026.10.08.0952 [skip ci]
github-actions[bot] Oct 8, 2026
a550d98
Release v2026.10.08.0952 [skip ci]
github-actions[bot] Oct 8, 2026
f2c87ca
fix(update): rebuild local-only images when pull is denied
mstrhakr Oct 8, 2026
deb8d33
chore: sync pluginURL+README for dev branch [skip ci]
github-actions[bot] Oct 8, 2026
6a7c2f8
chore: update changelog for v2026.10.08.1156 [skip ci]
github-actions[bot] Oct 8, 2026
9436e38
Release v2026.10.08.1156 [skip ci]
github-actions[bot] Oct 8, 2026
b5f7ec2
feat(git): let a git run take settings of its own
grantemsley Oct 5, 2026
5cb39ab
feat(git): store which credential a git stack uses
grantemsley Oct 5, 2026
961ff18
feat(credentials): add a git repository kind of credential
grantemsley Oct 5, 2026
618b467
feat(git): reach a private repository with an HTTPS token
grantemsley Oct 5, 2026
080646b
feat(credentials): count a git stack's repository credential as in use
grantemsley Oct 5, 2026
567cc27
feat(git): choose a git stack's credential from compose-git
grantemsley Oct 5, 2026
656e038
feat(credentials): add and test git repository tokens on the Credenti…
grantemsley Oct 5, 2026
4311838
feat(git): accept ssh repository addresses and pin their host keys
grantemsley Oct 5, 2026
e1f23b2
feat(credentials): keep git stacks' ssh deploy keys in the vault
grantemsley Oct 5, 2026
54e5780
feat(git): reach a repository over ssh with the stack's deploy key
grantemsley Oct 5, 2026
ed6c007
feat(git): set up an ssh stack's deploy key and host keys from compos…
grantemsley Oct 5, 2026
0964a12
feat(credentials): show git stacks' deploy keys on the Credentials tab
grantemsley Oct 5, 2026
8a983e5
docs: private repositories for git stacks
grantemsley Oct 5, 2026
5319bce
fix(git): refuse a RAM mount inside a disk or pool
grantemsley Oct 8, 2026
437b9b2
fix(git): stop a git deploy when a missing network cannot be created
grantemsley Oct 8, 2026
6cf338a
fix(git): never build or pull again during a git deploy's up
grantemsley Oct 8, 2026
fa14f66
fix(git): check the projects folder before compose-git add clones
grantemsley Oct 8, 2026
c32965d
fix(git): keep the .env in use when converting with a stale env path
grantemsley Oct 8, 2026
a24f9ef
fix(git): recreate containers after discarding local changes in the s…
grantemsley Oct 8, 2026
a02b855
fix(git): deploy with the same environment the checks used
grantemsley Oct 8, 2026
a40b670
docs(git): say that mounted files from the clone change before up
grantemsley Oct 8, 2026
b59c877
fix(git): tell a missing network or volume from one Docker could not …
grantemsley Oct 8, 2026
7b065ce
fix(git): refuse a git home folder someone else made first
grantemsley Oct 8, 2026
386ceb7
fix(git): never let a stack pick another stack's deploy key
grantemsley Oct 8, 2026
cab2ed8
fix(credentials): keep a credential's kind between registry and git
grantemsley Oct 8, 2026
fdc9ea4
fix(git): save a stack's git credential under the credential assignme…
grantemsley Oct 8, 2026
f8e5301
fix(git): refuse a credential folder someone else made first
grantemsley Oct 8, 2026
0bab126
Merge pull request #174 from grantemsley/feat/git-stacks-credentials
mstrhakr Oct 9, 2026
8ff799f
Merge pull request #175 from grantemsley/fix/git-stacks-copilot-172
mstrhakr Oct 9, 2026
a88538c
chore: update changelog for v2026.10.09.1036 [skip ci]
github-actions[bot] Oct 9, 2026
fc2baf6
Release v2026.10.09.1036 [skip ci]
github-actions[bot] Oct 9, 2026
dcc55d6
fix: omit missing optional compose overrides
mstrhakr Oct 9, 2026
b06eff1
test: address override review feedback
mstrhakr Oct 9, 2026
02dbaab
Merge pull request #176 from mstrhakr/mstrhakr/issue165
mstrhakr Oct 9, 2026
209110b
chore: update changelog for v2026.10.09.1841 [skip ci]
github-actions[bot] Oct 9, 2026
99a17fc
Release v2026.10.09.1841 [skip ci]
github-actions[bot] Oct 9, 2026
4a684a5
fix: cache that a stack has no compose profiles
grantemsley Oct 9, 2026
aa5e019
fix: list a stack row's containers with docker ps, as the full list does
grantemsley Oct 9, 2026
c848a79
fix(credentials): stop calling every credential a registry credential
grantemsley Oct 9, 2026
f2b5653
test(credentials): name the useCredential test after what it checks
grantemsley Oct 9, 2026
d00c999
fix(git): let the Credentials tab's git Test wait 15 seconds, not 60
grantemsley Oct 9, 2026
1e3586e
fix(git): say what to do when a reused deploy key is another reposito…
grantemsley Oct 9, 2026
11f9e2a
fix(git): say why ssh-keyscan got no host keys
grantemsley Oct 9, 2026
7b97d32
fix(git): deploy in the checks' folder and environment, whatever star…
grantemsley Oct 9, 2026
193d331
feat(git): show a git stack's repository on the editor's Sources tab
grantemsley Oct 6, 2026
2625a09
feat(git): add a git stack from the Add Stack dialog
grantemsley Oct 6, 2026
eb6b6cc
refactor(git): build a git deploy's compose.sh command in one place
grantemsley Oct 7, 2026
bd8345e
feat(git): deploy a git stack from its stack menu
grantemsley Oct 6, 2026
7c2cb46
feat(git): say in the editor where a git stack's compose file lives
grantemsley Oct 6, 2026
7fd680b
feat(git): show a git stack's branch and deployed commit in the stack…
grantemsley Oct 6, 2026
7ede42a
feat(git): check a git stack for a newer commit from its stack menu
grantemsley Oct 6, 2026
0ee8692
feat(git): move an existing stack into git from the Sources tab
grantemsley Oct 6, 2026
c75b2b4
feat(git): say what deleting a git stack leaves behind
grantemsley Oct 6, 2026
2131edb
docs: git stacks in the web UI
grantemsley Oct 6, 2026
a61c33b
test(e2e): add, deploy and delete a git stack through the web UI
grantemsley Oct 6, 2026
ac147fe
feat(git): show changes made in the clone in an orange box, also abov…
grantemsley Oct 10, 2026
23dd7f0
docs: add scoped MIT license and fork provenance audit
mstrhakr Oct 12, 2026
87b7b21
fix packaged licensing document links
Copilot Oct 12, 2026
26a170a
Merge pull request #180 from mstrhakr/licensing/mit-contributions
mstrhakr Oct 12, 2026
5c4cfa6
chore: update changelog for v2026.10.12.1026 [skip ci]
github-actions[bot] Oct 12, 2026
8229f7e
Release v2026.10.12.1026 [skip ci]
github-actions[bot] Oct 12, 2026
0ca9351
test: cover how containersByProject groups and filters docker ps rows
grantemsley Oct 12, 2026
229c847
docs: say plainly what containersByProject returns for one project
grantemsley Oct 12, 2026
86beea7
Merge pull request #177 from grantemsley/fix/stack-list-speed
mstrhakr Oct 12, 2026
e0924f1
fix(git): read the deployed commit under the lock when checking for c…
grantemsley Oct 12, 2026
760f098
fix(git): name the deploy key boxes for screen readers
grantemsley Oct 12, 2026
7a1b4df
fix(git): say a full commit id can also be 64 characters
grantemsley Oct 12, 2026
b040a7e
feat(git): one deploy key for every ssh stack of a repository
grantemsley Oct 12, 2026
f515f49
feat(git): move an ssh stack onto another deploy key of its repository
grantemsley Oct 12, 2026
5d09aad
Merge pull request #178 from grantemsley/feat/git-stacks-ui
mstrhakr Oct 13, 2026
11ae752
feat(git): store whether a git stack is checked and deployed on a sch…
grantemsley Oct 6, 2026
2220903
feat(git): resume a git stack after a failed deploy
grantemsley Oct 6, 2026
099f12f
refactor(git): share a git deploy's --wait arguments
grantemsley Oct 6, 2026
080c585
refactor(git): take a stack's lock without waiting, for callers that …
grantemsley Oct 13, 2026
0eb4295
feat(git): check git stacks for new commits, and deploy them, on request
grantemsley Oct 13, 2026
ef25351
feat(cron): run the scheduled git check every 15 minutes while a stac…
grantemsley Oct 6, 2026
4977e10
feat(git): choose automatic deploys in the web UI, and see when a sta…
grantemsley Oct 6, 2026
511ff06
docs: automatic deploys of git stacks
grantemsley Oct 6, 2026
28fae18
refactor(git): let the deploy's checks return their problems
grantemsley Oct 13, 2026
e54b494
fix(git): read a clone's local changes without taking git's index lock
grantemsley Oct 13, 2026
164b83e
fix(git): forget cached file paths after checking out a commit
grantemsley Oct 13, 2026
8519126
feat(git): try a deploy of a git stack without deploying it
grantemsley Oct 13, 2026
3cabbd5
feat(git): compose-git deploy --dry-run
grantemsley Oct 13, 2026
2667071
fix(git): give the scheduled check a lock no stack's lock can share
grantemsley Oct 15, 2026
eb22d9b
fix(git): deploy the commit the scheduled check compared
grantemsley Oct 15, 2026
b4f3084
fix(git): a dry run puts back only what its prune changed in the over…
grantemsley Oct 15, 2026
2357f82
docs(git): say a dry run's check messages show values, as a deploy's do
grantemsley Oct 15, 2026
7da5f93
fix(git): check again under the stack's lock that an automatic deploy…
grantemsley Oct 15, 2026
f649c80
Merge pull request #181 from grantemsley/feat/git-scheduled-checks
mstrhakr Oct 15, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
License scope
=============

The MIT license below applies only to original material in this fork whose
copyright is held by Nick Szittai (mstrhakr) and which he has the authority to
license. It does not grant rights in inherited dcflachs/compose_plugin code,
independently owned contributions, third-party software, or third-party assets.
Changes to an inherited file do not relicense its underlying material.

No license grant for the original upstream plugin has been established. This
repository as a whole is not cleared for unrestricted redistribution by this
file. Other rights holders retain their rights; separately licensed components
retain their own licenses. See source/compose.manager/licenses/LICENSING.md and
source/compose.manager/licenses/THIRD-PARTY-NOTICES.md for evidence and unresolved
permissions. This scope notice is separate from the unmodified MIT terms below.

MIT License

Copyright (c) 2026 Nick Szittai (mstrhakr)

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
13 changes: 11 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ With dcflachs Docker Compose Manager being depreciated, if you want to go back t

## Requirements

- unRAID 6.9.0 or later
- unRAID 6.12.0 or later (PHP 8 is required; first included in Unraid 6.12.0)

> NOTE: This is untested on anything older than 7.2.3 currently. I will remove this note if I get a report that this IS compatible that far back. I am working on getting a machine setup for testing on the older versions. Any advice would be welcome, eg how to VM unraid easily.

Expand Down Expand Up @@ -343,7 +343,16 @@ Contributions are welcome — we added issue and PR templates to guide reports a

## License

This project is open source. See the repository for license details.
Original material owned and licensable by **Nick Szittai (mstrhakr)** is offered
under the [MIT License](LICENSE). This is **not a blanket license for the plugin**:
inherited dcflachs/compose_plugin code and independently owned contributions are
excluded, and upstream permission remains unresolved. Changes to inherited files
do not relicense their underlying material.

See the [licensing and provenance audit](source/compose.manager/licenses/LICENSING.md)
for surviving upstream code, scope, and required permissions. Third-party
components retain their [own licenses and notices](source/compose.manager/licenses/THIRD-PARTY-NOTICES.md).
The complete project is not yet cleared for unrestricted redistribution.

## Credits

Expand Down
122 changes: 10 additions & 112 deletions compose.manager.plg
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@
<!DOCTYPE PLUGIN [
<!ENTITY name "compose.manager">
<!ENTITY author "mstrhakr">
<!ENTITY version "2026.10.07">
<!ENTITY version "2026.10.12.1026">
<!ENTITY launch "Settings/&name;.settings">
<!ENTITY packageVER "&version;">
<!ENTITY packageMD5 "a7e3c1ec463d831fbf76ae3537d4cf5e">
<!ENTITY pkgBUILD "1839">
<!ENTITY packageMD5 "f816ed2c0edce4586f629bc81dd82aa4">
<!ENTITY pkgBUILD "1026">
<!ENTITY packageName "&name;-&packageVER;-noarch-&pkgBUILD;">
<!ENTITY packagefile "&packageName;.txz">
<!ENTITY github "mstrhakr/compose_plugin">
<!ENTITY pluginURL "https://raw.githubusercontent.com/&github;/main/&name;.plg">
<!ENTITY pluginURL "https://raw.githubusercontent.com/&github;/dev/&name;.plg">
<!ENTITY packageURL "https://github.com/&github;/releases/download/v&version;/&packagefile;">
<!ENTITY pluginsPATH "/boot/config/plugins">
<!ENTITY pluginLOC "&pluginsPATH;/&name;">
Expand All @@ -29,72 +29,18 @@
launch="&launch;"
pluginURL="&pluginURL;"
icon="cubes"
min="6.9.0"
min="6.12.0"
support="https://forums.unraid.net/topic/197334-plugin-compose-manager-plus/"
project="https://github.com/mstrhakr/compose_plugin"
readme="https://github.com/mstrhakr/compose_plugin#readme"
>

<CHANGES>
###2026.10.07
- Features (compose): optionally create missing external networks before starting a stack
- Features (credentials): add one-click renewal for OAuth GitHub credentials
- Features (credentials): log which registry credential is used for compose operations
- Features (credentials): add copy button and QR code for GitHub device sign-in
- Features: add registry provider presets and token helper links
- Features: add credential manager and stack selector UI
- Bug Fixes (loadlist): log HTTP status when a stack row request fails
- Bug Fixes (credentials): log GitHub sign-in lifecycle and deletions
- Bug Fixes (credentials): reload list after deletion
- Bug Fixes (settings): validate credentials before saving
- Bug Fixes (credentials): honor selected registry auth
- Bug Fixes (icon): block IPv4-mapped private hosts
- Bug Fixes (override): leave the override out with default file discovery too
- Bug Fixes (override): prune services the compose file no longer has
- Bug Fixes (autoupdate): remove superseded images after updates
- Bug Fixes (editor): read and save a relative env file path from the stack folder
- Bug Fixes (autoupdate): keep the last run time when saving auto-update settings
- Bug Fixes (compose): fail when the stack's env file is missing
- Bug Fixes (identity): make the identity chooser save the chosen project name
- Bug Fixes (ui): wait until action dialog is fully closed
- Bug Fixes (ui): wait for profile dialog before action dialog
- Bug Fixes (staticcheck): remove invalid credential lock template
- Bug Fixes (credentials): serialize assignment and deletion
- Bug Fixes (credentials): preserve active Docker configs
- Bug Fixes (auth): restrict GitHub credential renewal
- Bug Fixes (autoupdate): limit concurrent image pulls
- Bug Fixes (icons): support IPv6-only icon hosts
- Bug Fixes (ui): wait for profile dialog to close
- Bug Fixes (credentials): surface credential name in operation output; add credential test/renewal check
- Bug Fixes: sweep expired GitHub device-auth session files on start
- Bug Fixes: merge onto existing Docker config instead of replacing it wholesale
- Bug Fixes: reject client-supplied ids for new credentials and lock authMethod on update
- Bug Fixes: sweep stale docker-config temp dirs and write vault/key atomically
- Bug Fixes: serialize vault read-modify-write transactions with flock
- Bug Fixes: catch credential vault errors in setStackSettings
- Bug Fixes: validate GitHub device session file write and chmod
- Bug Fixes: support credential encryption without sodium
- Bug Fixes: copy GitHub device code before authorization
- Bug Fixes: lock GitHub OAuth credential fields
- Performance: single-pass credential-to-stack mapping instead of per-credential glob scans
- Tests (e2e): cover profile action dialog transition
- Chores: add banner image to readme
- Chores: update changelog for v2026.10.06.1617 [skip ci]
- Chores: update changelog for v2026.10.06.1458 [skip ci]
- Chores: update changelog for v2026.10.05.1006 [skip ci]
- Chores: update changelog for v2026.10.02.1007 [skip ci]
- Chores: update changelog for v2026.10.02.0916 [skip ci]
- Chores: update changelog for v2026.10.02.0915 [skip ci]
- Chores: update changelog for v2026.10.02.0849 [skip ci]
- Chores: update changelog for v2026.09.30.0815 [skip ci]
- Chores: update changelog for v2026.09.25.1058 [skip ci]
- Chores: update changelog for v2026.09.25.1001 [skip ci]
- Chores: update changelog for v2026.09.25.0845 [skip ci]
- Chores: sync pluginURL+README for dev branch [skip ci]
- Save rebuild-on-update when it is the only changed setting
- Fix credential permissions and autoupdate propagation
- Fix picker-driven path validation updates
- [View all changes](https://github.com/mstrhakr/compose_plugin/compare/v2026.09.13...v2026.10.07)
###2026.10.12.1026
- Documentation: add scoped MIT license and fork provenance audit
- fix packaged licensing document links
- [PR #172](https://github.com/mstrhakr/compose_plugin/pull/172)
- [beta release diff](https://github.com/mstrhakr/compose_plugin/compare/v2026.10.07...v2026.10.12.1026)
</CHANGES>

<!-- The 'pre-install' script. -->
Expand Down Expand Up @@ -157,30 +103,6 @@ rm -f /tmp/ace-editor-install.sh
</INLINE>
</FILE>

<FILE Run="/bin/bash">
<INLINE>
echo ""
echo "----------------------------------------------------"
echo ""
echo " Patches are only installed for"
echo " pre-6.12 Unraid versions."
echo ""
echo " If on 6.12 or later, patches are not needed"
echo " and skips will be shown below."
echo ""
echo "----------------------------------------------------"
echo ""
</INLINE>
</FILE>

<!-- Patch utility installation for pre-6.12: install or remove patches -->
<FILE Name="/tmp/patch-util-install.sh" Run="/bin/bash" Max="6.11.99">
<INLINE>
&emhttpLOC;/scripts/install-patch.sh install &emhttpLOC; &pluginLOC;
rm -f /tmp/patch-util-install.sh
</INLINE>
</FILE>

<FILE Run="/bin/bash">
<INLINE>
echo ""
Expand All @@ -194,30 +116,6 @@ echo ""
</INLINE>
</FILE>

<FILE Run="/bin/bash" Method="remove">
<INLINE>
echo ""
echo "----------------------------------------------------"
echo ""
echo " Patches are only modified for"
echo " pre-6.12 Unraid versions."
echo ""
echo " If on 6.12 or later, patches are not needed"
echo " and skips will be shown below."
echo ""
echo "----------------------------------------------------"
echo ""
</INLINE>
</FILE>

<!-- Patch utility removal for pre-6.12: remove patches -->
<FILE Name="/tmp/patch-util-remove.sh" Run="/bin/bash" Method="remove" Max="6.11.99">
<INLINE>
&emhttpLOC;/scripts/install-patch.sh remove &emhttpLOC; &pluginLOC;
rm -f /tmp/patch-util-remove.sh
</INLINE>
</FILE>

<!-- Uninstall script; plus cleanup old/unused packages -->
<FILE Run="/bin/bash" Method="remove">
<INLINE>
Expand Down
1 change: 1 addition & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ Documentation for the Compose Manager plugin for Unraid.
- [User Guide](user-guide.md) - How to use Compose Manager
- [Configuration](configuration.md) - Settings and options
- [Profiles](profiles.md) - Docker Compose profiles support
- [Git Stacks](git-stacks.md) - Deploy stacks from a git repository

## Screenshots

Expand Down
21 changes: 1 addition & 20 deletions docs/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ Access settings via **Settings → Compose** in the Unraid web UI.
| **Show in Header Menu** | No | Display Compose Manager as a separate page in the header navigation bar. |
| **Show Dashboard Tile** | Yes | Display a Compose Stacks tile on the Dashboard showing stack status at a glance. |
| **Hide Compose Containers (Dashboard Tile)** | No | Hide containers managed by Compose stacks from Unraid's Docker Containers dashboard tile. This avoids duplicate entries when both tiles are visible. Requires "Show Dashboard Tile". |
| **Hide Compose Containers (Docker Page)** | No | Patch the native Docker UI to hide or filter Compose-managed containers. See the Web UI Patches section for version limitations. |
| **Hide Compose Containers (Docker Page)** | No | Hide Compose-managed containers from the Docker Containers table to avoid duplicate entries when Compose stacks appear on the same page. Requires "Show in Header Menu" to be disabled (inline mode). |
| **Show Compose Above Docker Containers** | No | When the Docker page is displayed without tabs, move the Compose Stacks section above the built-in Docker Containers section. |
| **Expand Stacks by Default** | No | Automatically expand all stack detail rows when the page loads. |

Expand All @@ -39,7 +39,6 @@ Access settings via **Settings → Compose** in the Unraid web UI.

| Setting | Default | Description |
|---------|---------|-------------|
| **Legacy Patch Web UI** | No | Enable integration patches for the native Docker manager UI on Unraid ≤ 6.11. Not required on Unraid 6.12 and later. Use the Patch/Unpatch buttons to apply or remove the patch. |
| **Debug to Log** | No | Enable debug logging to syslog to troubleshoot Compose command output. |

### Backup Settings
Expand Down Expand Up @@ -90,24 +89,6 @@ The default location stores all compose configurations on the USB flash drive, e

Compose Manager supports all four standard Compose file names and preserves the filenames already present in each stack.

## Web UI Patches

This setting controls small compatibility patches that change how Compose-managed containers are presented in Unraid's native Docker UI. These patches only affect UI rendering and metadata — they do **not** stop containers or change how they run.

### Legacy UI Patch

- **Legacy behavior (Unraid < 6.12)** — On older Unraid releases the patch adds Compose-specific metadata (e.g. `net.unraid.docker.managed`) and tweaks the Docker manager so Compose-managed containers are recognized. Practical effects include skipping native update checks for those containers and preventing them from being treated like native Docker-managed containers in the UI. Use this when running an older Unraid release so Compose can interoperate cleanly with the Docker manager. This is enabled in the settings under "Patch UI"

### Hide Compose Containers from Docker UI via Patch

- **Hide patches (Unraid 6.12–7.2)** — For Unraid 6.12 through 7.2 we offer a different patch that **removes** Compose-managed containers from the Docker page and Dashboard tile entirely (they remain visible through the Compose Stacks tile). Use the hide patch to remove duplicate entries and declutter the Docker UI when you prefer to manage Compose stacks separately. This is enabled in the settings under "Hide Compose Containers from Docker UI via Patch"

Notes and version limitations:

- Unraid 6.12 and later integrate the basic "ignore" behavior natively; the legacy patch is not required for that functionality.
- The explicit "hide" patches are provided only for **6.12–7.2**. If you are on a version outside this range, check compatibility before enabling the hide option.
- Patch files are stored under `source/compose.manager/patches/` and are applied only when a matching Unraid version is detected.

## Debug Logging

Enable debug logging to troubleshoot issues. Logs are written to the Unraid syslog.
Expand Down
2 changes: 1 addition & 1 deletion docs/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Requirements

- Unraid 6.9.0 or later
- Unraid 6.12.0 or later (PHP 8 is required; first included in Unraid 6.12.0)
- Docker service enabled

## Installation
Expand Down
Loading
Loading