Installation

Installation standard

Installer Dokos v5 sur un serveur Ubuntu 24.04, en mode production ou en mode développement.

Installation de Dokos v5 sur Ubuntu 24.04

Ce guide a été testé sur Ubuntu 24.04. Si une erreur se produit lors de l'installation, n'hésitez pas à poster un message sur le forum de la communauté. Ce guide d'installation existe aussi pour Dokos v4.

Pré-requis

Le serveur Ubuntu doit posséder au moins 4 Go de RAM, 40 Go d'espace disque, ainsi qu'un utilisateur non root avec accès sudo.

Création d'un utilisateur

Si ça n'est pas déjà le cas, par exemple si votre serveur est nouvellement créé, vous devrez créer un utilisateur non-root et lui donner les droits sudo. Ensuite, connectez-vous à votre serveur via SSH avec cet utilisateur.

Commandes pour créer un utilisateur
adduser dokos
usermod -aG sudo dokos
rsync --archive --chown=dokos:dokos ~/.ssh /home/dokos
exit

Ces étapes sont extraites du guide de démarrage Ubuntu par Digital Ocean.

Python 3.14

Dodock v5 demande Python 3.14 exactement (>=3.14,<3.15). Vérifiez que Python 3.14 est installé, puis installez les paquets supplémentaires.

python3.14 --version
# Python 3.14.x
sudo apt-get install python3.14 python3.14-dev python3.14-venv

Ubuntu 24.04 fournit Python 3.12. Installez Python 3.14 depuis le dépôt deadsnakes :

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update -y
sudo apt-get install python3.14 python3.14-dev python3.14-venv

Git, Redis, wkhtmltopdf, etc.

Ensuite, installez les paquets suivants :

# Mise à jour des dépôts
sudo apt-get install -y git redis-server ca-certificates file pkg-config default-libmysqlclient-dev build-essential xvfb libfontconfig wkhtmltopdf
wkhtmltopdf produit les documents PDF de Dokos. Vérifiez sa version avec wkhtmltopdf --version. La version recommandée est 0.12.6 (with patched qt) : sans le Qt patché, les en-têtes et pieds de page des PDF peuvent manquer.

MariaDB (10.6 à 11.8)

Dodock affiche un avertissement avec une version de MariaDB antérieure à 10.6 ou postérieure à 11.8. Ubuntu 24.04 fournit MariaDB 10.11.

sudo apt-get install -y mariadb-server mariadb-client

Pendant l'installation, vous devrez choisir un mot de passe pour l'utilisateur root pour votre base de données. Ce dernier doit être précieusement conservé, il vous sera demandé lors de la création de chaque site et pour certaines opérations de maintenance.

Pour le configurer ou le modifier, vous pouvez lancer la commande suivante :

sudo mariadb-secure-installation
# > Enter current password for root (enter for none):
# Laissez vide et appuyez sur Entrée à la première question.

# > Switch to unix_socket authentication [Y/n] n
# Répondre non (n) à la question, car nous utiliserons l'authentification par mot de passe.

# > Set root password? [Y/n] Y
# Répondre oui (Y), puis entrer un mot de passe sécurisé pour l'utilisateur `root` de la base de données.
# Ce mot de passe sera demandé à chaque création de site, ainsi que lors ce certaines opérations de maintenance.

# Ensuite, répondre oui (Y) à toutes les questions suivantes.
# > Remove anonymous users? [Y/n] Y
# > Disallow root login remotely? [Y/n] Y
# > Remove test database and access to it? [Y/n] Y
# > Reload privilege tables now? [Y/n] Y

Vérifiez que vous pouvez vous connecter à la base de données avec le mot de passe que vous avez défini :

mysql -u root -p
# Pour quitter la console, tapez `exit`

NodeJS (v24 ou ultérieur) et yarn

Vous pouvez installer NodeJS via nvm ou le gestionnaire de paquets de votre distribution.

curl -o - https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
. "$HOME/.nvm/nvm.sh"
nvm install 24
npm install -g yarn

# Créez un lien symbolique pour que NodeJS soit accessible facilement à tous les utilisateurs
sudo ln -s $(which node) /usr/bin/

Vérifiez que NodeJS a bien été installé

node -v
# v24.x.y

docli

La commande bench de Dokos vient de docli, une adaptation de Bench. Elle gère vos sites et applications Dodock. Sur PyPI, le paquet de docli s'appelle dokos-cli : installez-le avec pip.

