Docker Compose Fails on Nanopi M4 and OMV5

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

    It has me curious and it will be done with a beer in my hand. So, not a bad use of my time.

    omv 5.5.2 usul | 64 bit | 5.4 proxmox kernel | omvextrasorg 5.3.3
    omv-extras.org plugins source code and issue tracker - github


    Please read this before posting a question.
    Please don't PM for support... Too many PMs!

  • It has me curious and it will be done with a beer in my hand. So, not a bad use of my time.

    Well, I just wish I could watch the process. But you are doing it for your curiosity and not just one machine. I don't want folks blaming me for their plugin not getting ported. :/

    RAID is NOT a backup and not useful for most home users. Rsync makes true backup and restoration stupid easy, and it's built right in to OMV. Use this command in a Scheduled Job: rsync -av --delete /srv/dev-disk-by-label-NAMEofSOURCEdisk/ /srv/dev-disk-by-label-NAMEofDESTINATIONdisk/

    Hardware: OMV 5 (current) - NanoPi M4: Nextcloud, Plex, & Heimdall - Acer Aspire T180: backup - Odroid XU4: Pi-Hole (DietPi) - Odroid HC2, Raspberry Pi 3B+, and HP dx2400: testing.

  • Well, I just wish I could watch the process.

    Probably not real exciting.


    I don't want folks blaming me for their plugin not getting ported.

    Trust me. My beer time is not when I port plugins. My motivation to port plugins (only three left) is very low right now.

    omv 5.5.2 usul | 64 bit | 5.4 proxmox kernel | omvextrasorg 5.3.3
    omv-extras.org plugins source code and issue tracker - github


    Please read this before posting a question.
    Please don't PM for support... Too many PMs!

  • Ok. I finally got around to testing this and it worked well. Here is what I did:


    • Write latest Armbian Buster minimal image to sd (Armbian_5.98_Nanopim4_Debian_buster_default_4.4.192_minimal.img)
    • Boot system
    • Use install script to install OMV and omv-extras - wget -O - https://github.com/OpenMediaVault-Plugin-Developers/installScript/raw/master/install | sudo bash
    • Run omv-firstaid
    • Remove network-manager since it will cause issues with OMV's network setup - apt-get purge --autoremove network-manager
    • Reboot
    • Install docker from omv-extras. Had to do an apt-get -f install after because the docker service didn't started. I will need to change omv-extras to do this but I don't think I should have to since is an issue with the docker package.
    • Install portainer from omv-extras
    • Start nextcloud container from portainer and it worked

    omv 5.5.2 usul | 64 bit | 5.4 proxmox kernel | omvextrasorg 5.3.3
    omv-extras.org plugins source code and issue tracker - github


    Please read this before posting a question.
    Please don't PM for support... Too many PMs!

  • Write latest Armbian Buster minimal image to sd (Armbian_5.98_Nanopim4_Debian_buster_default_4.4.192_minimal.img)

    The version I had was 5.95 so I am presently downloading 5.98 minimal. I let you know how it turns out. Thank you.

    RAID is NOT a backup and not useful for most home users. Rsync makes true backup and restoration stupid easy, and it's built right in to OMV. Use this command in a Scheduled Job: rsync -av --delete /srv/dev-disk-by-label-NAMEofSOURCEdisk/ /srv/dev-disk-by-label-NAMEofDESTINATIONdisk/

    Hardware: OMV 5 (current) - NanoPi M4: Nextcloud, Plex, & Heimdall - Acer Aspire T180: backup - Odroid XU4: Pi-Hole (DietPi) - Odroid HC2, Raspberry Pi 3B+, and HP dx2400: testing.

  • Start nextcloud container from portainer and it worked

    Do you mean to build the docker-compose.yml file from the stacks tab of Portainer, and not from the command line?

    RAID is NOT a backup and not useful for most home users. Rsync makes true backup and restoration stupid easy, and it's built right in to OMV. Use this command in a Scheduled Job: rsync -av --delete /srv/dev-disk-by-label-NAMEofSOURCEdisk/ /srv/dev-disk-by-label-NAMEofDESTINATIONdisk/

    Hardware: OMV 5 (current) - NanoPi M4: Nextcloud, Plex, & Heimdall - Acer Aspire T180: backup - Odroid XU4: Pi-Hole (DietPi) - Odroid HC2, Raspberry Pi 3B+, and HP dx2400: testing.

  • Do you mean to build the docker-compose.yml file from the stacks tab of Portainer, and not from the command line?

    How the container is created shouldn't make a difference. I just created a nextcloud image from portainer image tab (not the stacks tab). If docker-compose or stacks aren't working, it is an issue with the compose file not the nanopi.

    omv 5.5.2 usul | 64 bit | 5.4 proxmox kernel | omvextrasorg 5.3.3
    omv-extras.org plugins source code and issue tracker - github


    Please read this before posting a question.
    Please don't PM for support... Too many PMs!

  • How the container is created shouldn't make a difference.

    That is true, unless you are trying to connect (network) it to another container. That is what is so grand about docker-compose when setting up Nextcloud/Letsencrypt according to the linuxserver.io starter guide, and macom's [How-To]. The custom network that binds it all together is suppose to be created automatically, but Docker Network is broken in Debian 10 because a new type of iptables or some such. I don't know why it appears only to affects some arm64 boards. I have setup Nextcloud/Letsencrypt on an x86 machine using OMV5 and docker-compose with no problems whatsoever. I have even been able to create Plex and Heimdall on my NanoPi M4 in OMV5. Here's an article that gives a work around to replace iptables to "legacy" which I tried, and was able to create a custom bridge network and my nextcloud yml file ran fine with docker-compose up -d. It turns out the cert failed, and it broke Portainer and I wasn't able to reinstall it until I returned the iptables to their original state.


    I have done a fresh install and am going to go slowly through my steps and write them down to see if I can figure this out.

    RAID is NOT a backup and not useful for most home users. Rsync makes true backup and restoration stupid easy, and it's built right in to OMV. Use this command in a Scheduled Job: rsync -av --delete /srv/dev-disk-by-label-NAMEofSOURCEdisk/ /srv/dev-disk-by-label-NAMEofDESTINATIONdisk/

    Hardware: OMV 5 (current) - NanoPi M4: Nextcloud, Plex, & Heimdall - Acer Aspire T180: backup - Odroid XU4: Pi-Hole (DietPi) - Odroid HC2, Raspberry Pi 3B+, and HP dx2400: testing.

  • unless you are trying to connect (network) it to another container.

    What I don't understand is why you didn't have to make the change on your x86 install of OMV 5.x since it uses iptables-nft just like the arm images. I don't like the idea of omv-extras changing the iptables configuration.

    omv 5.5.2 usul | 64 bit | 5.4 proxmox kernel | omvextrasorg 5.3.3
    omv-extras.org plugins source code and issue tracker - github


    Please read this before posting a question.
    Please don't PM for support... Too many PMs!

  • I don’t understand it either, which isn’t saying much. What really baffles me is the lack of comment on this issue, on this forum or in general. I would have thought that more systems (not just OMV) would be affected.


    I don’t plan to change the iptables. Just trudging on.

    RAID is NOT a backup and not useful for most home users. Rsync makes true backup and restoration stupid easy, and it's built right in to OMV. Use this command in a Scheduled Job: rsync -av --delete /srv/dev-disk-by-label-NAMEofSOURCEdisk/ /srv/dev-disk-by-label-NAMEofDESTINATIONdisk/

    Hardware: OMV 5 (current) - NanoPi M4: Nextcloud, Plex, & Heimdall - Acer Aspire T180: backup - Odroid XU4: Pi-Hole (DietPi) - Odroid HC2, Raspberry Pi 3B+, and HP dx2400: testing.

  • What really baffles me is the lack of comment on this issue, on this forum

    Most people here aren't running OMV 5.x and even less are running containers that need to talk to each other.

    omv 5.5.2 usul | 64 bit | 5.4 proxmox kernel | omvextrasorg 5.3.3
    omv-extras.org plugins source code and issue tracker - github


    Please read this before posting a question.
    Please don't PM for support... Too many PMs!

  • Well, I don't really :thumbsup: it. I just agree. Now get back to work. You've got better things to do. Thanks.

    RAID is NOT a backup and not useful for most home users. Rsync makes true backup and restoration stupid easy, and it's built right in to OMV. Use this command in a Scheduled Job: rsync -av --delete /srv/dev-disk-by-label-NAMEofSOURCEdisk/ /srv/dev-disk-by-label-NAMEofDESTINATIONdisk/

    Hardware: OMV 5 (current) - NanoPi M4: Nextcloud, Plex, & Heimdall - Acer Aspire T180: backup - Odroid XU4: Pi-Hole (DietPi) - Odroid HC2, Raspberry Pi 3B+, and HP dx2400: testing.

  • @ryecoaaron I didn't want to run off with that other thread so I'm back here with a question. Should I just change the iptables to legacy and leave it, or change it just to create the custom bridge network and then change it back?

    RAID is NOT a backup and not useful for most home users. Rsync makes true backup and restoration stupid easy, and it's built right in to OMV. Use this command in a Scheduled Job: rsync -av --delete /srv/dev-disk-by-label-NAMEofSOURCEdisk/ /srv/dev-disk-by-label-NAMEofDESTINATIONdisk/

    Hardware: OMV 5 (current) - NanoPi M4: Nextcloud, Plex, & Heimdall - Acer Aspire T180: backup - Odroid XU4: Pi-Hole (DietPi) - Odroid HC2, Raspberry Pi 3B+, and HP dx2400: testing.

  • Should I just change the iptables to legacy and leave it, or change it just to create the custom bridge network and then change it back?

    If you change it back, the custom bridge won't work.

    omv 5.5.2 usul | 64 bit | 5.4 proxmox kernel | omvextrasorg 5.3.3
    omv-extras.org plugins source code and issue tracker - github


    Please read this before posting a question.
    Please don't PM for support... Too many PMs!

  • Thank you.

    RAID is NOT a backup and not useful for most home users. Rsync makes true backup and restoration stupid easy, and it's built right in to OMV. Use this command in a Scheduled Job: rsync -av --delete /srv/dev-disk-by-label-NAMEofSOURCEdisk/ /srv/dev-disk-by-label-NAMEofDESTINATIONdisk/

    Hardware: OMV 5 (current) - NanoPi M4: Nextcloud, Plex, & Heimdall - Acer Aspire T180: backup - Odroid XU4: Pi-Hole (DietPi) - Odroid HC2, Raspberry Pi 3B+, and HP dx2400: testing.

  • I'm going to put a "resolved" on this thread. Edit: Sorry it was so late in coming.

    • I was initially having trouble setting up Nextcloud on a NanoPi M4 V1 using OMV5.
    • I was using @macoms [How-To]
    • My main trouble was getting docker to create a custom bridge network to connect the four containers together.
    • I was able to successfully run single-container yml files such as Plex or Heimdall, but not Nextcloud.
    • The solution was found in this article. Debian 10 uses a different version of iptables from Debian 9. The linked article gives a workaround to revert to the older "legacy" version of iptables.
    • With a fresh install of OMV 5 and "legacy" iptables, you can proceed to the [How-To] above.
    • Thanks for the help and patience from @ryecoaaron, @macom, @Morlan, and others I don't just now recall.

    RAID is NOT a backup and not useful for most home users. Rsync makes true backup and restoration stupid easy, and it's built right in to OMV. Use this command in a Scheduled Job: rsync -av --delete /srv/dev-disk-by-label-NAMEofSOURCEdisk/ /srv/dev-disk-by-label-NAMEofDESTINATIONdisk/

    Hardware: OMV 5 (current) - NanoPi M4: Nextcloud, Plex, & Heimdall - Acer Aspire T180: backup - Odroid XU4: Pi-Hole (DietPi) - Odroid HC2, Raspberry Pi 3B+, and HP dx2400: testing.

    Edited once, last by Agricola ().

Participate now!

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