dodoc icon indicating copy to clipboard operation
dodoc copied to clipboard

Docker

Open glungtung opened this issue 3 years ago • 9 comments

Salut, J'ai fait une installation sur un serveur ovh, et j'ai eu besoin de faire tourner do•doc dans un container pour que ca soit plus simple à déployer et à sauvegarder, et plus sécurisé (par le fonctionnement compartimenté de docker) J'ai repris le travail de loic-fejoz dans le #378 et je l'ai mis à jour et complété J'ai publié une image de dodoc2-node 9.1.2 sur le hub docker avec une petite doc : https://hub.docker.com/repository/docker/glungtung/dodoc2-node

C'est un travail à peaufiner encore niveau documentation, mais j'aimerais avoir vos retours de développeur et contributeurs Ce qui est cool, c'est qu'on peut lancer un node dodoc en 1 ligne de commande docker-compose up

Une évolution intéressante serait d'intégrer le Dockerfile au github de dodoc pour que ce soit plus simple encore Qu'en pensez vous ?

glungtung avatar Jun 08 '21 18:06 glungtung

en plus do•doc•docker y'a un truc :)

glungtung avatar Jun 08 '21 18:06 glungtung

Bonjour,

J'ai testé une installation dodoc en docker sur un NAS Synology avec 2 méthodes : via l'image du hub Docker de gluntung et via le Dockerfile. Dans les 2 cas, au lancement de dodoc dans le navigateur et dans les logs, j'ai le message d'erreur : "Error: EACCES: permission denied....". Après analyse, j'ai constaté que le répertoire "/home/node/Documents/dodoc2" dans le container n'avait plus le même propriétaire et était passé du compte interne "node" à un compte du NAS avec des droits limités au propriétaire, le compte "node" du container n'ayant plus accès à ce répertoire, d'où l'erreur constatée. (Ce problème de droits d'accès est d'ailleurs l'un des principaux problèmes de docker sur NAS). Je suis débutant sur Docker, et j'ai trouvé 1 solution peu être un peu brutale, à savoir ajouter dans le Dockerfile une commande RUN : "chmod -R 777 /home/node" (après la commande "chown -R node:node /home/node") et là ça fonctionne.

Sinon, j'ai testé l'installation via docker-compose en mode terminal SSH et via 1 stack Portainer : OK ds les 2 cas. Enfin j'accède à dodoc en externe via le reverse-proxy interne du NAS.

J'ai constaté un bug : les modifs du fichier setting.json n'ont aucun effet, par contre, les modifs du fichier settings_base.json sont bien prises en compte.

Pour info, j'ai rédigé en mai 2021 sur le forum de l'atelier des chercheurs, 1 petit tuto sur l'install de do*doc sur NAS Synology en mode docker, à partir d'un container Ubuntu et en saisissant à la main ds le container toutes les commandes de l'install.

La solution de déploiement proposée par gluntung et loic fejoz est beaucoup plus pro et efficace, merci à eux.

Jean-Pierre-Aublanc avatar Feb 21 '22 18:02 Jean-Pierre-Aublanc

J'interviens tardivement mais merci beaucoup pour ce travail :)

J'ai constaté un bug : les modifs du fichier setting.json n'ont aucun effet, par contre, les modifs du fichier settings_base.json sont bien prises en compte.

Ha ? Ton fichier s'appelle bien settings.json avec un s ? Ça vient de là si ce n'est pas le cas !

louis-ev avatar Apr 27 '22 16:04 louis-ev

Bonjour ! Avec la sortie de la v10 en approche, est-ce qu'une mise à jour pour docker est pertinente ? Le code serveur a complètement changé mais la logique reste assez proche.

louis-ev avatar Nov 08 '23 11:11 louis-ev

Je suis noob, mais il y a aussi Podman qui a l'air intéressant pour les conteneurs.

Il a l'avantage de se dispenser d'accès root. Mais il semblerait que Docker en soit capable aussi dans ses dernières versions.

Podman est le gestionnaire de conteneur par défaut de OpenMediaVault, une distribution Linux pour NAS, basée sur Debian. On peut y installer Docker également.

Après, s'il y a déjà eu pas mal de développement pour une image Docker, continuons ! Il vaut mieux une solution abouti, que 2 solutions en chantier !

Nico7as avatar Nov 19 '23 17:11 Nico7as

Bonjour,

J'ai un peu progressé dans ma connaissance de Docker, je veux bien tenter de mettre à jour le dockerfile élaboré par glungtung et loïc fejoz. Je vous tiens au courant.

Jean-Pierre-Aublanc avatar Nov 22 '23 22:11 Jean-Pierre-Aublanc

Très intéressés par une telle mise à jour au @medialab ! :)

boogheta avatar Nov 23 '23 17:11 boogheta

Bonjour,

J'ai donc adapté le dockerfile initial à dodoc10. Pour construire l'image, j'ai utilisé la branche dodoc2-next-node. J'ai testé dans 2 environnements : sur 1 Mini-PC avec Proxmox/docker (debian) et sur 1 NAS Synology + docker. A priori, ça fonctionne (j'ai testé qq trucs comme créer espaces et projets, mode admin,...). Remarque importante : la modification de l'espace de stockage est inopérante et ne doit pas être activée en mode conteneur (docker ou autre). En effet, l'emplacement de stockage des données persistentes est défini au moment de la création du conteneur et ne peut être modifié que via Docker (commande ou docker-compose)

Question : ds ma configuration, j'ai installé Python2.7, une version plus récente est elle recommandée ?

Je poursuis mes tests .... plutôt début 2024 maintenant.

Bonnes fêtes à tous

Jean-Pierre-Aublanc avatar Dec 21 '23 15:12 Jean-Pierre-Aublanc

Bonjour bonjour ! Je relance cette issue maintenant que la v10 est stabilisée / en phase de bêta sur la branche main-node.

Dans les dernières modifs à prendre en compte :

  • la version de node nécessaire dorénavant est la version 20.9.0,
  • les dépendances ont été mises à jour,
  • le dossier des contenus par défaut n'est plus nommé dodoc_next mais dodoc

louis-ev avatar Apr 19 '24 14:04 louis-ev