Installer do•doc sur un NAS Synology

SOMMAIRE :
1. Introduction
2. Installation simplifiée
3. Installation complète
4. Accès à do•doc depuis l’extérieur

1 - INTRODUCTION

Ce tutoriel explique comment installer do•doc sur un NAS Synology.
On ne peut pas installer directement do•doc sur ce type de NAS. Il faudrait pour cela un paquet compatible Synology.
Par contre, comme do•doc est compatible Linux et notamment Ubuntu, on va utiliser un « intermédiaire » entre le NAS et Ubuntu : Docker.
Pour en savoir plus sur Docker sur Synology, vous pouvez consulter ce tuto.
Pour résumer, Docker est un système de virtualisation « léger ».

Il faut d’abord vous assurer que votre NAS Synology est compatible Docker, pour cela il suffit de consulter la liste des paquets disponibles dans le gestionnaire de paquets : si le paquet Docker est affiché, c’est OK (il faut un NAS avec processeur Intel : série + en général)
En fonction de l’usage de votre NAS, il sera peut être nécessaire d’installer de la RAM supplémentaire (4 Go devrait suffire) . Voir ce tuto.
.
On installe donc le paquet Docker.
Il y a ensuite 2 possibilités d’installation décrites ci-dessous.

Remarque importante :
Le démarrage automatique de do•doc au lancement du conteneur (pm2 startup , pm2 save, …) ne fonctionne pas pour l’instant avec cette configuration. Il faudrait investiguer sur ce sujet.
A chaque démarrage du NAS et/ou du conteneur, il faut lancer manuellement do•doc.

2 - INSTALLATION SIMPLIFIEE

Ce premier type d’installation prévoit de récupérer une image d’un conteneur nommé ubuntu-dodoc-hosts-22-02-2021 déjà paramétré et prêt à l’emploi.
(j’ai utilisé la version de développement dodoc2-dev-node)
On va télécharger ce conteneur (780 Mo) dans cet emplacement et on l’enregistre dans un dossier du NAS, par exemple le répertoire Docker.

Ouvrez Docker et dans la rubrique Conteneur, et choisir dans Paramètres : Importer.

Choisissez le fichier ubuntu-dodoc-hosts-22-02-2021.syno.txz préalablement téléchargé dans un des dossier du NAS.
Après quelques instants, le conteneur ubuntu-dodoc-hosts-22-02-2021 apparait dans la liste.
Faite 1 clic droit sur ce conteneur et sélectionner Modifier.
La fenêtre ci-dessous s’affiche :

Sélectionnez ensuite l’onglet Volume puis « Ajoutez un dossier » :

3-ajouter volume_NAS

Sélectionnez un dossier de votre NAS où seront stocker les données do•doc.

Puis dans la rubrique « Chemin d’accès », vous saisissez : « /root/Documents » et cliquez sur Appliquer.

Faites ensuite 1 clic droit sur le conteneur et sélectionner Action > Détails :

Lancez le conteneur en cliquant sur Démarrer Puis vous sélectionnez l’onglet Terminal :

Vous êtes connecté en root au serveur ubuntu et vous pouvez saisir les 2 commandes :
cd /home/dodoc
pm2 start npm --name « dodoc » – run start

Vous pouvez maintenant vous connecter à do•doc en saisissant dans votre navigateur : https://-IP du NAS-:8080

REMARQUE IMPORTANTE :

Si vous consultez le dossier Docker > dossiers_dodoc, vous verrez le répertoire « projets_dodoc2 » qui contiendra les données do•doc :

En effet, dans cette configuration, j’ai modifié un paramètre du fichier settings.json comme suit :

3 - INSTALLATION COMPLÈTE

Dans Docker, allez dans la rubrique Registre et tapez dans la barre de recherche en haut « ubuntu ».
Sélectionnez la première image « ubuntu » et « Télécharger »

Un fenêtre s’ouvre, sélectionnez « latest » (dernière version) puis cliquez sur « Sélectionnez »

12-choix-version-ubuntu

Dans la rubrique « Images » de Docker, sélectionnez l’image « ubuntu:latest » et dans le menu en haut on sélectionne « Lancer »

Le menu suivant s’affiche :

On peut personnalisé le nom du conteneur avec par exemple « ubuntu-dodoc »
Sélectionnez « Activer la limitation des ressources » / priorité des processeurs « Moyen » / limite de mémoire « 1024 MB »
Cliquez ensuite sur paramètres avancés et le menu ci dessous s’affiche :

Sélectionnez « Activer le redémarrage automatique » puis cliquez sur l’onglet « Volume » puis « Ajouter un dossier » : le menu ci-dessous s’affiche et on sélectionne un dossier du NAS (existant ou à créer) :

15-ajouter volume_NAS

Sous l’intitulé « Chemin d’accès » saisissez : « /root/Documents »

