Jump to content

[Plugin] Docker Compose Manager


Recommended Posts

1 hour ago, primeval_god said:

Custom networks can be macvlan, ipvlan, and bridge type.

Sorry, I was being very specific: bond0.43 uses macvlan drivers.

docker network inspect bond0.43


[
    {
        "Name": "bond0.43",
        "Id": "48d92dd914b3319138296b5016da749e795767b808632b2a87c37eb851444d9c",
        "Created": "2024-07-17T08:00:11.865073653-04:00",
        "Scope": "local",
        "Driver": "macvlan",
....

 

Edited by phil1c
Link to comment
On 7/17/2024 at 7:10 PM, phil1c said:

If there is something else you want to know about my network, let me know.  I understand that this may be a bug with Dockerman, but still happy to help satisfy curiosities to determine a root cause.

Thanks but I believe I understand the issue at this point. The underlying problem is very similar to the issue with how dockerman displays networks for compose containers. It appears that dockerman uses the "NetworkMode" property somehow to decide whether it should attempt to rewrite the webui url. Recent versions of compose set this property differently (depending on network configuration) than dockerman does. @mtongnz has a pull request open against the unRAID webgui repo that addresses the network display issue. Perhaps they would be willing and able to look into patching this issue as well.

Link to comment
On 7/19/2024 at 12:45 PM, primeval_god said:

Thanks but I believe I understand the issue at this point. The underlying problem is very similar to the issue with how dockerman displays networks for compose containers. It appears that dockerman uses the "NetworkMode" property somehow to decide whether it should attempt to rewrite the webui url. Recent versions of compose set this property differently (depending on network configuration) than dockerman does. @mtongnz has a pull request open against the unRAID webgui repo that addresses the network display issue. Perhaps they would be willing and able to look into patching this issue as well.

@phil1cI've just had a play with this...  Think I've got it working.

 

Try this PR & join the convo there:  https://github.com/unraid/webgui/pull/1616

It fixes network name display, tweaks the IP & port mapping display, and fixes the webUI url generation.

Link to comment
On 7/19/2024 at 9:26 PM, mtongnz said:

@phil1cI've just had a play with this...  Think I've got it working.

 

Try this PR & join the convo there:  https://github.com/unraid/webgui/pull/1616

It fixes network name display, tweaks the IP & port mapping display, and fixes the webUI url generation.

Thanks for taking a stab at it!  I made the changes and encountered some additional issues and had a couple suggestions so I made a comment on that PR.  We can discuss further over there to avoid cluttering up this forum.

Link to comment
12 hours ago, bmartino1 said:

? Feature request ?

How hard would it be to add a button to stop the dockers in the stack. not compose down, but stop the group of dockers that the stack created?

I can do this with folder view plugin. I label the folder name in my stacks so all containers from the stack show up under a single folder. Then you can start/stop at folder level - example

Edited by apandey
  • Thanks 1
Link to comment
8 hours ago, apandey said:

I can do this with folder view plugin. I label the folder name in my stacks so all containers from the stack show up under a single folder. Then you can start/stop at folder level - example

 was looking for a gui option under the docker tab to keep things nice and together...

I can use docker terminal commands and multiple docker names via a script.
docker stop <name1> <name2>

The Folder options look promising for a single dockers stop <?name of folder?>

per you example?

    labels:
      folder.view: immich
      net.unraid.docker.managed: 'composeman'
      net.unraid.docker.icon: 'https://upload.wikimedia.org/wikipedia/commons/d/d5/Hey_Machine_Learning_Logo.png'
      net.unraid.docker.shell: '/bin/sh'

do I then call immich? or does that need to be the actual folder name where they are stored?
Not sure how folder compose would be setup to run in unraid with this

dockerman v composeman

Noticing alot of compose lately have multiple database and looking for a way to stop/start all the databases if one docker is stopped/started

More planning a head with service dependency:
https://stackoverflow.com/questions/67507367/how-to-avoid-service-dependencies-from-being-stopped-in-docker-compose
 

Link to comment
  • 2 weeks later...

what i need to do to fix, my compose? if need some logs, or info, or whatever just say :)
when i press go to web ui it moves to http://192.168.0.123/192.168.0.123:7011 instead of http://192.168.0.123:7011

Edited by Artiom97es
(maybe some info)
Link to comment

Would there be any way to include support for docker compose profiles? Currently if you click the `Compose Up` button and the compose file uses profiles, it just throws `no service selected`. If full profiles support seems unreasonable, maybe just support to start every profile in the compose file, i.e. `docker compose --profile a --profile b up`?

Link to comment
13 hours ago, digitalgrease_ said:

Would there be any way to include support for docker compose profiles? Currently if you click the `Compose Up` button and the compose file uses profiles, it just throws `no service selected`. If full profiles support seems unreasonable, maybe just support to start every profile in the compose file, i.e. `docker compose --profile a --profile b up`?

Basic profile support already exists. If your stack has profiles defined then the up/down buttons should appear with dropdown arrows that let you select a profile to target. Clicking the button itself will still execute the base command without a specified profile. 

Link to comment
On 8/11/2024 at 4:15 AM, Artiom97es said:

what i need to do to fix, my compose? if need some logs, or info, or whatever just say :)
when i press go to web ui it moves to http://192.168.0.123/192.168.0.123:7011 instead of http://192.168.0.123:7011

