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é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
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.
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 :
AdministratoradminAdministrator 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.Pour arrêter Dokos, vous pouvez utiliser la commande suivante :
docker compose down
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:
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
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
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.
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 :
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
docker run pour dupliquer les volumes db-data et sites.
https://docs.docker.com/storage/volumes/#back-up-restore-or-migrate-data-volumesPour 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
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
docker compose down après une mise à jour.