Cette opération consiste à rendre persistantes, c’est-à-dire à stocker dans un dossier du NAS, les données générées par do•doc.

Allez ensuite sur l’onglet « Réseau » et sélectionnez « Utilisez le même réseau que Docker Host » et cliquez sur « Appliquer ».

Avec cette option cochée, le serveur Ubuntu aura la même adresse IP que le NAS et sera joignable par < IP_NAS > : 8080.

Si on ne coche cette case, le conteneur sera en mode bridge avec une IP interne du genre 172.17.xx.xx
Dans ce cas, do•doc fonctionnera normalement et sera toujours joignable par -IP_NAS- : 8080, mais quand on sélectionnera « Accès depuis d’autres appareils » c’est l’IP interne 172.17…. qui s’affichera dans le pop-up, et qui sera injoignable dans ce cas.

Cliquez ensuite sur « Appliquer », on revient dans le pop-up précédent et on clique sur « Suivant »
Un résumé s’affiche et on clique sur « Appliquer » :

Le container se crée, allez ensuite dans le menu « Conteneur » de Docker et faites un clic droit puis « Détails » sur le container « ubuntu-dodoc » qui a du normalement démarré.

La fenêtre suivante s’affiche :

Cliquez ensuite sur l’onglet « Terminal » :

On est maintenant en mode terminal avec le compte root sur notre serveur Ubuntu.
Revenez ensuite au tuto « Installer do•doc sur un serveur dédié » et suivez les différentes étapes que j’ai résumé ci-dessous.
Cette version Ubuntu est minimaliste et il faut donc installer en plus les paquets wget et nano.
Les 2 premières lignes ne sont pas nécessaires, normalement, quand on déclare les volumes pendant l’installation, le dossier « Documents » est automatiquement créé.

cd /root
mkdir Documents
apt-get update
apt-get upgrade
apt-get install git-core
apt-get install build-essential libssl-dev
apt-get install wget nano
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
source ~/.bashrc
nvm install 12.18.3
nvm use 12.18.3
nvm alias default 12.18.3
apt-get install python2.7
ln -s /usr/b8pm2 in/python2.7 /usr/bin/python
ln -s /usr/python2.7 /usr/bin/python
apt-get install libx11-xcb1 libxcomposite1 libxi6 libxext6 libxtst6 libnss3 libcups2 libxss1 libxrandr2 libasound2 libpangocairo-1.0-0 libatk1.0-0 libatk-bridge2.0-0 libgtk-3-0
cd /home
git clone https://github.com/l-atelier-des-chercheurs/dodoc.git
cd dodoc
git checkout dodoc2-dev-node
npm install
cd public
npm install
npm run build
cd …
npm run debug
npm install pm2 -g
cd /home/dodoc
pm2 start npm --name « dodoc » – run start

Après avoir saisi les 2 dernières commandes : cd /home/dodoc et pm2 start npm --name « dodoc » – run start l’écran ci-dessous doit s’afficher :

Vous pouvez maintenant vous connecter à do•doc en saisissant dans votre navigateur : https://-IP du NAS-:8080

4 - ACCES A DO•DOC DEPUIS L’EXTERIEUR

Plusieurs méthodes sont possibles pour accéder à un NAS Synology depuis l’extérieur.

J’ai choisi la méthode « Reverse Proxy », relativement simple et sécurisée.
Cette méthode est décrite dans ce tuto.
Elle consiste à n’ouvrir que le port 443 (https) sur votre box/routeur et ensuite à rediriger les requêtes au niveau du NAS vers des applications du NAS ou des équipements du réseau local.
Pour le https, on utilise un certificat Let’s Encrypt qu’on peut maintenant installer sur un NAS Synology. Voir ce tuto.
Si vous ne l’avez pas encore, au moment de la création du certificat (ou de son renouvellement), il faudra ouvrir temporairement le port 80 en entrant sur votre box/routeur.

Ainsi, dans notre cas d’accès à do•doc, on aura par exemple :
https://dodoc.mondomaine.synology.me qui sera redirigé vers https://-IP du NAS-:8080

Dans ce cas, il est fortement conseillé de protégé l’accès à do•doc par un mot de passe comme expliqué dans le tuto https://forum.latelier-des-chercheurs.fr/t/installer-do-doc-sur-un-serveur-dedie/210.

Wouah ! merci beaucoup pour ce tuto, ça a l’air idéal pour une petite structure type fablab ou hackerspace.

Es-tu d’accord pour que je fasse un lien vers ce sujet sur les réseaux sociaux ?

OK pas de pb pour 1 lien vers les réseaux sociaux.

Bonjour @JPA54

petite question en lien avec ton tuto : j’aimerai m’équiper d’un NAS (notamment pour faire tourner les applis en local), aurais-tu un article à me recommander pour bien choisir le modèle ?