Installation Dokos sur RHEL 8

Bonjour,

J’ai expérimenté récemment avec l’installation de Dokos sur RHEL 8 et clones, et n’arrive pas à résoudre un problème:

J’installe manuellement le framework en tant qu’utilisateur dédié avec:

export LC_ALL=C.UTF-8
sudo -i python3 -m pip install dokos-cli
cd /var/dokos && docli init --frappe-branch master dokos-erp

Jusqu’à la, tout va bien, je peux créer un site, naviguer, etc.
Par contre, et dès lors que j’essaie d’installer l’application Dokos sur le framework avec la commande:

cd /var/dokos/dokos-erp && docli get-app dokos

j’obtiens le message d’erreur suivant:

ERROR:
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/bench/utils/__init__.py", line 420, in fetch_details_from_tag
    org, repo = org_repo
ValueError: not enough values to unpack (expected 2, got 1)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/bin/docli", line 8, in <module>
    sys.exit(cli())
  File "/usr/local/lib/python3.8/site-packages/bench/cli.py", line 121, in cli
    raise e
  File "/usr/local/lib/python3.8/site-packages/bench/cli.py", line 111, in cli
    bench_command()
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1055, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/bench/commands/make.py", line 142, in get_app
    get_app(
  File "/usr/local/lib/python3.8/site-packages/bench/app.py", line 312, in get_app
    app = App(git_url, branch=branch, bench=bench)
  File "/usr/local/lib/python3.8/site-packages/bench/app.py", line 148, in __init__
    super().__init__(name, branch, *args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/bench/app.py", line 65, in __init__
    self.setup_details()
  File "/usr/local/lib/python3.8/site-packages/bench/app.py", line 91, in setup_details
    self._setup_details_from_name_tag()
  File "/usr/local/lib/python3.8/site-packages/bench/app.py", line 97, in _setup_details_from_name_tag
    self.org, self.repo, self.tag = fetch_details_from_tag(self.name)
  File "/usr/local/lib/python3.8/site-packages/bench/utils/__init__.py", line 422, in fetch_details_from_tag
    org, repo = find_org(org_repo)
  File "/usr/local/lib/python3.8/site-packages/bench/utils/__init__.py", line 401, in find_org
    raise InvalidRemoteException
bench.exceptions.InvalidRemoteException

De ce que j’en comprends, le lien vers le dépot git de dokos ne sembe pas convenir.
Après ajout de quelques print dans le source, j’apprends que le tag passé à la fonction fetch_details_from_tag(_tag) est tout simplement “dokos”, donc évidemment pas assez pour en tirer le nom du dépot.
En parcourant un peu les sources, je remonte à la classe AppMeta a qui on passe en argument le dépot git, mais je ne trouve pas l’appel à la classe.

J’avoue que je ne sais pas trop ou chercher pour la suite. Pouvez-vous m’aider svp ?
Merci.

Bon, a force de lire le code source, j’ai pu installer dokos avec la commande suivante:

docli get-app --branch master https://gitlab.com/dokos/dokos

En espérant que cela pourra aider quelqu’un.

Bonjour @ozy,

Merci pour ce retour.
Oui dokos-cli utilise la même API que frappe-bench. On a pas encore pris le temps de la documenter correctement…

Bah c’est plus que la commande docli get-app --branch master erpnext fonctionne out of the box, donc je me disais qu’il y a quelque chose.
Je viens de terminer la rédaction de mon guide pour RHEL 8, il me manque les détails de mise en production, notamment avec la commande docli setup production pour supervisord ou l’actuel playbook cherche le service supervisor.
C’est un playbook spécifique à Dokos ? Si oui, les PR sont le bienvenues ?
Merci.

Bonjour @ozy?

Oui c’est un playbook spécifique à Dokos (fork de frappe-bench).
Toutes les PR sont les bienvenues sur le répertoire suivant: Dokos / Docli · GitLab

Bonne journée

Bonjour @chdecultot,
Merci d’avoir accepté mes PR RHEL8 sur docli.
Je me posais deux questions:

  1. J’ai écrit un guide de configuration RHEL 8. Pouvez-vous en faire quelque chose, ou avez vous un endroit ou je puis le retranscrire ?
  2. Serait-ce utile que je fasse ces mêmes PR upstream pour garder les différences de code à minima ?

Cordialement.

Bonjour @ozy,

Merci pour ces contributions !

L’idéal serait de publier le guide sur le site de documentation de Dokos: https://doc.dokos.io
Vous pouvez vous créer un compte et éditer les pages existantes normalement (n’hésitez pas à me contacter pour avoir des droits d’édition supplémentaires)

Sinon, vous pouvez le poster sur ce forum, mais il sera moins visible dans le temps…

En ce qui concerne les PR upstream (sur Bench) c’est toujours une bonne idée !
Vous pouvez aussi faire vos PR directement upstream et on les réintégrera dans Dokos.

Bonne journée !

PR faites upstream.
Pour ce qui est de la doc, la page d’installation existante est dédiée à Debian/Ubuntu.
Je pense que ce serait plus simple de créer une page dédiée RHEL plutôt que de modifier la doc existante.
J’ai crée un compte (Orsiris de Jong), pourrais-je avoir les droits d’ajout et modification des pages installation ?

Bonjour @ozy,

Je vous ai donné les droits pour créer et modifier des pages dans la documentation.

Merci beaucoup pour votre aide !

Merci, j’ai commencé à faire quelques edits :wink:
Je m’occupe de créer la page RHEL8 dans les jours qui suivent.

1 Like