[Plugin] Docker Compose Manager


Recommended Posts

Trying to compose up this yaml with this .env file.

 

I'm getting this error:

"unexpected character "-" in variable name near "- ./data/db:/data/db\n\n # Redis server\n redis:\n image: eqalpha/keydb\n restart: always\n\n # REVOLT API server (Delta)\n api:\n image: revoltchat/server\n env_file: .env\n depends_on:\n\t- database\n\t- redis\n environment:\n\t- REVOLT_MONGO_URI=mongodb://database\n\t- REVOLT_REDIS_URI=redis://redis/\n ports:\n\t- \"8000:8000\"\n\t- \"9000:9000\"\n restart: always\n\n # REVOLT Web App\n web:\n image: revoltchat/client:master\n env_file: .env\n ports:\n - \"5000:5000\"\n restart: always\n\n # S3-compatible storage server\n minio:\n image: minio/minio\n command: server /data\n env_file: .env\n volumes:\n - ./data/minio:/data\n ports:\n - \"10000:9000\"\n restart: always\n\n # Create buckets for minio.\n createbuckets:\n image: minio/mc\n depends_on:\n - minio\n env_file: .env\n entrypoint: >\n /bin/sh -c \"\n while ! curl -s --output /dev/null --connectmeout 1 http://minio:9000; do echo 'Waiting minio...' && sleep 0.1; done;\n /usr/bin/mc alias set minio http://minio:9000 $MINIO_ROOT_USER $MINIO_ROOT_PASSWORD;\n /usr/bin/mc mb minio/attachments;\n /usr/bin/mc mb minio/avatars;\n /usr/bin/mc mb minio/backgrounds;\n /usr/bin/mc mb minio/icons;\n /usr/bin/mc mb minio/banners;\n exit 0;\n \"\n # REVOLT file hosting service (Autumn)\n autumn:\n image: revoltchat/autumn\n env_file: .env\n depends_on:\n - database\n - createbuckets\n environment:\n - AUTUMN_MONGO_URI=mongodb://database\n ports:\n - \"3000:3000\"\n restart: always\n\n # REVOLT metadata and image proxy (January)\n january:\n image: revoltchat/january\n ports:\n - \"7000:3000\"\n restart: always\n"".

 

I think essentially what it's trying to say is that it doesn't like the lists in the yaml file denoted by hyphens. Any ideas?

 

Edit: Never mind I'm an idiot. FIgured it out. Copied the yaml into .env. :/. Remember always mash ctrl+c.

Edited by jimrummy101
  • Like 1
Link to comment
17 hours ago, jimrummy101 said:

Also how would I add the compose up/down command to a docker folder?

Not sure at this point, I am not familiar with the usage of the Docker Folder plugin. If it requires integration with the gui components of this plugin then that will likely be a ways down the line. The compose.manager GUI is still in the very early stages of development.

Link to comment
6 hours ago, primeval_god said:

Not sure at this point, I am not familiar with the usage of the Docker Folder plugin. If it requires integration with the gui components of this plugin then that will likely be a ways down the line. The compose.manager GUI is still in the very early stages of development.

 

I figured it out. You can add bash commands to Docker Folders so they show up on the folder context menu in the Docker tab. Add/Edit Folder > Add Another Button

Config Type = Bash

Name = Compose Up / Compose Down

Icon = Pick Whatever

CMD =

Compose Up Command: "docker compose -f /boot/config/plugins/compose.manager/projects/<stackname>/compose.yml up"

Compose Down Command: "docker compose -f /boot/config/plugins/compose.manager/projects/<stackname>/compose.yml down"

The docker-compose function doesn't work so it needs the space in the middle.

 

Once you select the containers to be under that folder, even if they've been deleted they'll still show back up under that folder when recreated. If there's issues with that you can go into advanced view and set a regex. e.g. If I want all containers with the word revolt in the name I'd put "revolt" (without the quotations) in the regex field.

Link to comment

Hey everyone,

how can I set the directory of my persistent container data to be in the appdata folder on the array?

 

right now, the compose file is created on the boot usb device and all my paths in the compose file are relative to it.

However, I'd like to store the data in the same location as the "normal" docker implementation.

 

I found working_dir and context but received errors on trying it.

 

 

Btw. can I circumvent the error

"Configuration not found. Was this container created using this plugin?"

when updating the container from the gui?

 

Best regards

