Libreosteo

Aide, questions et évolutions autour de Libreosteo

Vous n'êtes pas identifié.

#1 31-05-2017 12:09:01

jeanmark
Membre
Lieu: Montrouge
Date d'inscription: 31-05-2017
Messages: 28
Site web

Usage en ligne

Bonjour à tous,

J'ai vu, sur la FAQ, qu'il était possible de contacter le développeur pour une explication sur la manière d'installer LibreOsteo sur serveur.
Je suis très intéressé par cette solution et je me suis dis que ça pourrait être utile de faire la demande via le Forum pour enrichir la base de donnée commune ! smile

Merci, by the way, pour ce super boulot ! smile

Amicalement,

JM

Hors ligne

 

#2 31-05-2017 23:28:07

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

Re: Usage en ligne

Bonjour,

J'installerais libreosteo avec Docker :

https://github.com/libreosteo/Libreoste … vec-docker

Simple, rapide... Par contre il manque dans la documentation surtout pour sécuriser libreosteo.

Hors ligne

 

#3 31-05-2017 23:32:39

jeanmark
Membre
Lieu: Montrouge
Date d'inscription: 31-05-2017
Messages: 28
Site web

Re: Usage en ligne

Il faut donc virtualiser ? hmm Je pensais à une couche type LAMP avec un certificat pour securiser

Hors ligne

 

#4 01-06-2017 06:39:40

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

Re: Usage en ligne

> Il faut donc virtualiser ?

Euh non je n'ai pas écrit ça. J'ai juste dit que j'installerais libreosteo avec Docker. Mais c'est possible de faire cela de façon traditionnelle.

Hors ligne

 

#5 01-06-2017 15:37:03

jeanmark
Membre
Lieu: Montrouge
Date d'inscription: 31-05-2017
Messages: 28
Site web

Re: Usage en ligne

mais ça apporte quoi de plus docker ? smile

Hors ligne

 

#6 01-06-2017 19:52:22

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

Re: Usage en ligne

> mais ça apporte quoi de plus docker ?

Liste non exhaustive :
* Tester et mettre à jour sans risque une nouvelle version : au lieu de mettre à jour directement libreosteo, tu crées une instance de test de libreosteo mis à jour sur le même serveur et tu peux faire des tests.
* Ne plus faire de mise à jour du système à cause d'une mise à jour d'un logiciel : si la nouvelle version de libreosteo demande une version d'un logiciel que n'a pas la distribution linux
* Partager les coûts du serveur : partager le serveur avec un autre ostéo.
* Utiliser le serveur pour d'autres services : page perso, serveur de fichiers, serveur de mail, etc. Tu crées un container docker par service.
* Installer libreosteo sous Windows, Mac OS X ou Linux de façon unique.
* Nettoyer facilement son serveur : si un service n'est plus utilisé, en une seule ligne tu peux arrêter le service et le supprimer.


Avec la méthode "traditionnelle", c'est possible mais c'est plus difficile à maintenir quand il faut faire une mise à jour ou rajouter un service. Supposons qu'il y a une faille de sécurité sur owncloud qui permet de s'introduire sur le serveur, le pirate pourra alors récupérer la base de données des patients. Avec un conteneur docker, il ne pourra que récupérer les données de owncloud.

Hors ligne

 

#7 01-06-2017 22:07:42

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

Re: Usage en ligne

Excellent littlejo parfait pour démontrer l'usage de docker, je te reconnais bien là ! Merci !

Sinon à part, jeanmark tu peux regarder un premier travail qui a été fait et permet d'installer libreosteo sur une instance pythonanywhere :
https://github.com/libreosteo/Libreoste … onanywhere

Cela donne une base, on peut se faire la main, avant d'installer ceci sur un serveur linux. Si tu souhaites l'installer sur un serveur Windows, je te conseille en effet d'utiliser Docker.

Hors ligne

 

#8 01-06-2017 22:08:41

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

Re: Usage en ligne

Pour connecter libreosteo à une instance postgreSQL, il faut que je regarde plus en détail, mais cela devrait vraiment être possible sans trop de problème

Hors ligne

 

#9 01-06-2017 22:12:37

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

Re: Usage en ligne

C'est un brut de décoffrage pour le moment, mais si besoin d'aide on peut pousser un peu.
littlejo, ce serait possible sans trop de manipulations de brancher l'instance libreosteo dans Docker sur une instance postgreSQL extérieure au conteneur ?

Hors ligne

 

#10 02-06-2017 12:53:46

jeanmark
Membre
Lieu: Montrouge
Date d'inscription: 31-05-2017
Messages: 28
Site web

Re: Usage en ligne

Ok merci Jean-Baptiste, je regarderais ça plus tard : ça va me demander un peu plus de manip que prévu wink
Actuellement j'ai pris un hébergement mutualisé (limité sur l'accès au serveur au ftp et à la bdd) pour ma femme et je pensais bêtement qu'il existait des méthodes pour encapsuler l'app dans du html.

