MediaGoblin, the decentralized media sharing platform reaches version 0.13.0

media goblin

MediaGoblin is a media publishing platform, considered a decentralized alternative to Flickr, YouTube, SoundCloud, etc.

A few days ago it was announced release of the new version of MediaGoblin 0.13, a version in which support improvements have been implemented, as well as this minor version adding support for Python 3.10 and 3.11 and removing support for Python versions prior to 3.7

For those who are unfamiliar with MediaGoblin (also known as GNU MediaGoblin) you should know that this is a platform designed to organize the hosting and sharing of multimedia content, including photos, videos, sound files, videos, XNUMXD models, and PDF documents.

What's new in MediaGoblin 0.13?

This release of MediaGoblin 0.13 is presented as a minor release, since few changes and improvements are integrated (compared to previous releases), but it is mentioned that the release It was done because support was added for Python 3.10 and 3.11, Support for Python versions prior to 3.7 was discontinued.

In addition to this, it is noted that library updates have been implemented, Among which are Jinja2, PyLD and Celery and also added support for navigating through multi-page views using the cursor keys.

Another change that stands out is that initial download has been prohibited on pages with videos, since the preload="metadata" attribute has been implemented, which is configured by default to avoid preloading video content (in "metadata" mode, only information about the size of the video is loaded).

On the other hand, it is highlighted that password matching code uses constant time algorithm (to block urgent side channel attacks) and by default, the bicubic interpolation (BICUBIC) filter is used when resizing images.

Of the other changes that stand out:

  • Repair various « ResourceWarning«sy « DeprecationWarning«s
  • Added “extras_require” entries for document, audio, video, raw image, LDAP and OpenID dependencies (Olivier Mehani)
  • Expand left/right arrow key navigation to paginated views
  • MediaGoblin 0.13 has been tested on Debian 11, Debian 12, Ubuntu 20.04, Ubuntu 22.04 and Fedora 39.

finally if you are interested in knowing more about it, you can check the details In the following link.

How to install MediaGoblin and derivatives on Ubuntu?

For those who are interested in being able to install this platform on their system, they can do so by following the instructions we share below.

The first thing we must do is install the necessary services, which in this case we can rely on Lampp. Done this, now we must install Ngix (since MediGoblin requires it) and also various dependencies:

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

Now we are going to configure the database in PostgreSQL, where the database and user are mediagoblin:

sudo --login --user=postgres createuser --no-createdb mediagoblin
sudo --login --user=postgres createdb --encoding=UTF8 --owner=mediagoblin mediagoblin

We create a user and give it privileges about multimedia files:

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

We create the directories that will contain the multimedia files:

sudo mkdir --parents /srv/mediagoblin.example.org
sudo chown --no-dereference --recursive mediagoblin:www-data /srv/mediagoblin.example.org

We install the platform:

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

Done this now only tWe will end up editing the mediagoblin.ini file in which we are going to place the following:

  • email_sender_address: an email which will be used as sender for the system
  • In direct_remote_path, base_d, and base_url, they can be edited to change the URL prefix.
  • [mediagoblin]: here we will add the connection to the database (it is as follows if the name of the database that we created with the previous commands “sql_engine = postgresql: /// mediagoblin” is respected)

After editing and saving the changes we will update the changes with:

./bin/gmg dbupdate

Finally let's create the administrator account where we replace username with the username of our preference and you@example.com with the email to which the account will be linked:

./bin/gmg adduser --username you --email you@example.com
./bin/gmg makeadmin you

To launch the service, just run:

./lazyserver.sh –server-name=broadcast

And we connect from a web browser to the url localhost: 6543 or using your internal or server IP address or domain name to port "6543".


Leave a Comment

Your email address will not be published. Required fields are marked with *

*

*

  1. Responsible for the data: Miguel Ángel Gatón
  2. Purpose of the data: Control SPAM, comment management.
  3. Legitimation: Your consent
  4. Communication of the data: The data will not be communicated to third parties except by legal obligation.
  5. Data storage: Database hosted by Occentus Networks (EU)
  6. Rights: At any time you can limit, recover and delete your information.