Ne confondez pas docli avec l'outil Dokos CLI (commande dokos), qui dialogue avec un site par l'API REST.
export PATH=$PATH:$HOME/.local/bin
printf '\n%s\n' 'export PATH=$PATH:$HOME/.local/bin' >> ~/.bashrc
pip install --user --upgrade --quiet --break-system-packages dokos-cli

Ensuite, vérifiez que docli est bien installé :

bench --version
# 2.9.2
Si la commande bench n'est pas trouvée, relancez votre terminal pour que les modifications de votre variable d'environnement PATH soient prises en compte. En dernier recours, vous pouvez aussi ajouter la ligne export PATH=$PATH:$HOME/.local/bin à votre fichier ~/.bashrc.

Démarrage du serveur et installation d'un site

Création d'un bench

Un bench est un ensemble de sites et d'applications, et se crée avec les commandes suivantes :

cd  # Retournez dans votre dossier personnel
bench init dokos-bench --version v5 --python $(which python3.14) --frappe-path https://gitlab.com/dokos/dodock
cd dokos-bench

Ensuite, téléchargez les applications que vous souhaitez installer sur vos sites. Nous vous recommandons les applications suivantes pour démarrer, mais beaucoup d'autres applications sont disponibles.

# Téléchargez les applications de base
bench get-app --branch v5 https://gitlab.com/dokos/payments
bench get-app --branch v5 https://gitlab.com/dokos/dokos
bench get-app --branch v5 https://gitlab.com/dokos/webshop
bench get-app --branch v5 https://gitlab.com/dokos/hrms
# bench get-app --branch v5 https://github.com/frappe/blog
# bench get-app --branch v5 https://gitlab.com/dokos/bookings

Démarrage du serveur

Si vous souhaitez installer Dokos en mode développement, suivez les instructions suivantes. Vous pouvez ignorer les instructions du mode production.
Cliquez ici pour afficher/masquer les instructions du mode développement

Activer le developer_mode et lancer le serveur avec bench start vous permet de voir vos modifications de code en temps réel. Vous devrez lancer le serveur manuellement à chaque redémarrage de votre ordinateur.

# Dans un NOUVEAU terminal, lancez le serveur de développement manuellement
bench start

# Vous pouvez masquer la fenêtre

# Retournez dans le terminal précédent, puis créez un site.
bench new-site monsite.dokos.cloud

# Puis activez le mode développeur
bench --site monsite.dokos.cloud set-config developer_mode 1

Vérifiez que vous êtes bien dans le bench que vous venez de créer puis lancez les commandes suivantes pour activer le mode production de Dokos.

sudo mkdir -p /root/.config/pip
printf "[global]\nbreak-system-packages = true\n" | sudo tee -a /root/.config/pip/pip.conf
sudo python3 -m pip install -U -q dokos-cli
sudo -H bench setup production $USER

Création d'un site

Créez votre site et installez les applications dont vous avez besoin.

# Créez un site (remplacez `monsite.dokos.cloud` par le nom de domaine de votre choix)
bench new-site monsite.dokos.cloud

# Installez les applications dont vous avez besoin
bench --site monsite.dokos.cloud install-app payments dokos webshop hrms
Si une erreur se produit lors de l'installation, n'hésitez pas à poster un message sur le forum.

Finaliser l'installation

Par défaut, Nginx accède aux fichiers de votre site en tant qu'utilisateur www-data à l'aide d'un lien symbolique. Pour que cela fonctionne, vous devez donner à Nginx le droit de traverser votre dossier utilisateur et suivre le lien symbolique.

setfacl --modify user:www-data:x ~

Une fois le site créé, vous pouvez vous connecter et accéder à l'interface d'administration avec l'une des adresses suivantes :

Utilisez les identifiants suivants :

  • Adresse email : Administrator
  • Mot de passe : le mot de passe que vous avez choisi lors de la création du site.

Suivez les étapes de l'Assistant de configuration pour finaliser l'installation.

Pour aller plus loin

Pour le rendre accessible depuis l'extérieur, il faut configurer un enregistrement DNS qui pointe vers votre serveur, et configurer Let's Encrypt pour obtenir un certificat SSL.

DNS multi-tenant

Configuration du nom de domaine

Let's Encrypt

Configuration du certificat SSL avec Let's Encrypt

Questions Fréquentes

Le site s'affiche sans mise en forme ni couleurs ?

  • Vérifiez que votre dossier utilisateur serveur est bien accessible pour Nginx.
  • Vous pouvez donner le droit de traverser le dossier en lançant chmod +x /home/<votre-utilisateur>.

Références