armbian-config mayan edms deployment fails


Recommended Posts

Hi,

I'm running the latest bionic image (nightly build) on my rock64pro. (I've tried with the stable build but it has the same result)

uname -a
Linux 4.4.166-rockchip64 #22 SMP Fri Dec 14 00:56:53 CET 2018 aarch64 aarch64 aarch64 GNU/Linux

I've used armbian-config mayan edms 3rd party software installation option but it failed during the mayanedms/mayanedms container deploymentment. 

 

With docker events& turned on I saw the next message:

standard_init_linux.go:190: exec user process caused "exec format error"

I found a recorded issue in mayan edms gitlab and it looks this issue is still not resolved:

https://gitlab.com/mayan-edms/mayan-edms/issues/422

 

Is there anybody who faced the same issue or anybody who was able to successfully run mayan edms on armbian?

 

Thanks,

K

Link to post
Share on other sites
Armbian is a community driven open source project. Do you like to contribute your code?

45 minutes ago, Igor said:

Perhaps there is some Docker related component that is missing in this kernel Do this


wget https://raw.githubusercontent.com/docker/docker/master/contrib/check-config.sh
sudo chmod +x check-config.sh
./check-config.sh

and paste results:

 

 

here it is:

Spoiler

 


./check-config.sh
info: reading kernel config from /proc/config.gz ...

Generally Necessary:
- cgroup hierarchy: properly mounted [/sys/fs/cgroup]
- CONFIG_NAMESPACES: enabled
- CONFIG_NET_NS: enabled
- CONFIG_PID_NS: enabled
- CONFIG_IPC_NS: enabled
- CONFIG_UTS_NS: enabled
- CONFIG_CGROUPS: enabled
- CONFIG_CGROUP_CPUACCT: enabled
- CONFIG_CGROUP_DEVICE: enabled
- CONFIG_CGROUP_FREEZER: enabled
- CONFIG_CGROUP_SCHED: enabled
- CONFIG_CPUSETS: enabled
- CONFIG_MEMCG: enabled
- CONFIG_KEYS: enabled
- CONFIG_VETH: enabled (as module)
- CONFIG_BRIDGE: enabled (as module)
- CONFIG_BRIDGE_NETFILTER: enabled (as module)
- CONFIG_NF_NAT_IPV4: enabled (as module)
- CONFIG_IP_NF_FILTER: enabled (as module)
- CONFIG_IP_NF_TARGET_MASQUERADE: enabled (as module)
- CONFIG_NETFILTER_XT_MATCH_ADDRTYPE: enabled (as module)
- CONFIG_NETFILTER_XT_MATCH_CONNTRACK: enabled (as module)
- CONFIG_NETFILTER_XT_MATCH_IPVS: enabled (as module)
- CONFIG_IP_NF_NAT: enabled (as module)
- CONFIG_NF_NAT: enabled (as module)
- CONFIG_NF_NAT_NEEDED: enabled
- CONFIG_POSIX_MQUEUE: enabled
- CONFIG_DEVPTS_MULTIPLE_INSTANCES: enabled

Optional Features:
- CONFIG_USER_NS: enabled
- CONFIG_SECCOMP: enabled
- CONFIG_CGROUP_PIDS: enabled
- CONFIG_MEMCG_SWAP: enabled
- CONFIG_MEMCG_SWAP_ENABLED: enabled
    (cgroup swap accounting is currently enabled)
- CONFIG_MEMCG_KMEM: enabled
- CONFIG_BLK_CGROUP: enabled
- CONFIG_BLK_DEV_THROTTLING: enabled
- CONFIG_IOSCHED_CFQ: enabled
- CONFIG_CFQ_GROUP_IOSCHED: enabled
- CONFIG_CGROUP_PERF: enabled
- CONFIG_CGROUP_HUGETLB: enabled
- CONFIG_NET_CLS_CGROUP: enabled
- CONFIG_CGROUP_NET_PRIO: enabled
- CONFIG_CFS_BANDWIDTH: enabled
- CONFIG_FAIR_GROUP_SCHED: enabled
- CONFIG_RT_GROUP_SCHED: enabled
- CONFIG_IP_NF_TARGET_REDIRECT: enabled (as module)
- CONFIG_IP_VS: enabled (as module)
- CONFIG_IP_VS_NFCT: enabled
- CONFIG_IP_VS_PROTO_TCP: enabled
- CONFIG_IP_VS_PROTO_UDP: enabled
- CONFIG_IP_VS_RR: enabled (as module)
- CONFIG_EXT3_FS: enabled
- CONFIG_EXT3_FS_XATTR: missing
- CONFIG_EXT3_FS_POSIX_ACL: enabled
- CONFIG_EXT3_FS_SECURITY: enabled
    (enable these ext3 configs if you are using ext3 as backing filesystem)
