src386/docker-pluxml

Salutations. Et oui, encore une image Docker pour Pluxml.

Ayant un peu d'expérience avec Docker, j'ai créé docker-pluxml avec pour objectif de faire une image propre, conforme aux bonnes pratiques Docker, orientée production, supportant les montées de version et avec des paramètres au lancement offrant une certaine souplesse.

Voici un résumé des features:

[list=*]
[*]Basée sur l'image officielle php7.0-apache[/*]
[*]PluXml est en dur dans l'image (c'est la bonne pratique Docker)[/*]
[*]Le script de lancement supprime le install.php quand on en a pas besoin (c'est à dire hors upgrade ou nouvelle installation)[/*]
[*]Supporte les upgrades (il laisse justement le install.php)[/*]
[*]Vient avec les plugins plxtoolbar et plxmycontact[/*]
[*]Supporte les envois de mail (on passe les paramètres SMTP au lancement du container en variable environnement[/*]
[*]On peut spécifier la taille max pour les upload (en variable environnement au lancement)[/*]
[*]Peut fonctionner en swarm[/*]
[/list]

Les sources sont sur github et un build automatisé construit l'image sur le dockerhub. N'hésitez pas à jeter un oeil au README, vous y trouverez des informations utiles, notamment un docker-compose.yml de référence ou encore un exemple d'utilisation avec src386/docker-opensmtpd-mta pour les envois de mail. Je les utilise en prod pour 2 de mes blogs.

Réponses

  • StéphaneStéphane Member, Former PluXml Project Manager
    Bonjour

    Merci pour l'image. C'est super. Y a plus qu'à tester ;)

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • bazooka07bazooka07 PluXml Lead Developer, Moderator
    mars 2018 modifié
    @Stephane,

    Cela serait bien de créer un groupe de discussion pour Docker.

    Cela se développe de plus en plus. Et c'est bien commode pour tester PluXml dans un contexte particulier sans mettre le bazar sur son PC.
    Par exemple :
    [list=*]
    [*]versions de PHP : 5.6, 7.0, 7.1, 7.2, ....[/*]
    [*]OS : Debian jessie, Debian 9.0, Ubuntu server, Alpinelinux, FreeBSD, NetBSD, OpenBSD ?[/*]
    [*]serveurs HTTP: Apache, Nginx, php, Lighttpd[/*]
    [/list]
    On est déjà 3 ou 4 à publier des liens pour des images de Docker.
    Cela serait bien de tout rassembler dans un même endroit comme on le fait pour les plugins.

    Dans la foulée, tu peux créer aussi un groupe exclusivement dédié aux anglophones. Avec 11 langues au compteur, cela me semble obligatoire.
  • Je suis content d'apprendre qu'une nouvelle version de PluXml est sortie, j'ai mis à jour mon image Docker et j'ai pu upgrader mes blogs de la 5.6 en 5.7 :)

    @bazooka07: En fait pour du dev pas besoin de faire une image Docker personnalisée, suffit de prendre celle correspondant au serveur web + php. Le but de mon image est vraiment de livrer PluXml sur de la production, donc j'ai du faire des choix. Le plus simple est l'image php:apache :)
  • BrigZBrigZ Member
    janvier 2019 modifié
    Bonjour à tous

    Je débute et utilise votre docker Pluxml 5.6, merci pour votre travail et merci aussi à toute l'équipe de Pluxml :cool:


    J'ai bien accès à l'interface web Pluxml,
    cependant il y a un problème avec l'ajout de nouveau plugin,
    invisible depuis l'interface de configuration "Plugins actifs & Plugins inactifs"
    les deux plugins proposé par défaut avec Pluxml dans ce docker, eux sont bien visible depuis l'interface.
    (par contre, je ne les vois pas dans le dossier /plugins) ...


    Dans le répertoire /plugins

    - j'ai placé manuellement le dossier ckeditor-4.7.3 et l'ai bien renommé en "ckeditor"

    Contenu du dossier "ckeditor" :

    CKEditor.png

    Contenu du fichier "infos.xml" :
    <?xml version="1.0" encoding="UTF-8"?>
    <document>
    <title><![CDATA[CKEditor]]></title>
    <author><![CDATA[Stéphane F.]]></author>
    <version>4.7.3</version>
    <date>28/11/2017</date>
    <site>http://pluxopolis.net</site>;
    <description><![CDATA[CKEditor 4.7.3]]></description>
    <requirements></requirements>
    </document>


    Au niveau de la configuration docker je pense avoir bien configuré (port et path) voir ci-dessous

    Container port : 80
    Host Port : 10100

    Container path : /var/www/html/data
    Host Path : /mnt/user/appdata/pluxml/data

    - Ai-je mal configuré ou oublié quelque chose,
    - Y a t'il une modification à apporter au dossier "ckeditor" chmod, chown ?

    Merci d'avance pour votre aide


    Edit : Ajout complément d'infos
  • @BrigZ: Cool, je suis content de savoir que mon image est utilisée :)

    Je viens de tester, quand je décompresse le fichier 4.7.3.zip j'obtiens un dossier ckeditor-4.7.3 et le plugin n’apparaît pas. En revanche, si je le renomme en ckeditor il apparaît. J'ai aussi fait un chown en www-data mais je ne sais pas si ça a joué.

    Le problème est que toute manipulation effectuée dans le container Docker est censée être volatile, c'est pour ça qu'on monte le répertoire data sur un dossier à part, pour qu'il soit persistant. Du coup l'idéal serait de faire la même chose avec le répertoire plugins (le monter dans un dossier à part et y installer tes plugins favoris).

    Voilà
  • BrigZBrigZ Member
    février 2019 modifié
    Bonjour

    Merci pour votre réponse,

    Je comprend bien le principe de monter un path sur l'hôte pour avoir accès aux données.

    Dès que possible j'essayerai en premier de passer un coup chown qui va bien, et voir le résultat ;)

    Si toujours pas visible, j'ajouterai directement un nouveau path qui pointe vers le dossier "plugins"

    Mais normalement cela ne devrait pas pauser problème, ...
    car le dossier plugins fait partie du path (sur le host) qui est déjà en place : ../pluxml/data/configuration/plugins/
    mais on ne sait jamais, je repasserai dire ce qu'il en est

    PS: J'ai vu ce matin que le docker Pluxml a eu droit à une mise à jour
    Status: Downloaded newer image for src386/docker-pluxml:latest
    TOTAL DATA PULLED: 3 MB

    Bonne journée
  • BrigZBrigZ Member
    février 2019 modifié
    C'est ok maintenant, j'ai bien accès aux plugins dans l'interface web de Pluxml

    Comme vous me l'avez proposé j'ai monté un deuxième path pointant directement vers le dossier "/plugins"
    j'ai aussi passés un coup de chown -R ...
    mais sur l'OS que j'utilise, je n'ai point vu de user:group "www-data:www-data" donc j'ai choisi ceci "nobody:users"
    cela poserait un problème ?

    Pluxml reste uniquement accessible sur le réseau local !



    Petite question, y a t'il curl d'installé dans votre docker ?

    le plugin jpbMultidepots est installé et curl est requis
    je ne peu pas l'utiliser correctement, par ex : il reste figé longuement avant d'avoir accès à la liste,
    et il y a des messages d'erreurs quand je veux en installer un, ou faire une mise à jour

    Peut-être en rapport avec Curl ??

    Je suis déjà bien content, de pouvoir voir et utiliser certain plugins installé manuellement,

    Merci
  • src386src386 Member
    février 2019 modifié
    BrigZ a écrit:
    car le dossier plugins fait partie du path (sur le host) qui est déjà en place : ../pluxml/data/configuration/plugins/
    Ah je ne sais pas, tu es sûr que ce n'est pas uniquement la configuration des plugins ?
    BrigZ a écrit:
    PS: J'ai vu ce matin que le docker Pluxml a eu droit à une mise à jour
    Oui cela corrige un bug avec la toolbar qui ne s'affiche pas: https://github.com/src386/docker-pluxml/issues/7 :)
    BrigZ a écrit:
    mais sur l'OS que j'utilise, je n'ai point vu de user:group "www-data:www-data" donc j'ai choisi ceci "nobody:users"
    cela poserait un problème ?
    Hm... si ça passe pour ton data alors cela devrait passer pour plugins. D'autant plus qu'en théorie il ne doit pas y avoir d'écritures.
    BrigZ a écrit:
    Petite question, y a t'il curl d'installé dans votre docker ?
    Oui il est installé.

    Après pour le reste désolé mais je ne connais pas du tout ce plugin...

    Quand un truc prend beaucoup de temps avant de s'afficher, ça peut être un souci de DNS :)
Connectez-vous ou Inscrivez-vous pour répondre.