docker compose?


Recommended Posts

  • 4 weeks later...
47 minutes ago, CrashnBrn said:

I'd like to see this added as well. I see that it's added to the nerd pack plugin but I would like to be able to do a docker compose from the docker tab. My understanding is through the plugin it's all CLI based.

 

Unraid already developed dockerman which does almost the same thing. It's not realistic to expect them to duplicate efforts by building a gui for docker compose. 

 

Docker compose itself is all cli based. There is no official gui for it. You supply the yaml config file and that's it. 

Link to comment
26 minutes ago, aptalca said:

 

Unraid already developed dockerman which does almost the same thing. It's not realistic to expect them to duplicate efforts by building a gui for docker compose. 

 

Docker compose itself is all cli based. There is no official gui for it. You supply the yaml config file and that's it. 

Sorry I'm a bit confused. If I install docker compose, can I change the docker run command for that container to use docker compose instead of docker run? So I can control the container in the GUI the same way as the other containers (including autostart)?

Link to comment

dockerMan and docker compose serve a similar purpose: to avoid long "run" commands and make it simpler to manage containers.

dockerMan is GUI based and together with the prefab templates it provides the unRAID solution to manage containers in an easy way.

docker compose is CLI based and requires yaml files to manage containers. Both can be used next to each other, but a GUI based docker compose solution doesn't exist nor won't be developed, because there is already dockerMan.

Link to comment

I'd like something like this. Both to easily reuse Docker Compose setups, but also to be able to group applications together in the Unraid UI. Atm it feels like Unraid promotes bad Docker practice by making it way easier bundling all the services of an app in a single container instead of doing one service per container. If the GUI supported making apps consisting of several containers it would be easier to work with the general best practices. Depending on the UI novice users might not even have to worry about how many containers the app consists of.

 

unraid_docker_apps.thumb.JPG.a8e3f69db09d7949a0fc69b2a1c0fc6b.JPG

 

unraid_docker_apps_open.thumb.JPG.b61887aeefb79f5194a7c27c0d59819b.JPG

Edited by JimL
  • Like 2
  • Upvote 2
Link to comment
  • 8 months later...

I migrated several services (such as mailcow) to unRAID after committing to them for years. I was able to spin everything up using docker-compose but now there's some issue with updating the containers. I'm a bit confused since updating these containers with this was never an issue:

 

https://github.com/v2tec/watchtower

 

I guess I could just install watchtower, but it would be nice if unRAID was just natively compatible with this.

Link to comment
4 hours ago, falcor said:

I migrated several services (such as mailcow) to unRAID after committing to them for years. I was able to spin everything up using docker-compose but now there's some issue with updating the containers. I'm a bit confused since updating these containers with this was never an issue:

 

https://github.com/v2tec/watchtower

 

I guess I could just install watchtower, but it would be nice if unRAID was just natively compatible with this.

??

 

With compose, you just do dc pull and dc up -d

 

How do you update and clarify how it used to work but it no longer does?

Link to comment
  • 1 month later...
  • 1 month later...

+1

 

I have a Nextcloud setup where I isolate the web app, database, and document server as separate containers/services for security and logical isolation. I just started using unRAID but I didn't realize that docker-compose isn't supported. I think it would make sense for an app Docker template to support several containers (though I understand this means changing the XML schema and further abstracting templates from containers).

 

I also would appreciate greater support for Docker networking, like creating an independent NAT per each compose file, where you can give each container a network-specific hostname, and attach to several NATs. For example, in my Nextcloud compose file I only connect the web app container to the virtual NAT that is exposed publicly.

Link to comment
  • 2 months later...
  • 3 months later...

There are docker options that are not exposed in the GUI, e.g. tmpfs, user, dependencies, etc..

 

Having the ability to switch a container setup between vanilla GUI, or compose YAML text, would be ideal, as it allows native configuration, without needing to use the CLI, or the additional cumbersome command options in the GUI.

 

The management code can always apply filters or sanitization, such that e.g. options like restart are exposed in the GUI, or invalid configs detected. Alternatively the config may simply be GUI or YAML, where if YAML it is all under control of the user.