- CONFIG_EXT4_FS: enabled
- CONFIG_EXT4_FS_POSIX_ACL: enabled
- CONFIG_EXT4_FS_SECURITY: enabled
- Network Drivers:
  - "overlay":
    - CONFIG_VXLAN: enabled (as module)
      Optional (for encrypted networks):
      - CONFIG_CRYPTO: enabled
      - CONFIG_CRYPTO_AEAD: enabled
      - CONFIG_CRYPTO_GCM: enabled
      - CONFIG_CRYPTO_SEQIV: enabled
      - CONFIG_CRYPTO_GHASH: enabled
      - CONFIG_XFRM: enabled
      - CONFIG_XFRM_USER: enabled
      - CONFIG_XFRM_ALGO: enabled
      - CONFIG_INET_ESP: enabled (as module)
      - CONFIG_INET_XFRM_MODE_TRANSPORT: enabled (as module)
  - "ipvlan":
    - CONFIG_IPVLAN: enabled (as module)
  - "macvlan":
    - CONFIG_MACVLAN: enabled (as module)
    - CONFIG_DUMMY: enabled (as module)
  - "ftp,tftp client in container":
    - CONFIG_NF_NAT_FTP: enabled (as module)
    - CONFIG_NF_CONNTRACK_FTP: enabled (as module)
    - CONFIG_NF_NAT_TFTP: enabled (as module)
    - CONFIG_NF_CONNTRACK_TFTP: enabled (as module)
- Storage Drivers:
  - "aufs":
    - CONFIG_AUFS_FS: missing
  - "btrfs":
    - CONFIG_BTRFS_FS: enabled
    - CONFIG_BTRFS_FS_POSIX_ACL: enabled
  - "devicemapper":
    - CONFIG_BLK_DEV_DM: enabled
    - CONFIG_DM_THIN_PROVISIONING: enabled (as module)
  - "overlay":
    - CONFIG_OVERLAY_FS: enabled (as module)
  - "zfs":
    - /dev/zfs: missing
    - zfs command: missing
    - zpool command: missing

Limits:
- /proc/sys/kernel/keys/root_maxkeys: 1000000

 

Edited by Tido
added spoiler
Link to post
Share on other sites
4 minutes ago, Károly Lónich said:

I've tried and it failed to boot. I've tried the debian strech image also but got the same result.


Last time I was playing with it only HDMI console was out while board went up. Perhaps try installing on some x86 machine to see if the install recipe works.

Link to post
Share on other sites

Last time I was playing with it only HDMI console was out while board went up. Perhaps try installing on some x86 machine to see if the install recipe works.
I've tried on latest Ubuntu on Virtual Box virtual machine (x64) and it works. Probably it is a docker multi-arch functionality issue. Anyway I will play with it on my rashpberry pi because I need my rockpro64 to run continuously for other services. I will write here if I have any update.

Sent from my MHA-L29 using Tapatalk

Link to post
Share on other sites

Hi,

just received my Helios4 from Kobol.io and got the same problem:

 

standard_init_linux.go:207: exec user process caused "exec format error"

and the docker container get stuck on Restarting status.

 

I tried to install mayan-edms:

- via armbian-config,

- with the script at https://get.mayan-edms.com/ ,

- manually pulling and running the docker images,

 

with the same result.

 

I tried on my x86 laptop with Ubuntu 18.04 and Docker 18.09 with the script and the installation went well.

 

This is what check-config tells me on Helios4:

Spoiler

 


info: reading kernel config from /proc/config.gz ...

