Installation

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
N'oubliez pas de changer le mot de passe de l'utilisateur 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
La configuration présentée ici est simple et a pour but de vous permettre de déployer facilement un site Dokos.
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 :

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.

CC-BY-SA 3.0