Docker Compose Fails on Nanopi M4 and OMV5

    • Offizieller Beitrag

    docker compose and docker network does not.

    docker-compose was just fixed in 5.1.4 for arm boards. So, you might need to click the Install Docker button again. The network part isn't related to anything I have been changing.

    omv 7.0.4-2 sandworm | 64 bit | 6.5 proxmox kernel

    plugins :: omvextrasorg 7.0 | kvm 7.0.10 | compose 7.1.2 | k8s 7.0-6 | cputemp 7.0 | mergerfs 7.0.3


    omv-extras.org plugins source code and issue tracker - github


    Please try ctrl-shift-R and read this before posting a question.

    Please put your OMV system details in your signature.
    Please don't PM for support... Too many PMs!

    • Offizieller Beitrag

    I will do that. Thanks.

    • Offizieller Beitrag

    Sorry. I must not be living right.


    docker-compose up -d
    /usr/local/bin/docker-compose: line 1: Not: command not found

    • Offizieller Beitrag

    Sorry. I must not be living right.

    More output from the install docker output would help. You probably still have /usr/local/bin/docker-compose in that directory from a previous failed run and since that path is first in most profiles, it will try to use it. I guess I could make omv-extras delete it but since OMV 5.x isn't released and it shouldn't there on systems on where it doesn't work, I didn't add it.


    sudo rm /usr/local/bin/docker-compose should fix it. If it doesn't, post the output of dpkg -l docker-compose. That should look like this:


    omv 7.0.4-2 sandworm | 64 bit | 6.5 proxmox kernel

    plugins :: omvextrasorg 7.0 | kvm 7.0.10 | compose 7.1.2 | k8s 7.0-6 | cputemp 7.0 | mergerfs 7.0.3


    omv-extras.org plugins source code and issue tracker - github


    Please try ctrl-shift-R and read this before posting a question.

    Please put your OMV system details in your signature.
    Please don't PM for support... Too many PMs!

    • Offizieller Beitrag

    I'm sorry:

    • Offizieller Beitrag

    What is that for? You definitely have docker installed.

    omv 7.0.4-2 sandworm | 64 bit | 6.5 proxmox kernel

    plugins :: omvextrasorg 7.0 | kvm 7.0.10 | compose 7.1.2 | k8s 7.0-6 | cputemp 7.0 | mergerfs 7.0.3


    omv-extras.org plugins source code and issue tracker - github


    Please try ctrl-shift-R and read this before posting a question.

    Please put your OMV system details in your signature.
    Please don't PM for support... Too many PMs!

    • Offizieller Beitrag

    I ran sudo rm /usr/local/bin/docker-compose and then clicked install docker again.
    Here's the output to dpkg -l docker-compose

    Code
    Desired=Unknown/Install/Remove/Purge/Hold
    | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
    |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
    ||/ Name           Version      Architecture Description
    +++-==============-============-============-===========================================================
    ii  docker-compose 1.21.0-3     all          Punctual, lightweight development environments using Docker
    • Offizieller Beitrag

    You are all good. You should just need to remove /usr/local/bin/docker-compose and probably logout then back in.

    omv 7.0.4-2 sandworm | 64 bit | 6.5 proxmox kernel

    plugins :: omvextrasorg 7.0 | kvm 7.0.10 | compose 7.1.2 | k8s 7.0-6 | cputemp 7.0 | mergerfs 7.0.3


    omv-extras.org plugins source code and issue tracker - github


    Please try ctrl-shift-R and read this before posting a question.

    Please put your OMV system details in your signature.
    Please don't PM for support... Too many PMs!

    • Offizieller Beitrag

    sudo rm /usr/local/bin/docker-compose should fix it.

    just ran docker-compose up -d and got


    Code
    Creating nextclouddb ... done
    Creating letsencrypt ... done
    Creating duckdns     ... done
    Creating nextcloud   ... done

    I don't have my ports set or my nextcloud on the H2 disabled so I can't run docker logs -f letsencrypt yet.
    But that appears to have fixed it. Thank you.
    I can delete post 25 above if that would clarify the thread if anybody else needs the process.

    • Offizieller Beitrag

    Update: I forwarded my ports accordingly and ran docker logs -f letsencrypt and received a cert, but when I move on to finish the install the content of my config.php file is wrong, or at least looks nothing like the other config.php files I have encountered in the past:

    PHP
    <?php
    $CONFIG = array (
      'memcache.local' => '\OC\Memcache\APCu',
      'datadirectory' => '/data',
      );

    I have posted this on the regular Q&A for the How-To. I might add that I was not able to get my yml file to run without adding network_mode: bridge to each section.
    I am also going the subdomain route using duckdns. Hope that will help.

    • Offizieller Beitrag

    I am still struggling to create a working Nextcloud. I am able to run my yml file if I include network_mode: bridge just above each environmental variable section of the yml file and I am able to receive a cert. Without it I receive this rude rejection when I run docker-compose up -d:

    Code
    docker-compose up -d
    Creating network "nextcloud_default" with the default driver
    ERROR: Failed to program FILTER chain: iptables failed: iptables --wait -I FORWARD -o br-4adf79fb98de -j DOCKER: iptables v1.8.2 (nf_tables):  RULE_INSERT failed (Invalid argument): rule in chain FORWARD
     (exit status 4)


    If i run it with the network_mode it goes through and I receive a cert but, as I said in the post above the config.php file is all wrong. I hit a dead end.


    Line 2 above indicates that compose is trying to create a custom network but is unable to do so and consequently sends back an error message. If I try to create a custom bridge network using docker network create -d bridge waynes-net this error returns:


    Code
    Error response from daemon: Failed to program FILTER chain: iptables failed: iptables --wait -I FORWARD -o br-62e556c3d017 -j DOCKER: iptables v1.8.2 (nf_tables):  RULE_INSERT failed (Invalid argument): rule in chain FORWARD
     (exit status 4)

    If I run the same command on my Odroid H2 I get a long alpha-numeric string, indicating successful creation of the custom network "waynes-net".
    when I enter docker network list I get this return:

    Code
    docker network list
    NETWORK ID          NAME                DRIVER              SCOPE
    303b8c2b005d        bridge              bridge              local
    4958a0d93384        host                host                local
    49786234264e        nextcloud_default   bridge              local
    0121eed75531        none                null                local
    07e6bea909ce        waynes-net          bridge              local

    So you see the three default networks along with the waynes-net I just created. But what surprised me was the nextcloud_default network. On the H2 it was created automatically when I ran docker-compose up -d. With that I was able to get a cert AND set up Nextcloud. On the NanoPi M4 I am not able to create a custom network either with docker compose or docker network, and if I insert the default bridge network into the yml, it runs and certs, but does not result in a working Nextcloud.


    I have been able to successfully build Plex and Heimdall using docker compose on the NanoPi M4, just not Nextcloud, which leads me to believe that there is still something amiss with docker compose where it interacts with docker network.


    I don't mean to be laborious with my descriptions. I just don't want to be misunderstood. And I would love a solution. Anybody able to make heads or tales out of this? What are iptables and why are they failing?

    • Offizieller Beitrag

    yes. I stumbled onto that bug report. I read elsewhere that apparently Debian 10 uses a newer version of iptables called nftables and docker compose or docker network breaks it when trying to create a custom network.


    It’s ironic—when I first got the Odroid H2 back in the summer it was going to be my new server when OMV5 came out. Then I felt bad about it because of some bad vibes from someone on the forum. Then I discovered the NanoPi M4 and bought one. It became my new darling—for obvious reasons, and I despised the H2. Now the H2 works for me with Nextcloud and the M4 doesn’t. I guess the M4 will do the dull work of a backup server and the H2 will be the main server. For now I think I will stick with my two hc2’s and OMV4.

    • Offizieller Beitrag

    Roll back to OMV4. That is just what I was thinking. Only I don’t need to install Portainer. As @macom instructed in the Nextcloud [How-To]:

    • for OMV4

      • enable docker-ce Repo in omv-extras
      • install openmediavault-docker-gui plugin
      • select suitable docker base path in Services > Docker > Setting (by default it is placed on the OS drive; in case of limited space on the OS drive it should be placed on a data drive)
      • enable docker plugin
      • install docker-compose from CLI apt install docker-compose
    • Offizieller Beitrag

    Or use omv5 and portainer

    No. I have tried to install Nextcloud using Portainer/Containers, Portainer/Stacks, and from the command line using docker compose. It is not possible in OMV5 and the NanoPi M4. As you said above, I have found a bug specific the M4 and maybe arm64 boards generally under OMV5.



    Docker docs says you can also install it from pip repos

    No. That's okay. Thanks, though. I'm just going to set it up using OMV 4 and sit back and wait for the bug fix, and wait for OMV5 to leave beta. I am still messing with OMV5 on a couple of x86 machines. I must be a magnet. People keep giving me old Acer's and HP's.


    What has surprised me in this issue is that no one has chimed in with confirming or refuting testimony concerning the M4. I thought there would be quite a few M4's out there and surely some of them testing OMV5 and surely one or two other nuts besides myself who was trying to get Nextcloud to run.

    • Offizieller Beitrag

    No. I have tried to install Nextcloud using Portainer/Containers, Portainer/Stacks, and from the command line using docker compose. It is not possible in OMV5 and the NanoPi M4. As you said above, I have found a bug specific the M4 and maybe arm64 boards generally under OMV5.

    It isn't a bug and it probably only affects Debian Buster armbian images . It may require a different network setup but there is no reason this shouldn't work on OMV5.

    I'm just going to set it up using OMV 4 and sit back and wait for the bug fix, and wait for OMV5 to leave beta.

    What has surprised me in this issue is that no one has chimed in with confirming or refuting testimony concerning the M4. I thought there would be quite a few M4's out there and surely some of them testing OMV5 and surely one or two other nuts besides myself who was trying to get Nextcloud to run.

    Granted neither are your combo but I just had no problem running nextcloud on an RPi4 running Armbian Buster Lite/OMV5 or a NanoPiM4 running Ubuntu Bionic. I guess I can write a new image for the NanoPiM4 to see what is going on.

    omv 7.0.4-2 sandworm | 64 bit | 6.5 proxmox kernel

    plugins :: omvextrasorg 7.0 | kvm 7.0.10 | compose 7.1.2 | k8s 7.0-6 | cputemp 7.0 | mergerfs 7.0.3


    omv-extras.org plugins source code and issue tracker - github


    Please try ctrl-shift-R and read this before posting a question.

    Please put your OMV system details in your signature.
    Please don't PM for support... Too many PMs!

    • Offizieller Beitrag

    guess I can write a new image for the NanoPiM4 to see what is going on.

    Please don't do that on my account. That is not a good use of your time to try to fix just one install in that way. Really, it is not a big deal to me.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!