Generally Necessary:
- cgroup hierarchy: properly mounted [/sys/fs/cgroup]
- CONFIG_NAMESPACES: enabled
- CONFIG_NET_NS: enabled
- CONFIG_PID_NS: enabled
- CONFIG_IPC_NS: enabled
- CONFIG_UTS_NS: enabled
- CONFIG_CGROUPS: enabled
- CONFIG_CGROUP_CPUACCT: enabled
- CONFIG_CGROUP_DEVICE: enabled
- CONFIG_CGROUP_FREEZER: enabled
- CONFIG_CGROUP_SCHED: enabled
- CONFIG_CPUSETS: enabled
- CONFIG_MEMCG: enabled
- CONFIG_KEYS: enabled
- CONFIG_VETH: enabled (as module)
- CONFIG_BRIDGE: enabled
- CONFIG_BRIDGE_NETFILTER: enabled (as module)
- CONFIG_NF_NAT_IPV4: enabled (as module)
- CONFIG_IP_NF_FILTER: enabled (as module)
- CONFIG_IP_NF_TARGET_MASQUERADE: enabled (as module)
- CONFIG_NETFILTER_XT_MATCH_ADDRTYPE: enabled (as module)
- CONFIG_NETFILTER_XT_MATCH_CONNTRACK: enabled (as module)
- CONFIG_NETFILTER_XT_MATCH_IPVS: enabled (as module)
- CONFIG_IP_NF_NAT: enabled (as module)
- CONFIG_NF_NAT: enabled (as module)
- CONFIG_NF_NAT_NEEDED: enabled
- CONFIG_POSIX_MQUEUE: enabled

Optional Features:
- CONFIG_USER_NS: enabled
- CONFIG_SECCOMP: enabled
- CONFIG_CGROUP_PIDS: enabled
- CONFIG_MEMCG_SWAP: enabled
- CONFIG_MEMCG_SWAP_ENABLED: missing
    (cgroup swap accounting is currently not enabled, you can enable it by setting boot option "swapaccount=1")
- CONFIG_BLK_CGROUP: enabled
- CONFIG_BLK_DEV_THROTTLING: enabled
- CONFIG_IOSCHED_CFQ: enabled
- CONFIG_CFQ_GROUP_IOSCHED: enabled
- CONFIG_CGROUP_PERF: enabled
- CONFIG_CGROUP_HUGETLB: missing
- CONFIG_NET_CLS_CGROUP: enabled
- CONFIG_CGROUP_NET_PRIO: enabled
- CONFIG_CFS_BANDWIDTH: enabled
- CONFIG_FAIR_GROUP_SCHED: enabled
- CONFIG_RT_GROUP_SCHED: missing
- CONFIG_IP_NF_TARGET_REDIRECT: enabled (as module)
- CONFIG_IP_VS: enabled (as module)
- CONFIG_IP_VS_NFCT: enabled
- CONFIG_IP_VS_PROTO_TCP: enabled
- CONFIG_IP_VS_PROTO_UDP: enabled
- CONFIG_IP_VS_RR: enabled (as module)
- CONFIG_EXT4_FS: enabled
- CONFIG_EXT4_FS_POSIX_ACL: enabled
- CONFIG_EXT4_FS_SECURITY: enabled
- Network Drivers:
  - "overlay":
    - CONFIG_VXLAN: enabled (as module)
      Optional (for encrypted networks):
      - CONFIG_CRYPTO: enabled
      - CONFIG_CRYPTO_AEAD: enabled
      - CONFIG_CRYPTO_GCM: enabled
      - CONFIG_CRYPTO_SEQIV: enabled
      - CONFIG_CRYPTO_GHASH: enabled
      - CONFIG_XFRM: enabled
      - CONFIG_XFRM_USER: enabled
      - CONFIG_XFRM_ALGO: enabled
      - CONFIG_INET_ESP: enabled (as module)
      - CONFIG_INET_XFRM_MODE_TRANSPORT: enabled (as module)
  - "ipvlan":
    - CONFIG_IPVLAN: missing
  - "macvlan":
    - CONFIG_MACVLAN: enabled (as module)
    - CONFIG_DUMMY: enabled (as module)
  - "ftp,tftp client in container":
    - CONFIG_NF_NAT_FTP: enabled (as module)
    - CONFIG_NF_CONNTRACK_FTP: enabled (as module)
    - CONFIG_NF_NAT_TFTP: enabled (as module)
    - CONFIG_NF_CONNTRACK_TFTP: enabled (as module)
- Storage Drivers:
  - "aufs":
    - CONFIG_AUFS_FS: enabled
  - "btrfs":
    - CONFIG_BTRFS_FS: enabled
    - CONFIG_BTRFS_FS_POSIX_ACL: enabled
  - "devicemapper":
    - CONFIG_BLK_DEV_DM: enabled
    - CONFIG_DM_THIN_PROVISIONING: enabled (as module)
  - "overlay":
    - CONFIG_OVERLAY_FS: enabled (as module)
  - "zfs":
    - /dev/zfs: missing
    - zfs command: missing
    - zpool command: missing