What does your webui label look like and have you changed it since the first time you started the stack?

Link to comment

i got a compose file i cant get working.

https://github.com/jsuto/piler/blob/master/docker/docker-compose.yaml

 

keep getting errors it cant find things etc.

I removed the memory limit in my yaml for the rest its the same.

 

I also tried with the volumes. as here a a file is with ./ in front and in these Complete its links to a file but it creates a directory.

 

Looked into manuall create the dockers with all the options but thought this was easier the yaml

 

Edit: this is the first time i use Compose my self. I had to use the full path for the volumes.

Edited by KoNeko
Solved
Link to comment
On 8/15/2024 at 8:23 AM, primeval_god said:

Basic profile support already exists. If your stack has profiles defined then the up/down buttons should appear with dropdown arrows that let you select a profile to target. Clicking the button itself will still execute the base command without a specified profile. 

That's curious, i definitely have profiles defined in one of my compose files, but there are no arrows or dropdown in my ui.

Link to comment
6 hours ago, zeroboss said:

I just used the docker-compose-manager plugin and I tried to build one, but it reported an error.

 

unknown shorthand flag: 'f' in -f
See 'docker --help'.

Usage:  docker [OPTIONS] COMMAND

 

I don't know what's wrong with it. Can any of you help me out?

新建 BMP 图像.bmp 124.82 kB · 2 downloads

Please enable the "Debug Logging" option under "Settings/Compose". Then retry the failed command while watching the system log. Then you can post either the relevant lines from the log or your diagnostics.

Link to comment

thanks

 

 

Aug 26 03:08:30 zbunraid root: ttyd -R -o -i '/var/tmp/compose_manager_action.sock' '/usr/local/emhttp/plugins/compose.manager/scripts/compose.sh' '-cup' '-plobe_chat_database' '-f/boot/config/plugins/compose.manager/projects/lobe-chat-Database/docker-compose.yml' '-f/boot/config/plugins/compose.manager/projects/lobe-chat-Database/docker-compose.override.yml' '-e/mnt/user/appdata/lobe-chat-database/lobe-chat.env' '--debug' > /dev/null &
Aug 26 03:08:30 zbunraid root: '/usr/local/emhttp/plugins/compose.manager/scripts/compose.sh' '-cup' '-plobe_chat_database' '-f/boot/config/plugins/compose.manager/projects/lobe-chat-Database/docker-compose.yml' '-f/boot/config/plugins/compose.manager/projects/lobe-chat-Database/docker-compose.override.yml' '-e/mnt/user/appdata/lobe-chat-database/lobe-chat.env' '--debug'
Aug 26 03:08:30 zbunraid root: /plugins/compose.manager/php/show_ttyd.php
Aug 26 03:08:32 zbunraid root: docker compose --env-file /mnt/user/appdata/lobe-chat-database/lobe-chat.env  -f '/boot/config/plugins/compose.manager/projects/lobe-chat-Database/docker-compose.yml' -f '/boot/config/plugins/compose.manager/projects/lobe-chat-Database/docker-compose.override.yml'  -p lobe_chat_database up  -d

Link to comment
On 8/18/2024 at 9:17 PM, primeval_god said:

image.thumb.png.1f5a26736de04d8054b93c243231d080.png
Thats what it should look like.

I've been through my compose file up and down making sure it conforms to standard compose syntax, profile based compose commands run just fine via command line, but still get the no service selected error and no arrow or anything in the webui. Any ideas what might be going on?

Link to comment
13 hours ago, digitalgrease_ said:

I've been through my compose file up and down making sure it conforms to standard compose syntax, profile based compose commands run just fine via command line, but still get the no service selected error and no arrow or anything in the webui. Any ideas what might be going on?

Any chance you could share the compose file?

Link to comment

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...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...