Edited by ptr727
Link to comment
  • 3 weeks later...

Dockerman from unRAID is a great option for the users who need a "simple" solution and a GUI to accomplish "basic" docker tasks. I see a lot of people asking for a docker-compose GUI, and a few people mentioning docker-compose can be installed using nerd pack. The way I see it, after working in IT for over 15 years now, is there are a number of solutions available to resolve this. It really just boils down to comfort level.

 

If you use an IDE like VSCodium, you can connect via SSH to run you commands and edit your docker-compose.yml file directly in the IDE. If you like git, you can integrate that into your IDE project. If you want to get "fancy", set up Code-Server in dockerman and set /mnt/user/appdata/docker-compose/ as a persistant volume, and edit your compose file directly in the web editor.

 

A reasonable answer for a docker-compose GUI could also be to use dockerman to install Portainer, then use Portainer to deploy your stacks. Portainer stacks are compatible with docker-compose version 2. As of today, docker-compose in unRAID nerdpack is running version 1.23.2, build 1110ad01 and docker version 19.03.5, build 633a0ea838 on unRAID 6.8.0. So, if you need features from v2 you can use Portainer, but if you need v3 you will have to use another solution.

 

Using version 2 will allow you to use extends, which will allow you to call several docker-compose files from another file, so you can make it function closely to Portainer stacks. But I think extends were dropped in v3, but there are other work arounds that can be used.

 

Hope this helps a few people.

 

https://docs.docker.com/compose/compose-file/compose-versioning/

 

Edited by GairyS
Link to comment
  • 2 weeks later...
On 12/21/2019 at 8:47 PM, GairyS said:

Dockerman from unRAID is a great option for the users who need a "simple" solution and a GUI to accomplish "basic" docker tasks. I see a lot of people asking for a docker-compose GUI, and a few people mentioning docker-compose can be installed using nerd pack. The way I see it, after working in IT for over 15 years now, is there are a number of solutions available to resolve this. It really just boils down to comfort level.

 

If you use an IDE like VSCodium, you can connect via SSH to run you commands and edit your docker-compose.yml file directly in the IDE. If you like git, you can integrate that into your IDE project. If you want to get "fancy", set up Code-Server in dockerman and set /mnt/user/appdata/docker-compose/ as a persistant volume, and edit your compose file directly in the web editor.

 

A reasonable answer for a docker-compose GUI could also be to use dockerman to install Portainer, then use Portainer to deploy your stacks. Portainer stacks are compatible with docker-compose version 2. As of today, docker-compose in unRAID nerdpack is running version 1.23.2, build 1110ad01 and docker version 19.03.5, build 633a0ea838 on unRAID 6.8.0. So, if you need features from v2 you can use Portainer, but if you need v3 you will have to use another solution.

 

Using version 2 will allow you to use extends, which will allow you to call several docker-compose files from another file, so you can make it function closely to Portainer stacks. But I think extends were dropped in v3, but there are other work arounds that can be used.

 

Hope this helps a few people.

 

https://docs.docker.com/compose/compose-file/compose-versioning/

 

Thanks for this, I've seen Portainer being used before and definitely liked my first impressions.

 

My 2 cents as far as a GUI goes for docker compose: I'd really only be looking for a text field where I can copy/paste the YML content, which would then add that container to the unRaid containers management page, just like any other that would have been added using a template. I just feel that would be the natural way of doing things with docker in unRaid using compose, but that's just my personal impression.

 

Been thinking about the Portainer option while writing this though, and I'm more and more inclined towards it. Thanks again!
 

Edited by 3psus
Link to comment

My two cents.

Docker compose is a simple cli way to manage containers.

I personally don't see the value in including it in Unraid if people actually want a GUI to manage it, for Unraid that would be like reinventing the wheel and also require every XML template to be rewritten, as well as Dockerman, neither are an attractive proposition.

If however people want to manage containers using compose then there is easy access to the terminal from the GUI.

I haven't checked if Slackware current has a more recent docker compose version but wouldn't be surprised if it does, in which case someone could submit a PR to NerdPack.



Sent from my Mi A1 using Tapatalk

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.