Installation via Docker sur ARM64

Bonjour,

J’ai suivi la procĂ©dure d’installation de cette page : https://doc.dokos.io/dodock/installation/docker/

Mon VPS est sur arm64 et je rencontre l’erreur suivante :

Avez-vous déjà rencontrer cette erreur ?

Bonjour Nicolas,

Il est possible de voir le contenu de l’erreur avec la commande suivante :

docker logs dodock-configurator-1

Je viens de rĂ©essayer sur mon ordinateur sur une architecture x86_64 et ça fonctionne du premier coup, donc je soupçonne une incompatibilitĂ© quelque part, peut-ĂȘtre mineure.


Pour information, les logs doivent ressembler Ă  :

corentin:~$ docker logs dodock-configurator-1                                                           
+ ls -1 apps
+ bench set-config -g db_host db
+ bench set-config -gp db_port 3306
+ bench set-config -g redis_cache redis://redis-cache:6379
+ bench set-config -g redis_queue redis://redis-queue:6379
+ bench set-config -g redis_socketio redis://redis-socketio:6379
+ bench set-config -gp socketio_port 9000

Bojour Corentin,

La sortie de la commande sur mon environnement estr la suivantes :

exec /usr/bin/bash: exec format error
exec /usr/bin/bash: exec format error
exec /usr/bin/bash: exec format error

Je suis sur une architecture ARM64 le problĂšme vient peut-ĂȘtre de là


Ah oui je comprends, le projet Dokos fournit des images Docker qui sont construites sur une machine x86 seulement, et qui sont donc incompatibles avec l’architecture ARM !

Pour l’instant il faudra construire l’image toi-mĂȘme :

git clone https://github.com/frappe/frappe_docker.git
cd frappe_docker
docker build \
  --build-arg=FRAPPE_PATH=https://gitlab.com/dokos/dodock \
  --build-arg=FRAPPE_BRANCH=v4 \
  --build-arg=PYTHON_VERSION=3.10 \
  --build-arg=NODE_VERSION=18.16.1 \
  --tag=registry.gitlab.com/dokos/dodock \
  --file=images/custom/Containerfile .

Pour Dokos (l’ERP) c’est quelques lignes supplĂ©mentaires, cf. gitlab.com/dokos/dokos/
/.gitlab-ci.yml.

Je vais essayer de réfléchir à une solution plus pérenne, tu ne seras sûrement pas la seule personne à avoir ce soucis.

Corentin

Bonjour, je me permets de remonter le sujet car j’ai le mĂȘme soucis. Une image pour ARM est-elle prĂ©vue ?

Bonjour @synchrom,

Pour l’instant nous n’avons pas pu mettre en place la construction d’images multi-architectures pour Dokos. En ce dĂ©but d’annĂ©e on a eu pas mal d’autre sujets Ă  traiter, et malheureusement les images ARM ont Ă©tĂ© repoussĂ©es Ă  plus tard, Ă  la fois par manque de temps et parce que les images prennent 10 fois plus de temps Ă  construire sur notre runner AMD via l’émulation ARM.


Ceci Ă©tant dit, j’ai tentĂ© quelque chose ce matin. Si jamais quelqu’un peut tester cette image minimale Dodock (framework seul sans Dokos) : registry.gitlab.com/dokos/dodock:692fce3d

Que ce soit avec un docker run --rm registry.gitlab.com/dokos/dodock:692fce3d pour tester rapidement, ou avec le fichier compose correspondant, en ajoutant le tag :692fce3d dans le nom de l’image ligne 4.

Ça me permettrait de savoir si le build ARM a fonctionnĂ©.

Merci, j’ai pu tester l’image et ça semble fonctionner sans problĂšmes. Ça serait gĂ©nial si on pouvait avoir une image pour dokos

@Nicolas, @synchrom

Petit update sur ce sujet : malheureusement ça va ĂȘtre trop compliquĂ© pour nous de proposer des images ARM ou multi-architecture pour Dokos pour l’instant.

Je suggĂšre donc :

  • Soit de construire soi-mĂȘme les images Ă  chaque mise Ă  jour (documentation)
  • Soit d’utiliser l’installation standard en ligne de commande (documentation)
  • Enfin, si possible, ne pas utiliser l’architecture ARM

À Ă©valuer selon la machine, je suppose qu’un Raspberry Pi 3 doit ĂȘtre en mesure de construire les images/effectuer l’installation standard en lui laissant du temps et avec du swap.