Installation Docker
Installation de Dokos avec Docker
Pré-requis
Installer 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.
curl -fsSL https://get.docker.com | bash
# Vérifier l'installation de Docker
docker --version
docker compose version
docker run hello-world
Télécharger le fichier Compose pour Dokos
Téléchargez le fichier compose.yaml
pour Dokos depuis le dépôt GitLab de Docli (bench
comme nous le verrons plus tard).
Par défaut, la version de Dokos utilisée est la dernière version stable, disponible avec le tag latest
.
curl -o compose.yaml https://gitlab.com/dokos/docli/-/raw/develop/compose/dokos.yaml
Lancer Dokos
Vous pouvez ensuite lancer le conteneur de Dokos avec :
docker compose up -d
La création du site peut prendre quelques minutes. Pendant cette étape, le site ne sera pas actif et donc indisponible dans votre navigateur.
Accéder à Dokos
Vous pouvez accéder à Dokos en accédant au port 8080 du serveur dans votre navigateur, par exemple http://localhost:8080 si le conteneur tourne sur votre ordinateur.
Ensuite, vous pouvez vous connecter avec les identifiants suivants :
- Nom d'utilisateur :
Administrator
- Mot de passe :
admin
Administrator
après la finalisation de l'installation.
Pour changer le mot de passe d'administration, cliquez sur l'avatar (cercle coloré en haut tout à droite), puis cliquez sur l'option Mes Paramètres.
Cliquez sur l'onglet Paramètres, puis ouvrez la section Modification de mot de passe, dans laquelle vous pourrez changer le mot de passe.Arrêter Dokos
Pour arrêter Dokos, vous pouvez utiliser la commande suivante :
docker compose down
Configurer son nom de domaine
Pour accéder à Dokos via votre nom de domaine (ex. https://demo.dokos.cloud), il va falloir installer les éléments suivants sur votre serveur:
- Nginx: Reverse proxy permettant de rediriger votre nom de domaine vers le port 8080 de votre serveur
- Certbot: Utilitaire permettant de créer un certificat SSL pour une connexion sécurisée
Nous vous recommandons de renforcer cette configuration avec toutes les mesures de sécurité qui vous semblent appropriées.
1. Effectuer une redirection DNS
La première étape consiste à aller dans les paramètres DNS de votre nom de domaine et à ajouter une entrée de redirection A vers le serveur sur lequel vous avez installé Dokos.
Ex. demo.dokos.cloud | A | 15.237.107.35
2. Installation de Nginx
Sur Ubuntu, l'installation de Nginx se fait avec la commande suivante:
sudo apt install nginx
Une foix Nginx installé, créez un fichier de configuration pour votre site dans le dossier /etc/nginx/sites-enabled/
:
sudo nano /etc/nginx/sites-enabled/demo.conf
Ajoutez-y une redirection vers le port 8080 dans ce fichier et enregistrez le:
server {
server_name demo.dokos.cloud; # A remplacer par votre nom de domaine
location / {
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:8080;
}
}
Redémarrez Nginx et connectez-vous à l'adresse demo.dokos.cloud
pour vérifier que la redirection fonctionne bien.
sudo nginx -t
sudo systemctl reload nginx
3. Création d'un certificat
Installez certbot (https://certbot.eff.org/) sur votre système.
Pour Ubuntu:
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
Lancez certbot pour générer un certificat: sudo certbot --nginx
Rechargez la page de votre site (ex. demo.dokos.cloud
), vous pourrez constater que votre certificat est actif.
Sauvegarder, restaurer, mettre à jour
Sauvegarder Dokos
Pour sauvegarder Dokos une fois lancé, vous pouvez utiliser la commande suivante :
# Le système doit être up pour effectuer une sauvegarde
docker compose run backend bench backup --with-files --compress
Si vous souhaitez récupérer ces sauvegardes depuis l'extérieur du conteneur, vous avez plusieurs possibilités :
- Utiliser
docker cp
pour copier les fichiers depuis le conteneur vers votre machine.docker cp dokos-backend-1:/home/frappe/frappe-bench/sites/frontend/private/backups/ ./dokos-backups
- Utiliser
docker run
pour dupliquer les volumesdb-data
etsites
. https://docs.docker.com/storage/volumes/#back-up-restore-or-migrate-data-volumes
Restaurer Dokos
Pour restaurer Dokos, vous devez d'abord démarrer le système et suivre cette procédure :
# Le projet dokos doit être up pour effectuer une restauration
docker compose up -d
# Lister les sauvegardes disponibles
docker compose run backend ls sites/frontend/private/backups
# Restaurer la sauvegarde en spécifiant le nom du fichier
docker compose run backend bench restore \
[...]-frontend-database.sql.gz \
--with-public-files [...]-frontend-files.tar.gz \
--with-private-files [...]-frontend-private-files.tar.gz
Mettre à jour Dokos
Pour mettre à jour Dokos, vous pouvez utiliser la commande suivante :
# Modifiez le numéro de version dans le fichier compose.yaml si besoin
# Télécharger les nouvelles images Docker
docker compose pull
# Relancer les conteneurs
docker compose down
docker compose up -d
# Migrer les sites
docker compose run backend bench --site all migrate
Résolution de problèmes
- La page du bureau est vide après une mise à jour : il faut toujours démonter les conteneurs avec la commande
docker compose down
après une mise à jour.