Si je comprends bien ce que vous détaillez : 

> soit le faire tourner sur un bête serveur linux qui fait tourner du python mais il faut que je blinde la sécurité (notamment avec l'accès web en ssl) et relié à une bdd postgreSQL
> soit passer par docker qui est une espèce de sandbox qui intégre directement postgreSQL

Dans les deux cas, l'interface se fait via apache ? (je ne me suis jamais penché sur la mise en place d'un accès web depuis un serveur : j'ai privilégié la simplicité des packages wink)

Hors ligne

 

#11 02-06-2017 13:24:12

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

Re: Usage en ligne

En effet, dans tous les cas il faudra du support python sur le serveur/conteneur Docker. La base postgreSQL n'est pas obligatoire. Cela peut être n'importe quel SGBD (MySql doit pouvoir fonctionner) mais il faut un serveur d'appli ce n'est pas que du simple html.
Apache et ses modules WSGI permettent rapidement de monter un frontend à libreosteo, et donc le support SSL etc.

Libreosteo est écrit en python. Il est donc facilement possible de le mettre sur ... un RaspberryPi ou autre ! tongue

Hors ligne

 

#12 02-06-2017 13:26:02

jeanmark
Membre
Lieu: Montrouge
Date d'inscription: 31-05-2017
Messages: 28
Site web

Re: Usage en ligne

Cool, ça me fait une justification pour acheter un RaspberryPi ! smile

Hors ligne

 

#13 02-06-2017 13:38:37

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

Re: Usage en ligne

Clairement, c'est génial un Raspberry Pi !!

Je préparerai un tuto pour le déployer dessus

Hors ligne

 

#14 02-06-2017 15:05:05

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

Re: Usage en ligne

Jean-Baptiste a écrit:

C'est un brut de décoffrage pour le moment, mais si besoin d'aide on peut pousser un peu.
littlejo, ce serait possible sans trop de manipulations de brancher l'instance libreosteo dans Docker sur une instance postgreSQL extérieure au conteneur ?

Je ne pense pas que ce soit compliqué, il y a un exemple là :
https://docs.docker.com/compose/django/ … e-database

Dernière modification par littlejo (03-06-2017 18:08:54)

Hors ligne

 

#15 10-06-2017 20:26:37

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

Re: Usage en ligne

littlejo a écrit:

Jean-Baptiste a écrit:

C'est un brut de décoffrage pour le moment, mais si besoin d'aide on peut pousser un peu.
littlejo, ce serait possible sans trop de manipulations de brancher l'instance libreosteo dans Docker sur une instance postgreSQL extérieure au conteneur ?

Je ne pense pas que ce soit compliqué, il y a un exemple là :
https://docs.docker.com/compose/django/ … e-database

Ça semble plus compliqué que je le pensais...

J'ai réussi à refaire le tutoriel sans problème.

Mais quand il faut l'adapter à libreosteo, j'ai eu deux soucis :
* django.db.backends.postgresql_psycopg2 au lieu de django.db.backends.postgresql
** Certainement dû à la version de Django qui est plus ancienne avec libreosteo que dans l'exemple.

* Mais là j'ai séché net sur cette erreur :

Code:

django.db.utils.OperationalError: could not translate host name "db" to address: Name or service not known

J'ai l'impression que la deuxième erreur découle du changement de backend. Mais je n'ai pas essayé de migrer libreosteo à une version supérieur de Django pour en être sûr.

J'ai aussi testé en python 3 vu que c'est ça qui est recommandé dans le tutoriel mais même problème.

Dernière modification par littlejo (10-06-2017 20:27:54)

Hors ligne

 

#16 11-06-2017 08:55:51

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

Re: Usage en ligne

Je pourrai toujours envisager une migration technique vers 1.11 nous sommes en 1.8
Mais j'ai déjà fais fonctionner du 1.7 avec postgreSQL.
Je vais voir pour préparer une conf pour postgreSQL

Hors ligne

 

#17 11-06-2017 08:58:41

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

Re: Usage en ligne

D'après la documentation psycopg2 est nécessaire pour postgreSQL https://docs.djangoproject.com/en/1.8/ref/databases/

C'est toujours le cas en 1.11
https://docs.djangoproject.com/en/1.11/ref/databases/
Par contre le nom du backend ne contient en effet plus psycopg2 dans le nom 😊
Il y a des settings à modifier pour préciser la chaîne de connexion à la base. Vu ton erreur j'ai l'impression que c'est ceci.
Il faudrait crééer un fichier local.py en surcharge antenne la configuration de databases pour mettre la chaîne de connexion du serveur postgreSQL.

Tout ceci dans Libreosteo/settings

Hors ligne

 

#18 11-06-2017 09:21:51

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

Re: Usage en ligne

Concernant l'hébergement grandi.net à une offre sympa python+postgresql
Sinon monter son propre hébergement

Bon je préparerai un settings postgreSQL pour cela

Hors ligne

 

#19 11-06-2017 10:06:05

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

Re: Usage en ligne

Je viens d'essayer alors :
- installer postgresql
- installer les extensions dev de postgresql (sur debian et dérivés c'est le paquet postgresql-server-dev-all)
- si vous êtes sous conteneur "pip" , il faut faire pip install psycopg2
- sinon une install du paquet python-psycopg2 devrait suffire
- puis dans Libreosteo/settings/local.py écrire :

Code:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'libreosteo',
        'USER': 'libreosteo',
        'PASSWORD': 'libreosteo',
        'HOST': '127.0.0.1',
        'PORT': '5432',
    }
}

si postgresql est installé en local, et que l'utilisateur libreosteo existe sur la base avec une base de données déjà crééé nommée libreosteo.

J'ai fais ensuite

Code:

python manage.py migrate

et toutes les tables ont été créées dans postgresql. J'ai ensuite démarré libreosteo et j'ai pu restaurer une base patient qui venait de sqlite.

Hors ligne

 

#20 11-06-2017 10:20:49

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

Re: Usage en ligne

C'est bon, j'ai réussi à le faire cool

J'ai accusé à tord la version de Django ou Python 2 wink

Le problème venait du fait que je faisais la migration des bases de données dans le Dockerfile ce qui ne pose pas de soucis en sqlite vu qu'on est en local. Mais c'est normal qu'il se plaint lors de la création du container de cette migration sur base de données distantes.

Il faut donc supprimer la migration dans le Dockerfile (python manage.py migrate).

Il faut donc le faire dans le docker-compose :
- Lancer l'instance postgresql
- Faire la migration : python manage.py migrate
- Lancer python server.py

Je débute encore au niveau de la communication entre les containers tongue

Dernière modification par littlejo (11-06-2017 10:22:25)

Hors ligne

 

#21 11-06-2017 12:01:08

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

Re: Usage en ligne

tongue nickel !
C'est cool ça. Bravo

Hors ligne

 

#22 12-06-2017 10:35:32

jeanmark
Membre
Lieu: Montrouge
Date d'inscription: 31-05-2017
Messages: 28
Site web

Re: Usage en ligne

Je vais peut être tenter un docker dans les semaine à venir via https://www.scaleway.com (signalé par mon frere).
Ca va me prendre un peu de temps : en terme de de mise en place, à part bosser un peu en ligne de commande sous debian ou ubuntu et déployer des CMS je suis novice.... hmm
Mais je vous tiens au jus ! smile

Hors ligne

 

#23 13-06-2017 13:35:26

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

Re: Usage en ligne

Sympa cette offre ! N'hésite pas au besoin.

Hors ligne

 

#24 15-06-2017 16:17:58

jeanmark
Membre
Lieu: Montrouge
Date d'inscription: 31-05-2017
Messages: 28
Site web

Re: Usage en ligne

Bon alors... J'ai créer un serveur sur Scaleway. De manière pratique, il est possible de préinstaller un serveur docker !
Donc je vais tenter de faire un owncloud et un libreosteo pour voir comment ça marche ce bouzin !

Pour l'installation pas de soucis, le tutoriel est bien fait et à part faire un update j'ai pu installer les dependances.

Petites question pour le moment : lorsque j'appelle Libreosteo via docker, il me trouve :
NAME                         DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
littlejo/libreosteo-0.5      webapps for osteopaths to manage patients ...   0                   
littlejo/libreosteo-common   Install dependancies to install libreosteo      0                   
littlejo/libreosteo-0.4      webapps for osteopaths to manage patients ...   0   

Ca correspond à quoi le "libreosteo-common"

Hors ligne

 

#25 15-06-2017 16:31:22

jeanmark
Membre
Lieu: Montrouge
Date d'inscription: 31-05-2017
Messages: 28
Site web

Re: Usage en ligne

Bon ça roule ! youpee ! C'est effectivement très simple avec docker ! roll
Concrètement, pour essayer de comprendre ce que je viens de faire...

> Littlejo, tu met à disposition une image pré-compilée de libreostéo que Docker lance comme une instance (ou plusieurs instances, du moment que j'en lance) ?

> Quand Docker lance une instance de libreostéo, il crée une BDD via un bête ficher sql ? Ce fichier est propre à l'instance (chaque instance n'a accès qu'aux fichiers qui lui sont propre) ? Si on arrete l'instance via docker on ne perd pas le fichier, mais si on supprime l'instance, c'est le cas ? Quid d'un arrêt pas prévu du serveur : docker relance tout seul les instances ? Il perd la BDD ?

> Comment se fait la mise à jour entre la version proposée par Jean-Baptiste en fonction des mise à jours de github et la version docker de LittleJo ?

Voilà pour le moment ! smile

Hors ligne

 

Pied de page des forums

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