How to Install Mediagoblin on Void Linux

Mediagoblin is a free and open-source media hosting platform where you can upload, share and manage your media files. In this tutorial, we will guide you through the process of installing Mediagoblin on Void Linux.

Prerequisites

Before you begin, make sure you have the following:

Step 1: Install Dependencies

First, we need to install the required dependencies for Mediagoblin:

sudo xbps-install -Su python3 python3-dev python3-openssl python3-psycopg2 postgresql postgresql-contrib ffmpeg

Step 2: Create a PostgreSQL User and Database

Mediagoblin requires a PostgreSQL database to store its data. We need to create a new PostgreSQL user and database for Mediagoblin. Run the following command to switch to the PostgreSQL user account:

sudo su - postgres

Now create a new database and user using the createdb and createuser commands, respectively:

createdb -O mgoblin mgoblin
createuser -P mgoblin

Next, grant all privileges to the mgoblin user on the mgoblin database:

psql -c "GRANT ALL PRIVILEGES ON DATABASE mgoblin TO mgoblin;"

Exit the PostgreSQL shell:

exit

Step 3: Install Mediagoblin

We can now download and install Mediagoblin. Run the following commands:

cd ~
git clone https://gitlab.com/mediagoblin/mediagoblin.git
cd mediagoblin
sudo python3 setup.py install

Step 4: Configure Mediagoblin

We need to configure Mediagoblin to use the PostgreSQL database we created earlier. Copy the configuration file template:

cp ./mediagoblin/configs/mediagoblin.ini mediagoblin_local.ini

Edit the mediagoblin_local.ini file and update the database connection settings. Replace the DATABASE_USER and DATABASE_PASSWORD placeholders with the PostgreSQL user and password for mgoblin, respectively:

sqlalchemy.url = postgresql://DATABASE_USER:DATABASE_PASSWORD@localhost/mgoblin

Save the changes and exit the text editor.

Step 5: Initialize the Database and Start the Service

We can now initialize the Mediagoblin database and start the service. Run the following commands:

mgdb-admin createdb
paster serve mediagoblin_local.ini

You should see some output indicating that the Mediagoblin service is running. By default, it listens on http://127.0.0.1:6543.

Conclusion

Congratulations! You have successfully installed and configured Mediagoblin on Void Linux. You can now upload and manage your media files on your own personal media hosting platform.

If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!