Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[Plugin] Docker Compose Manager

Featured Replies

11 hours ago, NodeZero said:

ports:

- 5012:5000/tcp

You are mapping host port 5012 to container port 5000

11 hours ago, NodeZero said:

The required conf.json is something like this .

````

{

"port": 5012,

You are specifying the host port here, but this is a file mounted inside the container and likely used by the container to bind the process running inside the container. You very likely need 5000 in the config file

  • Replies 872
  • Views 326.6k
  • Created
  • Last Reply

Top Posters In This Topic

Most Popular Posts

  • I've been playing with the code behind this plugin and have made a couple of tweaks.  I'd be interested on peoples thoughts and suggestions.   The first allows you to specify any .env file. 

  • I've recently started using Compose Manger to orchestrate my containers in Unraid. I've used docker-compose for a long time on old servers, but moved away from it when I started using Unraid, as I pre

  • In the recent update, orphaned image is now automatically removed. Thank you.   Is it possible to also update the local sha256 hash in this file /var/lib/docker/unraid-update-status.json? Si

Posted Images

14 hours ago, NodeZero said:

Having used QNAP for years, I’m still getting familiar with Unraid and docker compose manager, I’ve successfully created one (open-web ui) but I’m really struggling with my next one (scriptserver). Everything seems to be up and running, at least to some degree (it’s all Green), but I can’t access the containers webui and there is nothing obvious in the logs. The compose I started with was one I’ve had on my QNAP many times no issue.

Here is the compose file, if anyone has time, please can you help me find what’s wrong ?

````

services:

scriptserver:

container_name: scriptserver

network_mode: bridge

deploy:

resources:

limits:

pids: 2048

environment:

- TZ=Europe/London

- HOST_OS=Unraid

- HOST_HOSTNAME=Tower

- HOST_CONTAINERNAME=scriptserver

labels:

- net.unraid.docker.managed=dockerman

- net.unraid.docker.webui=http://[IP]:[PORT:5012]/

- net.unraid.docker.icon=

volumes:

- /mnt/user/appdata/scriptserver/conf/conf.json:/app/conf/conf.json

- /mnt/user/appdata/scriptserver/runners/:/app/runners/:rw

- /mnt/user/appdata/scriptserver/scripts/:/app/scripts/:rw

- /mnt/user/appdata/scriptserver/media/:/app/media/:rw

- /var/run/docker.sock:/var/run/docker.sock:ro

ports:

- 5012:5000/tcp

image: bugy/script-server:latest

````

The required conf.json is something like this .

````

{

"port": 5012,

"title": "Node Central Scripts",

"address": "0.0.0.0",

"access": {

"admin_users": [ "*" ]

}

}

````

Did qdot run Docker run lines or did they have their own compsee system. I've yet to interact with the qnap system.

The reason I ask is I can send you to a website that you can paste your Docker one line into and it will generate the compose file options and all.

Then you can fix some small things in the compose file. Add things such as labels for unread UI.

And run the same configurations changing the mounting points to wherever the data is on unraid..

Example composer riser:

https://www.composerize.com/

Edited by bmartino1
make link active

And vise versa to convert compose into a docker run that can be used to make a unraid manual template or run as is with a 3rd party run outside of unraid emhttp dockerman.

https://www.decomposerize.com/

Thanks @bmartino1 and @apandey , the cause looks to have been the conf.json and the port that was listed in there. It should have mapped to the host port 5000. Simple in the end, just needed fresh eyes - thanks again.,.

What I can’t seem to do is have the labels that I included in the compose to be picked up by Docker Compose Manager ? Is there a particular format / structure I am missing ? E.g example from another one I’m working on.

- net.unraid.docker.icon=https://raw.githubusercontent.com/selfhosted/unRAID-CA-templates/master/templates/img/filebrowser-icon.png

- net.unraid.docker.webui=http://[IP]:[PORT:8081]

Edited by NodeZero

37 minutes ago, NodeZero said:

What I can’t seem to do is have the labels that I included in the compose to be picked up by Docker Compose Manager ? Is there a particular format / structure I am missing ? E.g example from another one I’m working on.

- net.unraid.docker.icon=https://raw.githubusercontent.com/selfhosted/unRAID-CA-templates/master/templates/img/filebrowser-icon.png

- net.unraid.docker.webui=http://[IP]:[PORT:8081]

The docker compose plugin creates a Docker override yml file for use for the UI stack label.

When you edit the unrated compose manager stack you have option for UI labels.

If you update just the compose, it will not auto update the UI stack and rewrite the docker override yml file.

You have to on save. Delete every item in the UI stack and hit OK. Then edit the docker compose file again and then it will repopulate the information per the labels in the docker compose.

Otherwise, you need to manually edit each line again via the UI stack in the web UI

I’m having trouble seeing all the volumes defined in my compose, I see some, but not all.

When looking that issue up I saw a post where someone had used the following mix of /mnt/user/ and /mnt/cache/ ??

Please could someone help me understand / explain which is right?

FYI - I currently have all mine compose file mapping all volumes to /mnt/user/ and the Unraid disk is set to write to cache first and then the array, so I assume in both cases - I’m writing to the cache first?

Any insight would be appreciated..

volumes:
      - /mnt/user/appdata/mosquitto/config:/mosquitto/config
      - /mnt/cache/appdata/mosquitto/data:/mosquitto/data

 

Edited by NodeZero

You'd want to use /mnt/user, and the appdata share should always stay on an SSD pool and not be moved/stored on the array. Ideally you enable exclusive shares so that the appdata share is exclusive for performance reasons, that requires it to only live on the SSD pool.

In unraid 7.2.4 the docker-compose file doesn't appear to be executable and chmod +x doesn't make it executable.

Any idea why?

Where is the compose file located? Why should it be executable?

I don't mean a yml file, I literally mean docker-compose the executable. it lives in '/root/.docker/cli-plugins' when it's not executable the docker compose command fails.

other than the docker-compose command failing and giving the usual that's not a docker command error if you use the web ui to try bring up a stack you get:
'Invalid Plugins:

compose failed to fetch metadata: fork/exec /root/.docker/cli-plugins/docker-compose: permission denied'

I don't know how your stuff got messed up but I don't think it's from this plugin, everything fine here.

image.png

22 hours ago, Kilrah said:

Where is the compose file located? Why should it be executable?


https://docs.docker.com/guides/docker-compose/why/

that depends. did you set teh stack setting at creation?

Example:

image.png

at creation your able to spefic the path where the .env envioirment file and docker-compose file exists.

if you already made the stack by editing the stack document the plugin tells you where the saved file is:
image.png

example immich
image.png


I set it to:
"/host/Dockers/immich/docker-compose.yml"

image.png

permsion should follow unriad docker safe permissions of chmod 777 and chown nobody:users. unless specfic docker permision are mention and applied.



IF YOU DONT set the advance specifed location I believe it defults to the unraid flash drive somewhere in the plugin directory found somewhere in /boot simlar when you save the stack UI lables of the docker-override for the stack that the plugin auto adds now. This is what sets the runnign dockers at the top to be and say dockerman, have the icon and ui web link if set.

root@OMV:/boot/config/plugins/compose.manager/projects# ls

Immich/ Tailscale_TSDproxy/ version

root@OMV:/boot/config/plugins/compose.manager/projects# cd Immich/

root@OMV:/boot/config/plugins/compose.manager/projects/Immich# ls

autostart docker-compose.override.yml indirect name

root@OMV:/boot/config/plugins/compose.manager/projects/Immich#

image.png

Its been a while I think it defaults to this path on the usb if not set...


example following the immich docker guide

Brandon Martino - Personal Site
No image preview

Immich-on-Unraid-Docker-Compose-Guide

Brandon Martino - Personal Site

and adding example label assist and sets ui lables at frist edit save prompt.

    labels:
      net.unraid.docker.icon: 'https://raw.githubusercontent.com/A75G/docker-templates/master/templates/icons/redis.png'
      folder.view: immich
      net.unraid.docker.managed: 'composeman'

saving the ui stack lables adds them to the overrid compose file in the plugin folder whcih overwrites edits nt eh main compose writen which is why secondary edits dont' get applied as teh plugin refers to teh override due to plugin need aspects for teh docker page and emhttp intergration.

image.png

So the question then becomes when you edit the stack and edit the enviroment .env file of compose file what does the text editor/ manger says your file is located at...


then we can use user scripts and otehr termanl comands like docker compose down and docker compose up in that folder where the compsoe file is to turn off and on dockers (sometiems needed when using the appdata backup plugin.)

root@OMV:/host/Dockers/immich# docker compse --help

Usage: docker [OPTIONS] COMMAND

A self-sufficient runtime for containers

Common Commands:

run Create and run a new container from an image

exec Execute a command in a running container

ps List containers

build Build an image from a Dockerfile

pull Download an image from a registry

push Upload an image to a registry

images List images

login Authenticate to a registry

logout Log out from a registry

search Search Docker Hub for images

version Show the Docker version information

info Display system-wide information

Management Commands:

builder Manage builds

buildx* Docker Buildx

compose* Docker Compose

container Manage containers

context Manage contexts

image Manage images

manifest Manage Docker image manifests and manifest lists

network Manage networks

plugin Manage plugins

system Manage Docker

trust Manage trust on Docker images

volume Manage volumes

Swarm Commands:

swarm Manage Swarm

Commands:

attach Attach local standard input, output, and error streams to a running container

commit Create a new image from a container's changes

cp Copy files/folders between a container and the local filesystem

create Create a new container

diff Inspect changes to files or directories on a container's filesystem

events Get real time events from the server

export Export a container's filesystem as a tar archive

history Show the history of an image

import Import the contents from a tarball to create a filesystem image

inspect Return low-level information on Docker objects

kill Kill one or more running containers

load Load an image from a tar archive or STDIN

logs Fetch the logs of a container

pause Pause all processes within one or more containers

port List port mappings or a specific mapping for the container

rename Rename a container

restart Restart one or more containers

rm Remove one or more containers

rmi Remove one or more images

save Save one or more images to a tar archive (streamed to STDOUT by default)

start Start one or more stopped containers

stats Display a live stream of container(s) resource usage statistics

stop Stop one or more running containers

tag Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE

top Display the running processes of a container

unpause Unpause all processes within one or more containers

update Update configuration of one or more containers

wait Block until one or more containers stop, then print their exit codes

Global Options:

--config string Location of client config files (default "/root/.docker")

-c, --context string Name of the context to use to connect to the daemon (overrides DOCKER_HOST env var and default context set with

"docker context use")

-D, --debug Enable debug mode

-H, --host list Daemon socket to connect to

-l, --log-level string Set the logging level ("debug", "info", "warn", "error", "fatal") (default "info")

--tls Use TLS; implied by --tlsverify

--tlscacert string Trust certs signed only by this CA (default "/root/.docker/ca.pem")

--tlscert string Path to TLS certificate file (default "/root/.docker/cert.pem")

--tlskey string Path to TLS key file (default "/root/.docker/key.pem")

--tlsverify Use TLS and verify the remote

-v, --version Print version information and quit

Run 'docker COMMAND --help' for more information on a command.

For more help on how to use Docker, head to https://docs.docker.com/go/guides/

Edited by bmartino1
typo - speling tool assistant no longer wokring :/

8 minutes ago, bmartino1 said:

that depends. did you set teh stack setting at creation?

You just posted a massive wall of text that's completely off-topic given OP's subsequent clarification.

Edited by Kilrah

fff fix

1 minute ago, Kilrah said:

You just posted a massive wall of text without reading that OP since clarified it was not about this.

no there OG OP was more on wher teh fiel was located then why the plugis docker compose plugin comand while exist is not in place any more..

Thus teh reason I gave
root@OMV:/host/Dockers/immich# docker compse --help

as it used to be docker-compse --help
Which was udpated with small implementsaoin to teh docker udpoate and how unraid is trying to incoperate teh updated binary.

On 3/8/2026 at 5:33 PM, Kilrah said:

I don't know how your stuff got messed up but I don't think it's from this plugin, everything fine here.

image.png

hrm interesting, yea I think you're right. There must be a conflict here from something else I've tried to install in the past.

Thanks I'll clean it up.

23 hours ago, bmartino1 said:

fff fix

no there OG OP was more on wher teh fiel was located then why the plugis docker compose plugin comand while exist is not in place any more..

Thus teh reason I gave
root@OMV:/host/Dockers/immich# docker compse --help

as it used to be docker-compse --help
Which was udpated with small implementsaoin to teh docker udpoate and how unraid is trying to incoperate teh updated binary.

4 minutes ago, dxch said:

hrm interesting, yea I think you're right. There must be a conflict here from something else I've tried to install in the past.

Thanks I'll clean it up.


Yep worked it out, I attempted to setup WebODM via the .sh file provided on the projects github which attempts to install docker-compose as a docker plugin. I realised that wasn't going to work on unraid so moved on to setting up this plugin to run WebODM via compose but I didn't realise it had created that directory/file.

Now that I've deleted the extraneous file all is well.

Thanks for the screenshot of your .docker directory @Kilrah this is what I needed to get this working.

6 minutes ago, dxch said:

Now that I've deleted the extraneous file all is well.

The good thing with Unraid is for stuff like this you can just reboot and it'll be all cleaned up :D

  • Author

Attention: This plugin is now deprecated. It will no longer receive updates or support.

As an alternative please consider Compose Manager Plus it is a drop in replacement/continuation of this plugin.

Edited by primeval_god

13 hours ago, primeval_god said:

Attention: This plugin is now deprecated. It will no longer receive updates or support.

As an alternative please consider Compose Manager Plus

Could you give at least some advice on how to handle this situation if people are using this plugin right now? Can we just uninstall the old version? How is the transition process?

Please add some helpful instructions here, not just an "oopsi, it's over".

  • Author
5 hours ago, Gekko said:

Could you give at least some advice on how to handle this situation if people are using this plugin right now? Can we just uninstall the old version? How is the transition process?

Please add some helpful instructions here, not just an "oopsi, it's over".

See the link to Compose Manager Plus. It is a drop in replacement.

26 minutes ago, primeval_god said:

See the link to Compose Manager Plus. It is a drop in replacement.

First post wasn't updated with clear "how to migrate" instructions though.

5 hours ago, Gekko said:

Could you give at least some advice on how to handle this situation if people are using this plugin right now? Can we just uninstall the old version? How is the transition process?

Do Compose Down on your stacks, go to Apps, search for compose manager, select Reinstall, up your stacks again.

Edited by Kilrah

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.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.