Limits:
- /proc/sys/kernel/keys/root_maxkeys: 1000000

 

 

Thanx

 

 

Edited by pliski
check-config on Helios4
Link to post
Share on other sites
3 hours ago, pliski said:

I tried on my x86 laptop with Ubuntu 18.04 and Docker 18.09 with the script and the installation went well.


Do you have an option to check it on some other ARM hardware?

Can you provide logs?

armbianmonitor -u

 

3 hours ago, pliski said:

This is what check-config tells me:


On Helios or your x86 Notebok?

Link to post
Share on other sites

The same here on an odroid hc1

 

docker version
Client:
 Version:           18.09.1
 API version:       1.39
 Go version:        go1.11.6
 Git commit:        4c52b90
 Built:             Tue, 03 Sep 2019 19:59:35 +0200
 OS/Arch:           linux/arm
 Experimental:      false

Server:
 Engine:
  Version:          18.09.1
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.11.6
  Git commit:       4c52b90
  Built:            Tue Sep  3 17:59:35 2019
  OS/Arch:          linux/arm
  Experimental:     false

docker logs mayan-edms
standard_init_linux.go:207: exec user process caused "exec format error"

 

Link to post
Share on other sites
1 hour ago, suchende said:

Not directly

straight to the point: The ARM Cortex-A15 MPCore is a 32-bit processor core  -  did you buy the wrong SBC for your project?

Or you help them (Mayan) to port it to 32-bit, as they ask for in the gitlab link provided by Igor  -  so everybody gets a solution not only armbian.

 

Link to post
Share on other sites
4 hours ago, suchende said:

I just want to try this software.

 

4 hours ago, suchende said:

I address this as a possible workaround for armbian-config.


One of the biggest problem opensource project share is maintaining. Join https://github.com/armbian/config/graphs/contributors study how things runs, fix problems - there are many more than this small issue - and help others. You will see how nice that is :P

Link to post
Share on other sites
On 3/25/2020 at 10:42 PM, Igor said:

seems related to 32bit armhf

I tried it on Rock Pi 4B.  I went to armbian-config, choose mayan and let it run.  It doesn't work.  Do I need to follow some process?

I think it is the same as @pliski mentioned in January: the docker container get stuck on Restarting status.  SoC was quite hot.

Link to post
Share on other sites

I ran it now on Odroid N2 and it gets stuck at:
 

Spoiler

* Removing existing Mayan EDMS and PostgreSQL containers (no data will be lost)...Done
* Pulling (downloading) the Redis Docker image...Done
* Pulling (downloading) the PostgreSQL Docker image...Done
* Pulling (downloading) the Mayan EDMS Docker image...Done
* Creating Docker network...3c6535021ac718bc12ad9d9354b446527d96ae0fec7c8911f7229c3f1ef931eb
Done
* Deploying the PostgreSQL container...Done
* Deploying the Redis container...Done
* Waiting for the PostgreSQL container to be ready (10 seconds)...Done
* Deploying Mayan EDMS container...Done
* Waiting for the Mayan EDMS container to be ready (might take a few minutes).............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................

 


I will ofc not proceed with debugging this 3rd party software, but it would be good to notify the author that there is something wrong ...

 

Armbian config script only calls their installer after installing Docker first: https://github.com/armbian/config/blob/master/debian-software#L1780

Link to post
Share on other sites

@Igor I cannot validate if the bash script you link to does the same as here: https://www.mayan-edms.com/download/   

 

I suppose I have now already Docker installed, being as far as you show in your spoiler.  So, I can try to run the curl command and see what happens: 

Basic form:
curl -fsSL get.mayan-edms.com -o get-mayan-edms.sh
sh get-mayan-edms.sh

if you dont have Docker installed invoke the Mayan EDMS installer as follows:
curl -fsSL get.mayan-edms.com -o get-mayan-edms.sh
INSTALL_DOCKER=true sh get-mayan-edms.sh

 

Link to post
Share on other sites
22 minutes ago, Tido said:

I suppose I have now already Docker installed, being as far as you show in your spoiler.  So, I can try to run the curl command and see what happens: 


Consider that this method was tested by me when we added it, at 29.09.2018 and we didn't change anything.

Link to post
Share on other sites

on their documentation is a step by step instead of the script, so I put in line by line from 2, 3, and 4 and then tried to start the container (jumped over a few steps):

 

7. Create and run a Mayan EDMS container:

