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.
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.
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.
Tout d'abord, vérifiez que Python 3.14 ou ultérieur est installé sur votre machine, 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
Vous pouvez installer Python 3.14 avec les commandes suivantes :
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update -y
sudo apt-get install python3.14 python3.14-dev python3.14-venv
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 est utilisé pour produire des documents PDF depuis Dodock/Dokos.
Il s'agit de la version 0.12.6 with patched qt.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`
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
Dokos CLI est une ligne de commande, adaptée de Bench, permettant de gérer vos sites et applications Dodock. Vous pouvez l'installer grâce à pip.
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 Dokos CLI a bien été installée :
bench --version
# 2.9.2
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.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)
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 payments
bench get-app --branch v5 dokos
bench get-app --branch v5 webshop
bench get-app --branch v5 hrms
# bench get-app --branch v5 blog
# bench get-app --branch v5 bookings
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é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
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 :
AdministratorSuivez les instructions du « Setup Wizard », l'outil d'installation de Dokos, pour finaliser l'installation.
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.
Le site s'affiche sans mise en forme ni couleurs ?
chmod +x /home/{votre utilisateur}