Plus

Docker personnalisé

Ce tutoriel utilise l'outil Frappe Docker pour déployer Dokos sous Docker.
Pour bien comprendre Frappe Docker, veuillez vous référer à sa documentation.

Ce tutoriel est à destination de la communauté Dokos et dépend du projet Frappe Docker, il peut donc ne pas être à jour. N'hésitez pas à ouvrir un ticket sur https://gitlab/dokos/documentation si c'est le cas.

Configuration avancée avec Docker

Frappe Docker

Frappe Docker est un projet communautaire permettant d'installer Frappe et ERPNext dans des conteneurs Docker.
Dodock étant basé sur le framework Frappe, il est possible d'utiliser ce projet en changeant quelques éléments afin de lancer Dodock et Dokos dans des conteneurs Docker.

Docker

Si Docker et Docker Compose ne sont pas installés sur votre serveur, vous pouvez utiliser la commande suivante ou vous reporter à la documentation de Docker.

# Install docker and docker-compose-plugin
curl -fsSL https://get.docker.com | bash

Création des images

Afin de pouvoir lancer un site Dokos dans un conteneur Docker, il faut commencer par construire les images qui seront utilisées.
Les modifications de configuration proposées ci-dessous permettent de générer des images incluant Dodock, Payments, Dokos et HRMS.
Vous pouvez modifier la configuration pour exclure HRMS ou Payments + Dokos.

Rappel: Payments est une application nécessaire au fonctionnement de Dokos. Vous ne pouvez pas l'exclure sans exclure Dokos.

  1. Étape 1: Clonez https://github.com/frappe/frappe_docker
git clone https://github.com/frappe/frappe_docker
  1. Étape 2: Configurez les applications à installer dans l'image finale.
export APPS_JSON='[
    {
        "url": "https://gitlab.com/dokos/payments",
        "branch": "v4"
    },
    {
        "url": "https://gitlab.com/dokos/hrms",
        "branch": "v4"
    },
    {
        "url": "https://gitlab.com/dokos/dokos",
        "branch": "v4"
    }
]'
export APPS_JSON_BASE64=$(echo ${APPS_JSON} | base64 -w 0)
Pour chaque variable de version pensez à mettre à jour avec la version de l'application que vous souhaitez installer.
Les dernières versions sont disponibles dans les répertoires GitLab de chaque application.
  1. Étape 3: Construisez l'image à partir de images/custom/Dockerfile.
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.17.0 \
  --build-arg=APPS_JSON_BASE64=$APPS_JSON_BASE64 \
  --tag=custom-dokos:v4 \
  --file=images/custom/Containerfile .
Pour la variable FRAPPE_BRANCH, pensez à la mettre à jour avec la version de Dodock que vous souhaitez installer.

Création d'un site Dokos

Avant de lancer la création de votre site Dokos, éditez le fichier pwd.yml et remplacez la version des images d'ERPNext par le tag que vous avez utilisé lors de la construction de vos images.

@@ -2,7 +2,7 @@ version: "3"
 
 services:
   backend:
-    image: frappe/erpnext:v14.17.1
+    image: custom-dokos:v4
 
   configurator:
-    image: frappe/erpnext:v14.17.1
+    image: custom-dokos:v4
 
   create-site:
-    image: frappe/erpnext:v14.17.1
+    image: custom-dokos:v4

   frontend:
-    image: frappe/erpnext:v14.17.1
+    image: custom-dokos:v4
 
   queue-default:
-    image: frappe/erpnext:v14.17.1
+    image: custom-dokos:v4
 
   queue-long:
-    image: frappe/erpnext:v14.17.1
+    image: custom-dokos:v4
 
   queue-short:
-    image: frappe/erpnext:v14.17.1
+    image: custom-dokos:v4
 
   scheduler:
-    image: frappe/erpnext:v14.17.1
+    image: custom-dokos:v4
 
   websocket:
-    image: frappe/erpnext:v14.17.1
+    image: custom-dokos:v4

De plus, si vous souhaitez installer HRMS sur votre site, modifiez la ligne suivante :

@@ -68,7 +68,7 @@ services:
           fi
         done;
         echo "sites/common_site_config.json found";
-        bench new-site frontend --no-mariadb-socket --admin-password=admin --db-root-password=admin --install-app erpnext --set-default;
+        bench new-site frontend --no-mariadb-socket --admin-password=admin --db-root-password=admin --install-app dokos --install-app hrms --set-default;

Vous pouvez ensuite lancer votre site Dokos, en utilisant la commande :

docker compose -p dokos -f pwd.yml up -d

L'installation du site peut prendre quelques minutes, vous pouvez suivre son avancement avec la commande docker logs dokos-create-site-1 -f, ou simplement attendre avec docker wait dokos-create-site-1.

Ensuite, vous pouvez suivre les instructions de l'installation standard Docker de Dokos.

Anciennes méthodes et liens utiles


CC-BY-SA 3.0