> mayanedms/mayanedms:3.3.16
docker: Error response from daemon: Conflict. The container name "/mayan-edms" is already in use by container "4687800548c34fcd236454f2cf4ffc7685d73efdebfdd8e553d4feae54d991fd". 
You have to remove (or rename) that container to be able to reuse that name.

 

Who knows about docker?  How to remove existing docker container?

 

Link to post
Share on other sites
19 hours ago, w0ndersp00n said:

a Dockerfile for armhf and or aarch64


Taken from Aug 1, 2019:  https://www.mayan-edms.com/post/mayan-edms-version-3.2-released/

 

Python 3

Long awaited Python 3 support is here. To ensure a smooth transition only the Mayan EDMS Python package will be released supporting Python 2.7 and 3. For the next release, the Docker image will be converted to work on Python 3. And finally, on the release of the next major version (version 4.0), Python 3 will be the only Python version support. This version of Mayan EDMS, as well as future versions of the same series (3.x) will be the last version supporting python 2.7.

 

To summarize:

  • Version 3.2: Python 2.7 & Python 3, Docker with Python 2.7.
  • Version 3.3 and up: Python 2.7 & Python 3, Docker with Python 3.
  • Version 4.0: Python 3 only, Docker with Python 3.

 


https://gitlab.com/mayan-edms/mayan-edms/issues/422

 

I started experimenting with an ARM image but it is not finished yet and not published: https://gitlab.com/mayan-edms/mayan-edms-docker/blob/master/Dockerfile.aarch64

If you are willing to help test it I can work on it after the next release when I also update the x64 image.

=========
John Voysey
I've forked the new mayan-edms-docker-aarch64 project and updated the Dockerfile for one that will build & run on a Raspberry Pi. At the moment I've got Mayan 2.7.3 running successfully, and while I haven't tested extensively, it appears to be working fine.
The project is available  https://gitlab.com/melkior/mayan-edms-docker-rpi with some brief instructions on how to build & run the image.

=========

A year later jumblies  made some progress with John's repo: https://gitlab.com/mayan-edms/mayan-edms/issues/422#note_101504405

but  still on: gcc and python2.7 dev branches installed

=========

Reading through the thread, I think  Eric Riggs  got the best indications of what it needs to get fixed. However, he doesn't know how to fix it I guess, as he hasn't done it?
https://gitlab.com/mayan-edms/mayan-edms/issues/422#note_69672919

 

About the scripts:

https://gitlab.com/mayan-edms/mayan-edms/blob/master/contrib/scripts/install/docker.sh

 

 

Link to post
Share on other sites

Actually, the current Dockerfile is working for aarch64. I've tested it on my N2. The issue is that the GitLab CI right now seems to lack the option to build ARM images, that's why they're not supplied. You have to build on the platform for which the image should be.

 

On my N2 I followed this guide: https://docs.mayan-edms.com/chapters/docker/building.html

 

I only changed the tag in the Makefile, because I didn't know if it would conflict.

 

After building locally, you can start the container. As of now I haven't noticed any issues, but haven't been using it longer than a few hours.

 

Basically, the script in Armbian Config to install Mayan EDMS will never work, because it tries to use an AMD64/x64 image. It could be possible to change the script, so that the SBC will build the image itself. Another option is, if anyone has experience with it, to automatically build the aarch64 image and publish it on the Docker Hub.

Link to post
Share on other sites
7 minutes ago, w0ndersp00n said:

It could be possible to change the script, so that the SBC will build the image itself


If you can come up with a replacement that would build an image, that is already good enough. How long does it take on N2? I assume this application is anyway not suited for Orangepi Zero and similar low end boards.

 

7 minutes ago, w0ndersp00n said:

Another option is, if anyone has experience with it, to automatically build the aarch64 image and publish it on the Docker Hub.


Author is saying "We've tried cross platform builds but they never worked reliably. " 

 

https://docs.docker.com/buildx/working-with-buildx/#build-multi-platform-images

"As soon as it comes out of beta this is something we might implement in out automatic builds. However, the performance hit of Docker under most ARM architectures, might make a Docker image of Mayan something only useful in the most powerful ARM boards."

Link to post
Share on other sites

Building on the N2 takes about 5 to 10 minutes, so it's not that bad. The resulting image is about 1.2 GB in size.

I'm not really someone who can write great scripts, but I'll get out my old C2 and try to make a script that builds the image and then starts Docker with it.

Link to post
Share on other sites

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.

Loading...