pyLoad avec Docker

Cela fait quelques temps déjà que je lis à droite et à gauche des articles sur Docker. Je trouve que c’est un outil très intéressant afin de tester des applications sans polluer sa machine.

Je me suis donc lancé sur un container plutôt simple. Ce dernier se contente de lancer pyLoad et un serveur ssh. Tout cela orchestré par Supervisor.

Pour mon container j’utilise une image Debian, sur laquelle je commence par installer:

RUN apt-get install -y python-crypto python-pycurl tesseract-ocr git openssh-server supervisor

J’ai décidé d’installer pyLoad depuis les sources disponibles sur Github.

RUN git clone https://github.com/pyload/pyload.git /opt/pyload

Ensuite j’ajoute :

  • le dossier de configuration de pyLoad, qui contient entre autres le fichier pyload.conf qui définit la configuration globale.

ADD pyload /opt/.pyload

  • le fichier de configuration de Supervisor: qui lance le server ssh et pyLoad en mode démon

ADD supervisord.conf /etc/supervisor/conf.d/supervisord.conf

Enfin :

  • Je crée un volume qui permettra à d’autres containers d’avoir accès aux fichiers téléchargés.

VOLUME ["/opt/downloads"]

  • J’expose les ports:
    • 8000: pour l’interface web de pyLoad
    • 7227: pour la remote
    • 22: pour les connexions ssh

 EXPOSE 22 8000 7227

  • La commande pour démarrer le service Supervisor:

CMD ["/usr/bin/supervisord","-c","/etc/supervisor/conf.d/supervisord.conf"]

 

Pour lancer le container, il suffit de lancer la commande suivante:

 docker run -d -P jahroots/docker-pyload

On peut ensuite vérifier que le container a été lancé avec: docker ps

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3ba228da04ad jahroots/docker-pyload:latest /usr/bin/supervisord 4 seconds ago Up 3 seconds 0.0.0.0:49165->22/tcp, 0.0.0.0:49166->7227/tcp, 0.0.0.0:49167->8000/tcp

On peut voir qu’on a une instance de l’image jahroots/docker-pyload:latest qui est lancée, et qu’on peut accéder à l’interface web de pyLoad à http://locahost:49167

 

Les sources sont disponibles sur mon Github.

Update: J’ai réalisé une mise à jour du conteneur afin de réduire un peu sur la taille de l’image. Il est désormais possible de se connecter en ssh[user:root,password:root].

 ssh -p 49165 root@[dockerIp]

Publicités

2 réflexions sur “pyLoad avec Docker

  1. o2l dit :

    Bonjour

    Tout d’abord merci pour le superbe travail que tu as fait avec ce docker pyload. Cela m’a enfin permis d’avoir pyload sur un serveur unraid.

    J’ai juste 2 pbs:
    Je me connecte bien en ssh mais le compte admin/admin que tu indiques sur github ne permet pas de se connecter en SSH.

    Autre pb, impossible de me connecter en remote à pyload, j’ai bien les ports indiqué dans github ouvert dans docker mais impossible de faire du remote, alors que le web et ssh repondent.

    Merci par avance pour ton aide.

    • Désolé de te répondre que maintenant mais c’était les vacances pour moi.
      Alors les identifiants admin/admin sont pour la connexion en tant qu’admin à pyload. Pour la connexion ssh au container il faut utiliser root/screencast.
      En ce qui concerne le remote, j’y ai pas porté beaucoup d’attention lors de la création du container, donc sur ce point il faudra te tourner vers la documentation de pyload.

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s