Este proyecto está diseñado para facilitar la gestión de la biblioteca Liburutegia.
Podra buscar libros 📙 por Titulo, Author y ISBN, y añadirlo a la bases de datos.
-
Para utilizar Liburutegia control (lbctl), debes tener instalado Docker y Docker Compose en tu sistema operativo. Puedes descargar ambas herramientas en los siguientes enlaces:
-
Necesitas tener ejecutando la aplicacion web de Liburutegia
Podras descargar el proyecto en:
- Nginx
- App Liburutegia
- Mysql
- Minio
- Redis
- Redis commander
-
Tener ejecutando selenium [ 'firefox', 'chrome', ''edge' ], se puede descargar desde su respositorio en github.
docker run -d -p 4444:4444 -p 7900:7900 --shm-size="2g" selenium/standalone-firefox:4.8.3-20230404
Antes de utilizar el proyecto, debes configurar las variables de entorno necesarias. Para ello debes tener configurado un fichero .env, se puede utilizar el mismo fichero .env utilizado en el proyecto web Liburutegia, añadiendo las siguientes variables, O bien declarar las variables en el fichero docker-compose lo veremos mas adelante en pasos comunes.
### WebDriver:
COVER_DIR: es el directorio en el que se encuentran las imágenes de portada para los libros de Liburutegia.
MY_USER: Usuario con el que se construira el contenedor del proyecto lbctl
WEBDRIVER_HOST: es el nombre del host donde se ejecuta el servicio de WebDriver, el cual se utiliza para realizar pruebas automatizadas en la aplicación.
WEBDRIVER_STANDALONE: el navegador web que se utilizará para la automatización de pruebas. Las opciones son "firefox", "chrome" o "edge".
WEBDRIVER_PORT_CLI: el puerto en el que se ejecutará el servidor Selenium para la comunicación cliente-servidor.
WEBDRIVER_PORT_WEB: el puerto en el que se ejecutará el servidor Selenium para la interacción con el navegador web.
### MySql:
MYSQL_USER: es el nombre de usuario de la base de datos MySQL que utiliza la aplicación.
O tambien puedes descargar una version completa de las variables que son necesarias para el proyecto lbctl 👉 Descargar archivo .env_example ⬇️.
-
Descarga el archivo docker-compose.yml del proyecto lbctl 👉 Descargar archivo docker-compose.yaml ⬇️. Modificar la ruta del fichero env_file y la network.
-
Modificar los valores de las variables de entorno en el archivo .env de acuerdo a tus necesidades. (Tambien se pueden descargar un ejemplo de las variables que usa este proyecto 👉 Descargar archivo .env), importante que sea .env, remplazar el nombre del fichero ⬇️ .
-
En una terminal o consola, navega hasta la carpeta donde descargaste el archivo docker-compose.yml.
-
Crea un alias en tu archivo .bashrc:
sudo vi ~/.bashrc
Exportamos el fichero docker-compose a una variable global, se debe especificar el path completo, luego creamos un alias
export COMPOSE_FILE="/home/$USER/example/docker-compose.yaml" alias lbctl='docker-compose run -e MY_USER -e BUCKET_NAME --rm --name lbctl-liburutegia lbctl-liburutegia "$@"'
Este comando crea un alias lbctl que ejecuta el contenedor de Docker, la primera vez construira el contenedor.
-
Recarga tu archivo .bashrc con el comando
source ~/.bashrc
-
Ahora puedes utilizar el comando lbctl seguido de los parámetros que desees. Por ejemplo:
lbctl find -t Pokemon
La primera vez, se recomienda usar solo el comando
lbctl
, sin parametros para crear el contenedor, la salida debe ser la version del proyectolbctl 1.0.0 Linux (x86_64)
-
Crea un archivo de script en /usr/local/bin/ utilizando el siguiente comando:
sudo vi /usr/local/bin/lbctl
#!/bin/bash docker-compose run --rm --name lbctl-liburutegia lbctl-liburutegia "$@"
La ultima linea
El comando docker-compose run se utiliza para ejecutar un comando en un servicio específico de Docker Compose. En este caso, el comando se está ejecutando con las siguientes opciones: --rm: elimina el contenedor después de que se detiene el proceso de ejecución del comando. --name: le da un nombre al contenedor que se está creando. En este caso, el nombre es lbctl-liburutegia. lbctl-liburutegia: es el nombre del servicio de Docker Compose que se va a utilizar para ejecutar el comando. Por lo tanto, el comando completo docker-compose run --rm --name lbctl-liburutegia lbctl-liburutegia está ejecutando un comando en el servicio lbctl-liburutegia y se está creando un contenedor con el mismo nombre. El contenedor se eliminará automáticamente cuando se detenga el proceso de ejecución del comando. "$@" : espera mas parametros
sudo chmod +x /usr/local/bin/lbctl
- Exportamos el fichero docker-compose a una variable global, se debe especificar el path completo.
$ export COMPOSE_FILE="/home/$USER/example/docker-compose.yaml"
lbctl find -t Pokemon
La primera vez, se recomienda usar solo el comando
lbctl
, sin parametros para crear el contenedor, la salida debe ser la version del proyectolbctl 1.0.0 Linux (x86_64)
sudo curl -L https://raw.githubusercontent.com/lopuma/lbctl/master/dist/lbctl.sh -o /usr/local/bin/lbctl && sudo chmod +x /usr/local/bin/lbctl && lbctl
- Crea un archivo lbctl.bat con el siguiente contenido:
@echo off
@set "COMPOSE_FILE=C:\Users\<usuario>\docker-compose.yml"
@docker-compose run --rm --name lbctl-liburutegia lbctl-liburutegia %*
📁 En COMPOSE_FILE=, debes remplazar por el path, donde se encuentra el docker-compose.yml de (lbctl)
La ultima linea
El comando docker-compose run se utiliza para ejecutar un comando en un servicio específico de Docker Compose.
En este caso, el comando se está ejecutando con las siguientes opciones:
--rm: elimina el contenedor después de que se detiene el proceso de ejecución del comando.
--name: le da un nombre al contenedor que se está creando. En este caso, el nombre es lbctl-liburutegia.
lbctl-liburutegia: es el nombre del servicio de Docker Compose que se va a utilizar para ejecutar el comando.
Por lo tanto, el comando completo docker-compose run --rm --name lbctl-liburutegia lbctl-liburutegia está ejecutando un comando en el servicio lbctl-liburutegia y se está creando un contenedor con el mismo nombre. El contenedor se eliminará automáticamente cuando se detenga el proceso de ejecución del comando.
%* : espera mas parametros
Este archivo permite utilizar el comando lbctl en la consola de Windows.
Agrega la ruta del archivo lbctl.bat a la variable de entorno PATH para que el comando sea reconocido en la consola.
- Para agregar la ruta del archivo lbctl.bat a la variable de entorno PATH en modo gráfico en Windows, sigue estos pasos:
- Haz clic en el botón de "Inicio" y busca "Sistema" en la barra de búsqueda.
- Haz clic en "Editar las variables de entorno del sistema" en la lista de resultados de búsqueda.
- En la ventana que aparece, haz clic en el botón "Variables de entorno".
- Busca la variable de sistema "Path" y haz clic en "Editar".
- Haz clic en "Nuevo" y agrega la ruta completa de la carpeta que contiene el archivo lbctl.bat.
- Haz clic en "Aceptar" en todas las ventanas abiertas. Nota: Es importante separar cada ruta en la variable PATH con un punto y coma (;).
Ahora puedes utilizar el comando lbctl seguido de los parámetros que desees. Por ejemplo:
lbctl find -t Pokemon
👌
- Para agregar la ruta del archivo lbctl.bat a la variable de entorno PATH desde la línea de comandos en Windows, se puede seguir estos pasos:
- Abrir la línea de comandos (pulsando la tecla Windows + R, escribiendo "cmd" y pulsando Enter).
- Escribir el siguiente comando y pulsar Enter:
setx PATH "%PATH%;C:\ruta\hacia\lbctl.bat"
📁 Donde "C:\ruta\hacia\lbctl.bat" es la ruta donde se encuentra el archivo lbctl.bat. Si la ruta tiene espacios en blanco, asegurarse de colocarla entre comillas dobles (").
- Cerrar y volver a abrir la línea de comandos para que los cambios surtan efecto.
Después de esto, se debería poder ejecutar el comando lbctl desde cualquier ubicación en la línea de comandos sin tener que especificar la ruta completa hacia el archivo lbctl.bat. Por ejemplo:
lbctl find -t Pokemon
👌
Puedes utilizar una de las siguientes opciones:
- Buscar un libro por título:
lbctl find -t <título>
- Buscar un libro por autor:
lbctl find -a <autor>
- Buscar un libro por ISBN:
lbctl find -i <ISBN>
- Buscar libro por titulo, author y ISBN
lbctl find -t <título> -a <autor> -i <ISBN>
- help
lbctl -h / --help