Plus de méthodes

Docker personnalisé

Déployer Dodock et Dokos dans des conteneurs avec le projet communautaire Frappe Docker, pour une configuration avancée.

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. Si c'est le cas, ouvrez un ticket sur GitLab : il faut un compte GitLab. Vous pouvez aussi le signaler sur le forum.

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.

La construction utilise les secrets de build de Docker. Il faut Docker avec BuildKit (actif par défaut dans les versions récentes) ou Podman avec Buildah.

  1. Étape 1 : clonez https://github.com/frappe/frappe_docker.
git clone https://github.com/frappe/frappe_docker
cd frappe_docker
  1. Étape 2 : créez le fichier apps.json à la racine du dépôt. Il liste les applications à installer dans l'image.
[
    {
        "url": "https://gitlab.com/dokos/payments",
        "branch": "v5"
    },
    {
        "url": "https://gitlab.com/dokos/hrms",
        "branch": "v5"
    },
    {
        "url": "https://gitlab.com/dokos/dokos",
        "branch": "v5"
    }
]
Pour chaque application, indiquez la branche ou le tag de la version que vous voulez installer. Les dernières versions sont disponibles dans les dépôts GitLab de chaque application.
  1. Étape 3 : construisez l'image à partir de images/custom/Containerfile.
docker build \
  --build-arg=FRAPPE_PATH=https://gitlab.com/dokos/dodock \
  --build-arg=FRAPPE_BRANCH=v5 \
  --build-arg=PYTHON_VERSION=3.14 \
  --build-arg=NODE_VERSION=24 \
  --secret=id=apps_json,src=apps.json \
  --tag=custom-dokos:v5 \
  --file=images/custom/Containerfile .

Le fichier apps.json passe par --secret et non par --build-arg : Frappe Docker ne lit plus la variable APPS_JSON_BASE64. Un secret n'est pas gardé dans l'historique de l'image, ce qui protège un éventuel jeton d'accès à un dépôt privé.

Pour la variable FRAPPE_BRANCH, indiquez la version de Dodock que vous souhaitez installer. Dodock v5 demande Python 3.14 (PYTHON_VERSION) et Node.js 24 ou ultérieur (NODE_VERSION). Ce sont aussi les valeurs par défaut du Containerfile de Frappe Docker : vous pouvez omettre ces deux options, mais les écrire fixe les versions si les valeurs par défaut changent.

Création d'un site Dokos

Le fichier pwd.yml de Frappe Docker utilise les images d'ERPNext (frappe/erpnext:<version>). Avant de créer votre site Dokos, remplacez-les par le tag de votre image :

sed -i 's#image: frappe/erpnext:.*#image: custom-dokos:v5#' pwd.yml

Le service create-site installe ERPNext sur le site. Remplacez --install-app erpnext par les applications de votre image. Payments est installé avec Dokos, dont il est une dépendance :

sed -i 's/--install-app erpnext/--install-app dokos --install-app hrms/' pwd.yml

Vérifiez le résultat avec grep -n "image:\|install-app" pwd.yml.

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 Docker de Dokos.

Anciennes méthodes et liens utiles