CloudCMD

  • After some lengthy help and testing with the maintainer of cloudcmd (file manager with a webui, console and editor) the latest version v14.3.9-x64 now works in OMV4 and OMV5, the configuration and deployment has been changed to use node:lts


    To use this on OMV5 deploy using stacks;


    ---

    version: '2'

    services:

    web:

    ports:

    - 8500:8000

    volumes:

    - ~:/root

    - /:/mnt/fs

    restart: unless stopped

    image: coderaiser/cloudcmd:14.3.9-x64

  • I was trying to get cloudcmd to work in a docker for me on my Helios4 running OMV5 until I saw the post above regarding not working on arm.

    Thank macom!


    I'm going to try to deploy this using stacks in Portainer as I find it very difficult to navigate the Portainer interface. This is what I've worked out, but I'm unsure about the PUID and PGID fields..



    Reading the explanation on docker hub it says to get the id of the username so that there are no permission conflicts. What username is it referring to?

    The username that I use for OMV and for Portainer is admin.... However this doesn't quite seem to line up with what is on docker hub.


    Quote

    When using volumes (-v flags) permissions issues can arise between the host OS and the container, we avoid this issue by allowing you to specify the user PUID and group PGID.

    Ensure any volume directories on the host are owned by the same user you specify and any permissions issues will vanish like magic.

    In this instance PUID=1000 and PGID=1000, to find yours use id user as below:


    Code
    $ id username
    uid=1000(dockeruser) gid=1000(dockergroup) groups=1000(dockergroup)


    Do I need to create a docker user on OMV? Or am I over complicating it? This is my first docker btw, so a bit of a noob :).

  • Use the id of the user you are using for your samba shares or other services.

    The first user created in OMV has

    uid 1000

    gid 100


    you can check this on CLI with id ekent if you have a user "ekent"


    You also need to adjust this:

    Code
    - /path/to/config:/config
    - /path/to/data:/data
  • Thank you. I do indeed have the user "ekent". And you are correct, it was the first user I created when installing Debian/setting up OMV.

    The details for that user are:

    uid 1000

    gid 1000


    So I'll just leave that part of the stack as is.

    You also need to adjust this:

    Code
    - /path/to/config:/config
    - /path/to/data:/data

    Thanks for picking that up ;). I take it the part on the left is the host side of things?

    How would I go about adjusting that? The path to data would be to one of my mounted drives? And if I had two drives, how would that work?

    Would the installation/storage location of Docker set that config location?

    When going through the setup I decided to stick with the default location

    /var/lib/docker

    as the docs suggested it wasn't a good location for media servers or downloader types and I'm not planning on using docker for that.

  • gid 1000

    usually on OMV the gid is 100, not 1000


    The config path is to store the configuration of of the container. You should place it on some drive with enough space.

    The /data path is for the path you want to see inside the container. You can have several of them.


    So the section might look like this


    Code
    - /srv/dev-disk-by-label-xxxx/docker/config/doublecommander:/config
    - /srv/dev-disk-by-label-xxxx/SomeFolderName:/data
    - /srv/dev-disk-by-label-xxxx/SomeOtherNamer:/moredata
  • usually on OMV the gid is 100, not 1000

    Hmmm.... OK. Double checked the return on the command prompt and the gid is definitely 1000.

    I didn't actually create any users when installing OMV. The "ekent" user was created when connecting after the initial install of Debian. So the user is a debian system user. Have I done something wrong?


    Also for a lot of Docker tutorials on the forum I have seen that the restart policy is set to "Always". Should I use the same here? What's the difference between "Always" and "unless-stopped"?


    The config path is to store the configuration of of the container. You should place it on some drive with enough space.

    The /data path is for the path you want to see inside the container. You can have several of them.


    So the section might look like this


    Code
    - /srv/dev-disk-by-label-xxxx/docker/config/doublecommander:/config
    - /srv/dev-disk-by-label-xxxx/SomeFolderName:/data
    - /srv/dev-disk-by-label-xxxx/SomeOtherNamer:/moredata

    That makes sense about the config path. Thank you for the example! That is very clear. I'll have a crack at it now :)

  • Have I done something wrong?

    If you want to use OMV, you should do everything that is possible from the GUI of OMV.

    That includes creating of users and shared folders (i.e. folders on the data drives).

    By this you avoid some of the permission conflicts.

  • If you want to use OMV, you should do everything that is possible from the GUI of OMV.

    That includes creating of users and shared folders (i.e. folders on the data drives).

    By this you avoid some of the permission conflicts.

    Completely understood! I have used the GUI for everything; including shared folders etc.

    The user was created before OMV was installed :(, unfortunately the initial login to Debian after installing wouldn't let me proceed until I had created a user. Can I manually update the gid of this user now? Or should I remove the user and create it again through the OMV GUI?

  • Good point. Checking that reveals that OMV recognises the user and it is visible in the GUI. The user "ekent" does appear to be a member of "users". Although it is a member of a lot of other groups....

    There is one group in groups and that is also called "ekent" (see second image). I did not create that; either manually or through the GUI. I don't know how it got there ?(



  • Hmmm... Just checked by creating another user "ekent2" through the GUI.

    That user is assigned to the "users" group, and nothing else. I can add that user to the "ekent" group if I want.


    Do you think it's OK to stick with the "ekent" user as is? I.e. with uid 1000 and gid 1000?

  • Hmmm... Just checked by creating another user "ekent2" through the GUI.

    That user is assigned to the "users" group, and nothing else. I can add that user to the "ekent" group if I want.


    Do you think it's OK to stick with the "ekent" user as is? I.e. with uid 1000 and gid 1000?

    If you actually ID the user (SSH your server, id ekent2) you will see that user is a member of "ekent2"


    Code
    ken@openmediavault:~$ id ken
    uid=1000(ken) gid=100(users) groups=100(users),115(ssh),995(docker)
    ken@openmediavault:~$


Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!