Edited by Kosmos
added 2nd question
Link to comment
17 hours ago, Kosmos said:

Hey everyone,

how can I set the directory of my persistent container data to be in the appdata folder on the array?

You should just be able to use an absolute path in your volume configuration see here.

 

17 hours ago, Kosmos said:

Btw. can I circumvent the error

"Configuration not found. Was this container created using this plugin?"

when updating the container from the gui?

Dont try and update compose containers via the normal docker gui. At the moment there is no easy control for updating components of a compose stack.

  • Thanks 1
Link to comment
  • 1 month later...
  • 5 weeks later...

I'm confused as to what this plugin actually does?  So I have jitsi installed through docker compose (it uses 4 containers in 1 stack) and I downloaded this program, hoping to see information about my containers or the stack in the unraid webui but I dont see anything?  Just as shown below in the screenshot:

 

image.png

Link to comment
5 hours ago, 007craft said:

I'm confused as to what this plugin actually does?

The primary purpose of this plugin is to provide a convenient way to install docker compose on unRAID. With this plugin installed docker compose is available through the command line. The ability to create and manage compose stacks via the web ui is still very much a work in progress.

5 hours ago, 007craft said:

So I have jitsi installed through docker compose (it uses 4 containers in 1 stack) and I downloaded this program, hoping to see information about my containers or the stack in the unraid webui but I dont see anything?

As it is stands the plugin gui will not display or manage arbitrary compose stacks running on unRAID, only those that are created with the plugin gui itself. Additionally the currently implemented features are mostly about control of the stack, there is not really anything displayed about the status of running stacks yet.

Link to comment
  • 3 weeks later...

Thanks for making this. While we wait for whatever Docker changes await in 6.10, this is fun to play with.

How about adding a Compose Logs button?

Also, the plugin allows you to rename a running stack, then can't control it - i.e., you hit Compose Down button and it says no container with the new name is running.

Link to comment
  • 2 weeks later...
On 3/3/2022 at 12:07 PM, benfishbus said:

Also, the plugin allows you to rename a running stack, then can't control it - i.e., you hit Compose Down button and it says no container with the new name is running.

Fixed in the latest release.

 

On 3/3/2022 at 12:07 PM, benfishbus said:

How about adding a Compose Logs button?

Good idea i will look into it.

Link to comment
5 minutes ago, VergilGao said:

image.png.d385189702c12828ef1e93231408dc71.png

thanks for this useful plugin

any plan to implement an easy way to add logo imagine to container created by dock-compose?

in 6.10, labels are supported, icon being one of those... you should be able to add it to the compose file to get the icon added.
Not tested this myself yet though.

Link to comment
10 hours ago, VergilGao said:

any plan to implement an easy way to add logo imagine to container created by dock-compose?

Yes.

10 hours ago, tjb_altf4 said:

in 6.10, labels are supported, icon being one of those... you should be able to add it to the compose file to get the icon added.

The plan is eventually to add a helper to make adding the correct labels a one click.

  • Like 1
Link to comment
  • 2 weeks later...
On 4/1/2022 at 11:39 AM, sersh said:

primeval_god, is it possible to make setting where to store docker-compose.yml?

At this time I have no plans to support such a thing. Some of the core features of the plugin are currently based on the folder structure it creates in the plugin config directory on the flash drive. 

Link to comment
2 hours ago, sersh said:

flash drive... not a very good solution...

I'm not against having options to store elsewhere, but nearly all config related to an unraid server is kept on the flash drive, including the native Unraid docker template solution.

It's hardly a bad solution, and is the most Unraidesque solution (as a default).

  • Upvote 1
Link to comment
  • 4 weeks later...
2 hours ago, NasKaya said:

At the moement when i restart the server i need to pull the image before i can compuse up. Is there a way that i dont need to pull every time i restart the server?

Interesting, this should not be the case. Using compose pulls images into the local docker repo just like using docker directly. When restarting your system the image should exist locally and compose up should work just fine. What does your compose file look like?

Link to comment
On 5/7/2022 at 10:42 AM, oldcrazyeye said:

Great project! I am wondering if there is a way to add a webui button to the dropdown when you click on an apps button? currently i just got to <ip>:<port>

Support for specifying WebUI and Icons via docker labels is coming i believe in unRAID 6.10. Likewise i plan on adding some functionality to this plugin to support automatically inserting the necessary labels into compose files.

  • Thanks 1
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.