567 - El proyecto Dockerbot en Python

567 - El proyecto Dockerbot en Python

Construir un #bot de #telegram en #python en #linux o en donde quieres para gestionar tus contenedores #docker y estar al tanto de los eventos

1:25
-3:15

Me ha costado un poco organizar este proyecto para programar tu propio Dockerbot, pero parece que lo tengo mas o menos claro. En este episodio te cuento que esto del Dockerbot, como lo vamos a organizar, como funciona, como puedes participar, etc. Lo mas importante de este proyecto, por supuesto es que participes, que sigas cada uno de los capítulos y que vayas evolucionando con los distintos capítulos. Pero no solo esto, se trata de un proyecto colaborativo, con lo que se admiten, ¿que digo admiten?, es imprescindible las sugerencias, ideas, comentarios, y todo aquello para conseguir que esto mejore y crezca. Este es el objetivo fundamental, así, que vamos con el proyecto Dockerbot en Python.

El proyecto Dockerbot en Python

¿Que es Dockerbot?

Un bot para Telegram que te permite conocer cual es el estado de tus contenedores, volúmenes, redes, etc, y además interactuar con todo ello. Por supuesto directamente desde Telegram.

Se trata de un proyecto colaborativo. Si bien, los pasos iniciales los he marcado ya, los siguientes pasos, depende de lo que queramos hacer entre todos. Y para esto utilizaremos las herramientas que GitHub pone a nuestra disposición, y me refiero tanto a los issues, como los pull request, etc. Tenemos que exprimirlo al máximo

Es un proyecto para trabajar con Python, poco a poco y conseguir aprender o avanzar en tus conocimientos de Python.

Ritmo del proyecto

El proyecto está organizado por semanas. De forma que cada semana se afronta un reto o una casuística o un avance. Las cinco primeras semanas ya las tengo organizadas, pero a partir de aquí iremos viendo como va funcionando el proyecto.

  • Configuración de Python en Visual Studio Code
  • Implementación de la clase Telegram. Solo para enviar mensajes.
  • Conexión con el socket de Docker, y envío de mensajes en caso de matar un contenedor*.
  • Configuración del Bot mediante un archivo Toml.
  • Implementar un clase que gestione los eventos en base a la configuración.

Organización

Como te decía anteriormente, partimos de GitHub, en concreto del repositorio de Dockerbot. Por supuesto, puedes poner allí tus ideas, reportar errores, hacer tus pull request, etc.

Cada capítulo se encuentra en una rama. Si simplemente quieres subir tu código para que lo veamos, haz una rama que se llame capitulo-xx/<tu-alias-en-github>. Así ahora mismo puedes encontrar,

  • capitulo-00/atareao. Configuración básica.
  • capitulo-01/atareao. Implementación de Telegram.
  • capitulo-02/atareao. Conexión al socket de Docker.

Participación

Lo interesante es que de una semana a la siguiente vayas haciendo lo que te indico en la semana anterior. Por ejemplo, para la próxima semana debes tener configurado Visual Studio Code para programar con Python.

La próxima semana, publicaré un vídeo en el que te mostraré como lo configuré, e indicaré lo que hay que hacer para la siguiente semana.

De nuevo, indicar que se trata de un proyecto colaborativo, y aunque ya tengo preparadas las primeras semanas, todo se puede cambiar.

Inspiración

Indicar que la idea para este proyecto colaborativo, surgió al escuchar el podcast de PapaFriki. En concreto el episodio Docker Controller Bot y anécdotas del D.N.I. en el que hablaba de un proyecto de Daniel en el que hizo un bot de telegram llamado Docker Controller Bot y que puedes encontrar en GitHub. Ojo, que de aquí solo tomé la idea. El código vamos a ir desarrollándolo día a día y en modo colaborativo. Así, que no seas listo y copies o te bases en el desarrollo de Daniel, aquí estamos a otra cosa… 😜

2 comentarios en “El proyecto Dockerbot en Python

  1. EN
    EnDetalle hace 2 meses

    Considero que seria mejor publicar el ejercicio al mismo tiempo que la solucion. Imagina que tienes dudas sobre como hacer algo y tener que esperar una semana … personalmente perdería el interés. Saludos

  2. ZO
    zodac hace 2 meses

    Hola Lorenzo, interesante este proyecto pero m eperdí un poco con la implementación inicial. No veo en el README de github si es necesario crear un env primero antes de instalar poetry para mantener un entorno seperado. Podrías indicarme si es necesario empezar creando un virtualenv?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *