MediaGoblin, la plataforma descentralizada para compartir medios llega a su versión 0.13.0
Hace pocos días se dio a conocer el lanzamiento de la nueva versión de MediaGoblin 0.13, versión en la cual se han implementado mejoras de soporte, asi como también que esta versión menor agrega soporte para Python 3.10 y 3.11 y elimina el soporte para versiones de Python anteriores a 3.7
Para quienes desconocen de MediaGoblin (también conocido como GNU MediaGoblin) deben saber que esta es una plataforma diseñada para organizar el alojamiento y el intercambio de contenido multimedia, incluidas fotos, videos, archivos de sonido, videos, modelos tridimensionales y documentos PDF.
¿Que hay de nuevo en MediaGoblin 0.13?
Este lanzamiento de MediaGoblin 0.13 se presenta como un lanzamiento menor, ya que son pocos los cambios y mejoras que se integran (en comparación con lanzamientos anteriores), pero se menciona que el lanzamiento se realizo porque se agregó soporte para Python 3.10 y 3.11, se suspendió el soporte para versiones de Python anteriores a 3.7.
Ademas de ello, se destaca que se han implementado actualizaciones de bibliotecas, entre las cuales se encuentran Jinja2, PyLD y Celery y también se agregó soporte para navegar a través de vistas de varias páginas usando las teclas del cursor.
Otro de los cambios que se destaca es que se ha prohibido la descarga inicial en páginas con videos, pues se ha implementado el atributo preload=»metadata», el cual está configurado de manera predeterminada para evitar la carga previa de contenido de video (en el modo «metadatos», solo se carga información sobre el tamaño del video).
Por otra parte, se destaca que el código de comparación de contraseñas utiliza un algoritmo de tiempo constante (para bloquear ataques de canal lateral urgentes) y de forma predeterminada, el filtro de interpolación bicúbica (BICUBIC) se utiliza al cambiar el tamaño de las imágenes.
De los demás cambios que se destacan:
- Reparar varios « ResourceWarning«s y « DeprecationWarning«s
- Se añadieron entradas «extras_require» para dependencias de documentos, audio, video, imágenes sin formato, LDAP y OpenID (Olivier Mehani)
- Ampliar la navegación con las teclas de flecha izquierda/derecha a vistas paginadas
- MediaGoblin 0.13 ha sido probada en Debian 11, Debian 12, Ubuntu 20.04, Ubuntu 22.04 y Fedora 39.
Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.
¿Como instalar en Ubuntu MediaGoblin y derivados?
Para quienes estén interesados en poder instalar esta plataforma en su sistema, podrán hacerlo siguiendo las instrucciones que compartimos a continuación.
Lo primero que debemos hacer es instalar los servicios necesarios, que en este caso nos podemos apoyar de Lampp. Hecho esto, ahora debemos instalar Ngix (ya que MediGoblin lo requiere) y también varias dependencias:
sudo apt install nginx-light rabbitmq-server sudo apt install postgresql python3-psycopg2 sudo apt install automake git nodejs npm python3-dev python3-gi \ python3-gst-1.0 python3-lxml python3-pil virtualenv python3-psycopg2
Ahora vamos a configurar la base de datos en PostgreSQL, donde la base de datos y el usuario son mediagoblin:
sudo --login --user=postgres createuser --no-createdb mediagoblin sudo --login --user=postgres createdb --encoding=UTF8 --owner=mediagoblin mediagoblin
Creamos un usuario y le damos privilegios sobre los archivos multimedia:
sudo useradd --system --create-home --home-dir /var/lib/qmediagoblin \ --group www-data --comment 'GNU MediaGoblin system account' mediagoblin sudo groupadd --force mediagoblin sudo usermod --append --groups mediagoblin mediagoblin sudo su mediagoblin –shell=/bin/bash
Creamos los directorios que contendrán los archivos multimedia:
sudo mkdir --parents /srv/mediagoblin.example.org sudo chown --no-dereference --recursive mediagoblin:www-data /srv/mediagoblin.example.org
Instalamos la plataforma:
sudo su mediagoblin --shell=/bin/bash cd /srv/mediagoblin.example.org git clone --depth=1 https://git.savannah.gnu.org/git/mediagoblin.git \ --branch stable --recursive cd mediagoblin ./bootstrap.sh VIRTUALENV_FLAGS='--system-site-packages' ./configure make mkdir --mode=2750 user_dev sudo su mediagoblin --shell=/bin/bash cd /srv/mediagoblin.example.org git submodule update && ./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate
Hecho esto ahora solamente tendremos que editar el archivo mediagoblin.ini en el cual vamos a colocar lo siguiente:
- email_sender_address : un correo electrónico el cual se utilizara como remitente para el sistema
- En direct_remote_path, base_diry base_url, se pueden editar para cambiar el prefijo de la URL.
- [mediagoblin]: aquí añadiremos la conexión a la base de datos (queda de la siguiente forma si se respeto el nombre de la base de datos que creamos con los comandos anteriores “sql_engine = postgresql:///mediagoblin”)
Posterior a la edición y guardar los cambios vamos a actualizar los cambios con:
./bin/gmg dbupdate
Finalmente vamos a crear la cuenta de administrador donde sustituimos username por el nombre de usuario de nuestra preferencia y you@example.com con el correo electrónico al que se vinculara la cuenta:
./bin/gmg adduser --username you --email you@example.com ./bin/gmg makeadmin you
Para lanzar el servici basta con ejecutar:
./lazyserver.sh –server-name=broadcast
Y nos conectamos desde un navegador web a la url localhost:6543 o usando tu dirección ip interna o del servidor o nombre de dominio al puerto “6543”.