Libreosteo

Aide, questions et évolutions autour de Libreosteo

Vous n'êtes pas identifié.

#1 25-02-2018 20:40:34

littlejo
Modérateur
Date d'inscription: 17-08-2016
Messages: 95

Docker : évolution du conteneur libreosteo

Bonjour,

J'ai continué à travailler sur le conteneur libreosteo :
https://github.com/littlejo/Libreosteo/ … ew/Docker/

J'ai surtout travaillé sur la version développement de libreosteo. Comme ça, quand libreosteo sortira, le conteneur sera prêt. Il est disponible sur littlejo/libreosteo-git.

J'ai changé de répertoire le fichier de la base de données SQLite, il est maintenant dans le répertoire sql. Cela permet de pouvoir faire un volume et donc de rester persistante la base de données. La base de données postgresql ne fonctionne plus, la version développement a été mis à jour au niveau de Django, je pense que cela vient de ça. Je n'ai pas creusé.

J'ai aussi créé un volume pour les documents qu'on peut joindre.

J'ai créé un script bash pour installer libreosteo. Il y a des checks qui vérifient que Docker et Docker-compose est installé. Il permet de créer différente instance :
Par exemple sudo ./libreosteo install preprod 8080
pour supprimer une instance : sudo ./libreosteo remove preprod
Le répertoire où se trouve la base de données SQLite est : /opt/libreosteo/$rank/sql/
Le répertoire où se trouve les documents est : /opt/libreosteo/$rank/media/
Par défaut $rank est prod.

Il manque la mise à jour de libreosteo.

Dernière modification par littlejo (04-03-2018 16:54:01)

Hors ligne

 

#2 26-02-2018 11:11:27

jocelyn
Nouveau membre
Date d'inscription: 22-02-2018
Messages: 9

Re: Docker : évolution du conteneur libreosteo

Salut,

Quel est le but de ce fonctionnement avec Docker ? (c'est une vraie question pour ma propre compréhension, et absolument pas un troll).

Merci d'avance :-)

Hors ligne

 

#3 26-02-2018 12:37:06

jeanclement
Membre
Date d'inscription: 05-07-2017
Messages: 16

Re: Docker : évolution du conteneur libreosteo

littlejo a écrit:

Bonjour,

J'ai continué à travailler sur le conteneur libreosteo :
https://github.com/littlejo/Libreosteo/ … ew/Docker/

J'ai surtout travaillé sur la version développement de libreosteo. Comme ça, quand libreosteo sortira, le conteneur sera prêt. Il est disponible sur littlejo/libreosteo-git.

Merci littlejo pour le travail.
Je vais suivre cette discussion de près car j'aimerai en savoir plus sur Docker (hélas je manque de temps pour vraiment m'y mettre).
Je reste curieux, au plaisir de vous lire... smile


Tout seul on va plus vite ; Ensemble on va plus loin.

Hors ligne

 

#4 26-02-2018 13:33:33

littlejo
Modérateur
Date d'inscription: 17-08-2016
Messages: 95

Re: Docker : évolution du conteneur libreosteo

> Quel est le but de ce fonctionnement avec Docker ? (c'est une vraie question pour ma propre compréhension, et absolument pas un troll).

Je ne suis pas sûr d'avoir totalement compris ta question.

Par exemple pour le développement :

Tu clones le répertoire :

$ git clone https://github.com/libreosteo/Libreosteo.git

Tu crées un Dockerfile : ça te donne la recette comment démarrer libreosteo

$ vim Dockerfile
FROM littlejo/libreosteo-common

# Add directory
RUN mkdir /Libreosteo
ADD Libreosteo /Libreosteo

# Install libreosteo
WORKDIR /Libreosteo

RUN chown -R libreosteo: .
RUN pip install -r requirements/requ-py2.txt

# Security: use another user than root
USER libreosteo
RUN bower install
RUN python manage.py collectstatic --noinput

EXPOSE 8085

ENTRYPOINT ["bash", "./Docker/launch-libreosteo.sh"]

Tu crée un fichier docker-compose.yml : en gros c'est le Makefile dans l'environnement Docker :

$ vim docker-compose.yml
version: '2'
services:
  libreosteo:
    build:
      context: .
    image: libreosteo-test
    ports:
      - "8085:8085"

Tu génères l'image :
$ sudo docker-compose build

Tu démarre l'instance libreosteo :

$ sudo docker-compose up -d

Et là tu peux aller sur firefox localhost:8085 pour utiliser libreosteo

Tu veux modifier libreosteo ?

Tu modifies les fichiers du répertoire Libreosteo.
Tu regénères l'image (avec docker-compose build)
Tu arrêtes l'ancienne instance (docker-compose down)
Tu démarre la nouvelle instance (avec docker-compose up -d). Et voilà t'as les modifications.

Une fois que t'es satisfait des modifications. Tu l'envoies sur le docker hub par exemple => voilà tous les utilisateurs docker peuvent récupérer tes modifications.

Hors ligne

 

#5 26-02-2018 17:33:01

jocelyn
Nouveau membre
Date d'inscription: 22-02-2018
Messages: 9

Re: Docker : évolution du conteneur libreosteo

Je ne suis pas sûr d'avoir totalement compris ta question.

Effectivemen. Tu m'as donné le « comment », pas le « pourquoi » smile

Je donne des exemples, est-ce que le but est…

- De remplacer la méthode d'installation par défaut ?
- De faciliter l'installation ?
- De tester docker ?
- De faire tourner facilement une instance de démo que l'on peut construire/détruire aisément
- …etc.

Hors ligne

 

#6 26-02-2018 18:45:26

littlejo
Modérateur
Date d'inscription: 17-08-2016
Messages: 95

Re: Docker : évolution du conteneur libreosteo

Le but initial était de tester Docker (j'ai commencé en 2015) mais aussi de faciliter l'installation sous Linux (Vu qu'il n'y a pas de méthode unique sinon).

Après pour faire du support, c'est pratique : il y avait un problème d'import de CSV, j'ai pu tester facilement. J'ai aussi un peu développé sur libreosteo mais je manque de temps.

Sinon libreosteo avec Docker est en prod sur un serveur.

> - De remplacer la méthode d'installation par défaut ?

Pas dans l'immédiat. Mais si jb en a marre de packager pour Windows ou MacOSX, je l'aiderai pour cela.

Hors ligne

 

#7 26-02-2018 20:16:26

jocelyn
Nouveau membre
Date d'inscription: 22-02-2018
Messages: 9

Re: Docker : évolution du conteneur libreosteo

Ok, intéressant, merci d'avoir pris le temps smile. Donc actuellement, on peut considérer que l'install utilisateur final « par défaut » sous GNU/Linux ça serait via Docker ?

Hors ligne

 

#8 26-02-2018 21:06:35

littlejo
Modérateur
Date d'inscription: 17-08-2016
Messages: 95

Re: Docker : évolution du conteneur libreosteo

Oui, c'est l'ambition actuelle notamment avec les dernières modifications ( cf le script install_libreosteo.sh) : la seule difficulté est d'installer la dépendance Docker.

Hors ligne

 

#9 28-02-2018 16:53:11

jocelyn
Nouveau membre
Date d'inscription: 22-02-2018
Messages: 9

Re: Docker : évolution du conteneur libreosteo

littlejo a écrit:

Oui, c'est l'ambition actuelle notamment avec les dernières modifications ( cf le script install_libreosteo.sh) : la seule difficulté est d'installer la dépendance Docker.

J'imagine que ça peut être relativement bien circonscrit (des paquets de distribution à installer), à condition de ne pas requérir un docker plus récent. Non, c'est plus compliqué que cela ?

Hors ligne

 

#10 02-03-2018 07:54:34

littlejo
Modérateur
Date d'inscription: 17-08-2016
Messages: 95

Re: Docker : évolution du conteneur libreosteo

Docker conseille d'avoir une version récente. Mais bon dans notre cas de libreosteo : un seul container, peu de charge (peu d'utilisateurs, peu d'écriture) je ne suis pas sûr que ça change grand chose.

Pour les distributions grand public cela se résume à installer les paquets de distribution ou à ajouter les dépôts officiels Docker puis à installer ses paquets.

Hors ligne

 

#11 02-03-2018 15:12:28

Jean-Baptiste
Développeur
Lieu: Franche-Comté
Date d'inscription: 17-08-2016
Messages: 170
Site web

Re: Docker : évolution du conteneur libreosteo

Désolé de mon absence ces derniers temps....

Pour confirmer avoir tenté de travailler sur un installeur "debian" de libreosteo, il s'avère qu'il y avait plusieurs dépendances python qui n'étaient pas packagées du coup il y avait un travail aussi à faire les packages des dépendances. Si besoin je peux les retrouver... Mais je n'ai pas pu aller plus loin à cause de ce travail. L'idée de docker me satisfait dans la mesure où c'est plus facile à maintenir dans un conteneur que d'inclure la maintenance externe d'autres paquets.

Je suis assez pour lorsque littlejo m'en a parlé. Il faut juste que l'on facilite l'installation sous linux depuis le site web smile

Hors ligne

 

#12 04-03-2018 12:34:19

jeanclement
Membre
Date d'inscription: 05-07-2017
Messages: 16

Re: Docker : évolution du conteneur libreosteo

Jean-Baptiste a écrit:

Il faut juste que l'on facilite l'installation sous linux depuis le site web smile

Ouiiiiiiii +1000 big_smile

@littlejo : j'ai voulu tester le script que tu as fait pour docker (ça y est, je m'y mets smile ) mais le lien n'est plus valide : https://github.com/littlejo/Libreosteo/ … reosteo.sh

Ou puis-je trouver ton script ? Merci


Tout seul on va plus vite ; Ensemble on va plus loin.

Hors ligne

 

#13 04-03-2018 16:09:18

littlejo
Modérateur
Date d'inscription: 17-08-2016
Messages: 95

Re: Docker : évolution du conteneur libreosteo

Ah oui, j'ai fait beaucoup de modification hier. Mon script a changé de nom.

Pour le récupérer :

$ git clone -b docker_new https://github.com/littlejo/Libreosteo.git

Pour l'installation :

$ cd Libreosteo/Docker/deploy/sqlite/
$ sudo ./libreosteo install

Cela crée des fichiers :
$ find /opt/libreosteo/
/opt/libreosteo/
/opt/libreosteo/prod
/opt/libreosteo/prod/docker-compose.yml
/opt/libreosteo/prod/sql
/opt/libreosteo/prod/sql/db.sqlite3
/opt/libreosteo/prod/media

Pour lancer libreosteo :

$ ./libreosteo launch

Pour le mettre à jour :
$ sudo ./libreosteo update

Pour le désinstaller :
$ sudo ./libreosteo remove

Pour se rappeler des commandes :
$ ./libreosteo help

La configuration est là (on peut configurer l'image docker par exemple) : etc/libreosteo/settings.sh

Dernière modification par littlejo (11-03-2018 09:30:39)

Hors ligne

 

#14 05-03-2018 21:56:08

Jean-Baptiste
Développeur
Lieu: Franche-Comté
Date d'inscription: 17-08-2016
Messages: 170
Site web

Re: Docker : évolution du conteneur libreosteo

Merci littlejo pour ce script !!

Hors ligne

 

#15 05-03-2018 23:26:47

littlejo
Modérateur
Date d'inscription: 17-08-2016
Messages: 95

Re: Docker : évolution du conteneur libreosteo

Sinon du côté construction d'images, j'ai migré l'image littlejo/libreosteo-git d'Ubuntu vers Alpine (voir https://github.com/littlejo/Libreosteo/ … Dockerfile). C'est la distribution GNU/Linux préconisée par Docker.

J'ai fait cela pour que l'image soit plus petite (on gagne environ 200Mo de tête), pour tester la portabilité de Libreosteo. J'ai ainsi pu détecter un bug : https://github.com/libreosteo/Libreosteo/issues/125). J'ai aussi supprimé des dépendances inutiles tels que bash.
Pour les adeptes d'Ubuntu, il est toujours possible d'utiliser une image Ubuntu, il suffit de changer la ligne :
FROM littlejo/libreosteo-alpine-common
Par la ligne :
FROM littlejo/libreosteo-common
(Voir : https://github.com/littlejo/Libreosteo/ … Dockerfile)

Sinon j'ai aussi mis à jour l'image avec les nouvelles mises à jour de la branche développement.

Dernière modification par littlejo (05-03-2018 23:33:07)

Hors ligne

 

#16 11-03-2018 13:55:19

littlejo
Modérateur
Date d'inscription: 17-08-2016
Messages: 95

Re: Docker : évolution du conteneur libreosteo

J'ai mis à jour l'image de développement.

J'ai fait la commande libreosteo backup. Cela backup au format de libreosteo. Le format change entre 0.5 et la prochaine (car il faut backupper aussi les documents). J'ai privilégié le backup avec les documents (si on utilise la 0.5, il suffit de décompresser le .json)

J'ai mis à jour la documentation pour l'installation avec Docker :
https://github.com/libreosteo/Libreoste … vec-Docker

J'ai créé une image avec libreosteo 0.5.7 avec Alpine. C'est cette dernière qui est utilisée dans la documentation.

Il ne reste plus qu'à faire une pull-request.

Hors ligne

 

#17 31-05-2018 11:37:42

jeanclement
Membre
Date d'inscription: 05-07-2017
Messages: 16

Re: Docker : évolution du conteneur libreosteo

littlejo a écrit:

J'ai mis à jour l'image de développement.
J'ai mis à jour la documentation pour l'installation avec Docker :
https://github.com/libreosteo/Libreoste … vec-Docker

J'ai créé une image avec libreosteo 0.5.7 avec Alpine. C'est cette dernière qui est utilisée dans la documentation.

Il ne reste plus qu'à faire une pull-request.

Merci pour tout ça littlejo. Je n'ai pas encore pris le temps de tester docker, mais la documentation d'installation est très clair et me donne envie de m'y mettre sérieusement. J'espère en juin.
Je ferai un retour d'expérience le moment venu... et j'aurais sûrement quelques questions wink
Encore merci,
À bientôt


Tout seul on va plus vite ; Ensemble on va plus loin.

Hors ligne

 

#18 22-08-2018 19:11:56

littlejo
Modérateur
Date d'inscription: 17-08-2016
Messages: 95

Re: Docker : évolution du conteneur libreosteo

J'ai pas mal travaillé sur le conteneur libreosteo ces derniers jours

J'ai créé une image pour la prochaine version de libreosteo en python 3 (comme un des objectifs de la prochaine version est la compatibilité avec python 3). J'en ai profité pour utiliser une fonctionnalité de Docker pour réduire encore la taille de l'image : le multistage.

La version Ubuntu : 321MB
La version Alpine : 161MB
La version Alpine (python 3) + multistage : 91 MB

Ça va être compliqué de beaucoup réduire maintenant...

Le Dockerfile : https://raw.githubusercontent.com/littl … Dockerfile

L'image docker : littlejo/libreosteo-git-python3

Hors ligne

 

Pied de page des forums

Créez Votre Propre Forum
Insérer vos Graphiques
Dictionnaires de Traduction
Hébergé par ForumCrea.com