How to Install and Configure MediaGoblin on Ubuntu Server

Post Reply
User avatar
LHammonds
Site Admin
Site Admin
Posts: 679
Joined: Fri Jul 31, 2009 6:27 pm
Are you a filthy spam bot?: No
Location: Behind You
Contact:

How to Install and Configure MediaGoblin on Ubuntu Server

Post: # 464Post LHammonds
Wed Nov 30, 2016 10:22 am

Greetings and salutations,

I hope this thread will be helpful to those who follow in my foot steps as well as getting any advice based on what I have done / documented.

To discuss this thread, please participate here: Ubuntu Forums (** insert actual link **)

High-level overview

This document will cover installation and configuration of MediaGoblin.

Topics to Cover
  • DONE - Prerequisites (Apache, PostgreSQL)
  • DONE - Install MediaGoblin
  • DONE - MediaGoblin auto-start service
  • DONE - Upgrading MediaGoblin
  • DONE - Migrating from server to server
MediaGoblin Technologies
  • Jinja2 templates
  • WTforms form validation and rendering
  • Werkzeug URL routing, request/response (WSGI)
  • SQLAlchemy database mapper (ORM)
  • PostgreSQL or SQLite database
  • Celery and Kombu task queuing and processing
  • Gstreamer 1.0 transcoding video
  • Early Python 3 support
Tools utilized in this process
Helpful links

The list below are sources of information that helped me configure this system as well as some places that might be helpful to me later on as this process continues.
Assumptions

This documentation will need to make use of some very-specific information that will most-likely be different for each person / location. This variable data will be noted in this section and highlighted in red throughout the document as a reminder that you should plug-in your own value rather than actually using these "place-holder" values.

Under no circumstance should you use the actual values listed below. They are place-holders for the real thing. This is just a checklist template you need to have answered before you start the install process.

Wherever you see RED in this document, you need to substitute it for what your company uses.

  • Ubuntu Server name: srv-mediagoblin
  • Internet domain: mydomain.com
  • Ubuntu Server IP address: 192.168.107.53
  • Ubuntu Server IP subnet mask: 255.255.255.0
  • Ubuntu Server IP gateway: 192.168.107.1
  • Internal DNS Server 1: 192.168.107.212
  • Internal DNS Server 2: 192.168.107.213
  • External DNS Server: 8.8.8.8
  • Ubuntu Admin ID: administrator
  • Ubuntu Admin Password: myadminpass
  • Email Server (remote): 192.168.107.25
  • Company/User Initials: abc
  • Data Path: /srv/mg.abc/mediagoblin
MediaGoblin Ubuntu Server - Setup an Ubuntu server for use as the MediaGoblin server. This tutorial assumes the server was configured according to this tutorial: How to install and configure Ubuntu Server

It is also assumed that the reader knows how to use the VI editor. If not, you will need to beef up your skill set or use a different editor in place of it.

User avatar
LHammonds
Site Admin
Site Admin
Posts: 679
Joined: Fri Jul 31, 2009 6:27 pm
Are you a filthy spam bot?: No
Location: Behind You
Contact:

Requisites and Install

Post: # 465Post LHammonds
Wed Nov 30, 2016 10:47 am

All commands assume you are logged in as the root user. You can do this by logging in with your administrator account and typing the following to switch into the root account:

Code: Select all

sudo su
When needed, you will be given commands to switch into other accounts.

Once you get the base operating system setup, be sure to increase the partition space of our primary data repository (/dev/LVG/srv). The USR partition will need more space too since we are installing lots of software/libraries.

Code: Select all

lvextend -L5G /dev/LVG/srv
resize2fs /dev/LVG/srv 4G
lvextend -L4G /dev/LVG/usr
resize2fs /dev/LVG/usr 3G
Install the database application:

Code: Select all

apt install postgresql postgresql-client
Create the database and user:

Code: Select all

su - postgres
createuser -A -D mediagoblin
createdb -E UNICODE -O mediagoblin mediagoblin
exit
Create a low-rights system account to run MediaGoblin service:

Code: Select all

groupadd mediagoblin
useradd -c "GNU MediaGoblin system account" -d /var/lib/mediagoblin -m -r -g www-data mediagoblin
NOTE: No password will be assigned and it cannot be used to login. You use this command to switch to the MediaGoblin account: su mediagoblin -s /bin/bash

Create the data repository:
mkdir -p /srv/mg.abc chown -hR mediagoblin:www-data /srv/mg.abc
Install the web server:

Code: Select all

apt install apache2 libapache2-mod-fastcgi
a2enmod suexec
a2enmod fastcgi
a2enmod rewrite
service apache2 restart
Install Python and code compiling utilities:

Code: Select all

apt install git-core python python-dev python-lxml python-imaging python-virtualenv npm nodejs-legacy automake python-psycopg2
Install MediaGoblin under the low-rights user account:
su mediagoblin -s /bin/bash cd /srv/mg.abc git clone git://git.savannah.gnu.org/mediagoblin.git -b stable cd /srv/mg.abc/mediagoblin git submodule init git submodule update ./bootstrap.sh ./configure make mkdir /srv/mg.abc/mediagoblin/user_dev chmod 750 /srv/mg.abc/mediagoblin/user_dev ./bin/easy_install flup ./bin/easy_install flup==1.0.3.dev-20110405
Backup the original config files:
cp /srv/mg.abc/mediagoblin/mediagoblin.ini /srv/mg.abc/mediagoblin/mediagoblin_original.ini cp /srv/mg.abc/mediagoblin/paste.ini /srv/mg.abc/mediagoblin/paste_original.ini
Configure MediaGoblin to use PostgreSQL
vi /srv/mg.abc/mediagoblin/mediagoblin.ini
Find the [mediagoblin] section and add:

Code: Select all

sql_engine = postgresql:///mediagoblin
Find the [mediagoblin] section and add:
email_smtp_use_ssl = true email_sender_address = 'youremail@yourdomain.com' email_smtp_host = 'smtp.yourdomain.com' email_smtp_port = 465 email_smtp_user = 'mailbox_user' email_smtp_pass = 'mailbox_pass'
Update the database data structures

Code: Select all

./bin/gmg dbupdate
Add your user account:
./bin/gmg adduser Username: mgadmin Password: mgadminpass Email: mgadmin@mydomain.com
Elevate your administrative account
./bin/gmg makeadmin mgadmin
Test the server:

Code: Select all

./lazyserver.sh --server-name=broadcast
Visit http://192.168.107.53:6543

Press CTRL+C to close the test server session and exit the low-rights user shell:

Code: Select all

exit

User avatar
LHammonds
Site Admin
Site Admin
Posts: 679
Joined: Fri Jul 31, 2009 6:27 pm
Are you a filthy spam bot?: No
Location: Behind You
Contact:

Configure Apache and Startup Services

Post: # 466Post LHammonds
Wed Nov 30, 2016 1:04 pm

Configure Apache

Code: Select all

vi /etc/apache2/sites-available/000-default.conf
<VirtualHost *:80> ServerName mediagoblin.yourdomain.tld ServerAdmin webmaster@yourdomain.tld DocumentRoot /var/www/html # Custom log files CustomLog /var/log/apache2/mediagobling_access.log combined ErrorLog /var/log/apache2/mediagoblin_error.log # Serve static and media files via alias Alias /mgoblin_static/ /srv/mg.abc/mediagoblin/mediagoblin/static/ Alias /mgoblin_media/ /srv/mg.abc/mediagoblin/user_dev/media/public/ # Rewrite all URLs to fcgi, except for static and media urls RewriteEngine On RewriteRule ^(mgoblin_static|mgoblin_media)($|/) - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^/(.*)$ /mg.fcgi/$1 [QSA,L] # Allow access to static and media directories <Directory /srv/mg.abc/mediagoblin/mediagoblin/static> Order allow,deny Allow from all </Directory> <Directory /srv/mg.abc/mediagoblin/mediagoblin/user_dev/media/public> Order allow,deny Allow from all </Directory> # Connect to fcgi server FastCGIExternalServer /var/www/html/mg.fcgi -host 127.0.0.1:26543 </VirtualHost>

Code: Select all

touch /var/www/html/mg.fcgi
chown mediagoblin:www-data /var/www/html/mg.fcgi
chmod 755 /var/www/html/mg.fcgi
vi /var/www/html/mg.fcgi
#!/srv/mg.abc/mediagoblin/bin/python # Written in 2011 by Christopher Allan Webber # # To the extent possible under law, the author(s) have dedicated all # copyright and related and neighboring rights to this software to the # public domain worldwide. This software is distributed without any # warranty. # # You should have received a copy of the CC0 Public Domain Dedication along # with this software. If not, see # <http://creativecommons.org/publicdomain/zero/1.0/>. from paste.deploy import loadapp from flup.server.fcgi import WSGIServer CONFIG_PATH = '/srv/mg.abc/mediagoblin/paste.ini' ## Uncomment this to run celery in "always eager" mode... ie, you don't have ## to run a separate process, but submissions wait till processing finishes # import os # os.environ['CELERY_ALWAYS_EAGER'] = 'true' def launch_fcgi(): ccengine_wsgi_app = loadapp('config:' + CONFIG_PATH) WSGIServer(ccengine_wsgi_app).run() if __name__ == '__main__': launch_fcgi()
Run mg.fcgi manually to make sure it works properly:

Code: Select all

/var/www/html/mg.fcgi

Configure MediaGoblin to run as a service

Create the various files/folders and set appropriate permissions:

Code: Select all

mkdir /var/log/mediagoblin
chown mediagoblin:www-data /var/log/mediagoblin
mkdir /var/run/mediagoblin
chown mediagoblin:www-data /var/run/mediagoblin
touch /etc/systemd/system/gmg.service
touch /etc/systemd/system/gmg-celeryd.service
chown root:root /etc/systemd/system/gmg.service
chown root:root /etc/systemd/system/gmg-celeryd.service
chmod 644 /etc/systemd/system/gmg.service
chmod 644 /etc/systemd/system/gmg-celeryd.service
Edit the service file:

Code: Select all

vi /etc/systemd/system/gmg.service
Copy/Paste the following config settings into the above service file:
# Set the WorkingDirectory, Environment and ExecStart values to match your # environment. If using Debian/*buntu, mkdir and chown are located in # /bin/mkdir and /bin/chown, respectively. If using Fedora/CentOS/Red Hat, # mkdir & chown are located in /usr/bin/mkdir and /usr/bin/chown, respectively. [Unit] Description=Mediagoblin [Service] # Always restart the service if it crashes. Restart=always Type=forking User=mediagoblin Group=mediagoblin #Environment=CELERY_ALWAYS_EAGER=true Environment=CELERY_ALWAYS_EAGER=false WorkingDirectory=/srv/mg.abc/mediagoblin # Start mg-paster process as root, then switch to mediagoblin user/group PermissionsStartOnly=true ExecStartPre=-/bin/mkdir -p /run/mediagoblin ExecStartPre=/bin/chown -hR mediagoblin:mediagoblin /run/mediagoblin ExecStart=/srv/mg.abc/mediagoblin/bin/paster serve \ /srv/mg.abc/mediagoblin/paste.ini \ --pid-file=/var/run/mediagoblin/mediagoblin.pid \ --log-file=/var/log/mediagoblin/mediagoblin.log \ --daemon \ --server-name=fcgi fcgi_host=127.0.0.1 fcgi_port=26543 ExecStop=/srv/mg.abc/mediagoblin/bin/paster serve \ --pid-file=/var/run/mediagoblin/mediagoblin.pid \ /srv/mg.abc/mediagoblin/paste.ini stop PIDFile=/var/run/mediagoblin/mediagoblin.pid [Install] WantedBy=multi-user.target
Edit the service file:

Code: Select all

vi /etc/systemd/system/gmg-celeryd.service
Copy/Paste the following config settings into the above service file:
# Set the WorkingDirectory, Environment and ExecStart values to match your # environment. If using Debian/*buntu, mkdir and chown are located in # /bin/mkdir and /bin/chown, respectively. If using Fedora/CentOS/Red Hat, # mkdir & chown are located in /usr/bin/mkdir and /usr/bin/chown, respectively. [Unit] Description=Mediagoblin Celeryd [Service] # Always restart the service if it crashes. Restart=always User=mediagoblin Group=mediagoblin Type=simple WorkingDirectory=/srv/mg.abc/mediagoblin # Create directory for PID (if needed) and set ownership ExecStartPre=/bin/mkdir -p /run/mediagoblin ExecStartPre=/bin/chown -hR mediagoblin:mediagoblin /run/mediagoblin # Celery process will run as the `mediagoblin` user after start. Environment="MEDIAGOBLIN_CONFIG=/srv/mg.abc/mediagoblin/mediagoblin.ini" \ CELERY_CONFIG_MODULE=mediagoblin.init.celery.from_celery ExecStart=/srv/mg.abc/mediagoblin/bin/celery worker \ --logfile=/var/log/mediagoblin/celery.log \ --loglevel=INFO PIDFile=/var/run/mediagoblin/mediagoblin-celeryd.pid [Install] WantedBy=multi-user.target
Set services to clean up temp files:

Code: Select all

touch /usr/lib/tmpfiles.d/gmg.conf
chown mediagoblin:www-data /usr/lib/tmpfiles.d/gmg.conf
chmod 644 /usr/lib/tmpfiles.d/gmg.conf
Edit the config file:

Code: Select all

vi /usr/lib/tmpfiles.d/gmg.conf
Copy/Paste the following into the above config file:

Code: Select all

d /var/run/mediagoblin 0755 mediagoblin mediagoblin
Start the Paste service:

Code: Select all

systemctl start|stop|restart gmg.service
Start the Celery service:

Code: Select all

systemctl start|stop|restart gmg-celeryd.service
Configure MediaGoblin services to start automatically

NOTE: The "Restart=always" in the service config files tells the service to restart if the service crashes.

These commands will tell the system that these services need to start when the server starts. They create symbolic links in "/etc/systemd/system/multi-user.target.wants/"

Code: Select all

systemctl enable gmg.service
systemctl enable gmg-celeryd.service
Verify services are configured to auto-start with the system boot:

Code: Select all

systemctl is-enabled gmg.service
systemctl is-enabled gmg-celeryd.service
If you need to disable the auto-start, use these commands (which will not stop a running service):

Code: Select all

systemctl disable gmg.service
systemctl disable gmg-celeryd.service
To enable the auto-start again, use these commands (which will not start a stopped service)

Code: Select all

systemctl enable gmg.service
systemctl enable gmg-celeryd.service
Bulk Add Files on Server

If you have a bunch of files on your server that you want added to MediaGoblin, you can use the following command-line to add a file as if uploaded by the user named "mgadmin"

Code: Select all

./bin/gmg addmedia mgadmin myimage.jpg
You could also set meta data during the upload

Code: Select all

./bin/gmg addmedia mgadmin myimage.jpg \
  --title "My Image" \
  --description "A simple image" \
  --license "https://creativecommons.org/licenses/by-sa/3.0/" \
  --tags "personal image" \
  --slug "my image"
Pumpa as Front-End Client

MediaGoblin has a pump.io application programming interface (API) which can allow other applications to work with MediaGoblin that were not necessarily designed for MediaGoblin. Pumpa is once such client and here is how it can work.
  1. Download Pumpa and install it on your computer (Dianara for Windows)
  2. When asked for your Pump.io address, enter ???
  3. ** to be continued **

User avatar
LHammonds
Site Admin
Site Admin
Posts: 679
Joined: Fri Jul 31, 2009 6:27 pm
Are you a filthy spam bot?: No
Location: Behind You
Contact:

MediaGoblin Plugins

Post: # 467Post LHammonds
Wed Nov 30, 2016 4:57 pm

Adding Plugins

Basic Search

Source: Github
su mediagoblin -s /bin/bash cd /tmp git clone https://github.com/ayleph/mediagoblin-basicsearch.git mv /tmp/mediagoblin-basicsearch/basicsearch /srv/mg.abc/mediagoblin/mediagoblin/plugins/. rm -rf /tmp/mediagoblin-basicsearch vi /srv/mg.abc/mediagoblin/mediagoblin.ini
Add the following under the [plugins] section:

Code: Select all

[[mediagoblin.plugins.basicsearch]]
Then restart the service for the change to take effect.
You should see a "Search" link to the left of the "Login" link at the top of the page.

Adding More Media Types

Source: Media Types

Images

Images are already enabled by default

NOTE: Image types that work: PNG, GIF, JPG
NOTE: Image types that do NOT work:

Video

NOTE: Video types that work: AVI, MP4
NOTE: Video types that do NOT work: WMV, MPG

Install required libraries:
apt install python-gi python3-gi gstreamer1.0-tools gir1.2-gstreamer-1.0 gir1.2-gst-plugins-base-1.0 gstreamer1.0-plugins-good gstreamer1.0-libav python-gst-1.0 vi /srv/mg.abc/mediagoblin/mediagoblin.ini
Add the following under the [plugins] section:

Code: Select all

[[mediagoblin.media_types.video]]
Update the database with the new settings:
su mediagoblin -s /bin/bash cd /srv/mg.abc/mediagoblin ./bin/gmg dbupdate exit
Audio

NOTE: Audio types that work: WAV, M3, M4A, FLAC
NOTE: Audio types that do NOT work: WMA

Install required libraries:
apt install python-gst-1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-libav libsndfile1-dev libasound2-dev vi /srv/mg.abc/mediagoblin/mediagoblin.ini
Add the following under the [plugins] section:

Code: Select all

[[mediagoblin.media_types.audio]]
su mediagoblin -s /bin/bash cd /srv/mg.abc/mediagoblin ./bin/pip install numpy==1.9.1 ./bin/pip install scikits.audiolab==0.10.2 ./bin/gmg dbupdate exit
NOTE: If uploading audio causes an "internal server error" then edit the following file and search for "axis=1" and change to "axis=0" but if you install the versions of numpy and audiolab using the above steps, you should have avoided this issue. Reference Article
vi /srv/mg.abc/mediagoblin/mediagoblin/media_types/audio/audioprocessing.py
PDF

Install required libraries:
apt install poppler-utils vi /srv/mg.abc/mediagoblin/mediagoblin.ini
Add the following under the [plugins] section:

Code: Select all

[[mediagoblin.media_types.pdf]]
su mediagoblin -s /bin/bash cd /srv/mg.abc/mediagoblin ./bin/gmg dbupdate exit
STL

NOTE: 3D model types that work: STL
NOTE: 3D model types that do NOT work: OBJ (crash)

Install required libraries:
apt install blender vi /srv/mg.abc/mediagoblin/mediagoblin.ini
Add the following under the [plugins] section:

Code: Select all

[[mediagoblin.media_types.stl]]
su mediagoblin -s /bin/bash cd /srv/mg.abc/mediagoblin ./bin/gmg dbupdate exit

User avatar
LHammonds
Site Admin
Site Admin
Posts: 679
Joined: Fri Jul 31, 2009 6:27 pm
Are you a filthy spam bot?: No
Location: Behind You
Contact:

Miscellaneous Settings

Post: # 468Post LHammonds
Wed Nov 30, 2016 5:06 pm

Miscellaneous Settings

Disable / Enable Registration

Change "allow_registration" in the "[mediagoblin] section of mediagoblin.ini

You can always create users manually via the commandline:
su mediagoblin -s /bin/bash cd /srv/mg.abc/mediagoblin /srv/mg.abc/mediagoblin/bin/gmg adduser exit
Failed Uploads

If a media files in the transcoding process and you corrected the problem or want to try again:
su mediagoblin -s /bin/bash cd /srv/mg.abc/mediagoblin ./bin/gmg reprocess run <media-id> initial exit
If the media got stuck in the "processing" state, manually reset the state in the database:
su - postgres psql mediagoblin update core__media_entries set state='failed' where id=<media-id>; \q exit
Deleting Media

To delete media no matter what state it is in:
su mediagoblin -s /bin/bash cd /srv/mg.abc/mediagoblin ./bin/gmg deletemedia <media-id> exit

User avatar
LHammonds
Site Admin
Site Admin
Posts: 679
Joined: Fri Jul 31, 2009 6:27 pm
Are you a filthy spam bot?: No
Location: Behind You
Contact:

Backup & Restore

Post: # 469Post LHammonds
Wed Dec 07, 2016 5:32 pm

Backup MediaGoblin

Backup your files:
su mediagoblin -s /bin/bash tar -cpzf /tmp/mediagoblin.tar.gz /srv/mg.abc 1>/dev/null 2>&1 exit
Backup your database:

Code: Select all

su mediagoblin -s /bin/bash
pg_dump --format=c --blobs --file=/tmp/mediagoblin.sql --dbname=mediagoblin
exit
Restore MediaGoblin

NOTE: You might want to delete all files in your mediagoblin folder before restoring to make sure that the only files that exist are from the backup.

Stop the services:

Code: Select all

systemctl stop gmg.service
systemctl stop gmg-celeryd.service
service apache2 stop
Restore the database and files:
su mediagoblin -s /bin/bash pg_restore --format=c --dbname=mediagoblin --schema=public --clean --single-transaction /tmp/mediagoblin.sql tar -xvzf /tmp/mediagoblin.tar.gz -C /srv/mg.abc/mediagoblin/ --strip-components=3 exit
Start the services:

Code: Select all

service apache2 start
systemctl start gmg.service
systemctl start gmg-celeryd.service

User avatar
LHammonds
Site Admin
Site Admin
Posts: 679
Joined: Fri Jul 31, 2009 6:27 pm
Are you a filthy spam bot?: No
Location: Behind You
Contact:

Upgrading MediaGoblin

Post: # 470Post LHammonds
Thu Dec 08, 2016 11:43 am

Upgrading MediaGoblin

Reference Link: Release Notes

NOTE: This is just an example of the procedure. Check the release notes regarding your specific version and updating to the latest version.

Backup your MediaGoblin files and database as noted in the section above.

Stop the services:

Code: Select all

systemctl stop gmg.service
systemctl stop gmg-celeryd.service
Update MediaGoblin:
su mediagoblin -s /bin/bash cd /srv/mg.abc/mediagoblin git remote set-url origin git://git.savannah.gnu.org/mediagoblin.git git fetch git checkout -q v0.9.0 ./bootstrap.sh ./configure make ./bin/python setup.py develop --upgrade ./bin/gmg dbupdate exit
Start the services:

Code: Select all

systemctl start gmg.service
systemctl start gmg-celeryd.service

User avatar
LHammonds
Site Admin
Site Admin
Posts: 679
Joined: Fri Jul 31, 2009 6:27 pm
Are you a filthy spam bot?: No
Location: Behind You
Contact:

Migrating MediaGoblin

Post: # 471Post LHammonds
Fri Dec 09, 2016 1:49 pm

Migrating MediaGoblin to a different server

NOTE: These notes have not been verified by actually doing it yet.
  1. Install another MediaGoblin server just like this one and verify that everything works correctly.
  2. Perform a backup of the MediaGoblin files and database as noted above.
  3. Transfer the backup files to the new server.
  4. Restore the backups as noted above.

User avatar
LHammonds
Site Admin
Site Admin
Posts: 679
Joined: Fri Jul 31, 2009 6:27 pm
Are you a filthy spam bot?: No
Location: Behind You
Contact:

UNRESOLVED

Post: # 472Post LHammonds
Fri Dec 09, 2016 1:51 pm


Blender thumbnails - Thumbnail images of STL files are not working. The STL plugin was designed with Blender 2.63 in mind but current Blender repository is 2.76 which might be the source of the issue. Need to either update STL plugin or downgrade Blender.

FIGURING OUT HOW TO INSTALL SPECIFIC VERSION OF BLENDER:

Code: Select all

apt remove blender
cd /opt
wget http://mirror.cs.umn.edu/blender.org/release/Blender2.63/blender-2.63-linux-glibc27-x86_64.tar.bz2
tar xvf blender-2.63-linux-glibc27-x86_64.tar.bz2
mv /opt/blender-2.63-linux-glibc27-x86_64 /opt/blender
rm /opt/blender-2.63-linux-glibc27-x86_64.tar.bz2
ln -s /opt/blender/blender /usr/bin/blender

Error in Celery Log:
[2016-12-05 14:16:06,817: WARNING/MainProcess] /srv/mg.abc/mediagoblin/lib/python2.7/site-packages/celery-3.1.25-py2.7.egg/celery/apps/worker.py:161: CDeprecationWarning: Starting from version 3.2 Celery will refuse to accept pickle by default. The pickle serializer is a security concern as it may give attackers the ability to execute any command. It's important to secure your broker from unauthorized access when using pickle, so we think that enabling pickle should require a deliberate action and not be the default choice. If you depend on pickle then you should set a setting to disable this warning and to be sure that everything will continue working when you upgrade to Celery 3.2:: CELERY_ACCEPT_CONTENT = ['pickle', 'json', 'msgpack', 'yaml'] You must only enable the serializers that you will actually use.


User avatar
LHammonds
Site Admin
Site Admin
Posts: 679
Joined: Fri Jul 31, 2009 6:27 pm
Are you a filthy spam bot?: No
Location: Behind You
Contact:

More Themes

Post: # 473Post LHammonds
Fri Dec 09, 2016 3:42 pm

Additional Themes

NOTE: You are best sticking with the default Airy theme unless you make your own. Most themes I found on the net are not compatible in one way or another including the "sandyseventiesspeedboat" theme packaged with 0.9.0 which causes display errors when trying to open any type of media.

Example of installing a theme:
cd /tmp git clone https://github.com/pztrn/stricted-mediagoblin-theme.git mv /tmp/stricted-mediagoblin-theme/stricted /srv/mg.abc/mediagoblin/mediagoblin/themes rm -rf /tmp/stricted-mediagoblin-theme
Edit mediagoblin.ini and set the theme to be used:
vi /srv/mg.abc/mediagoblin/mediagoblin.ini
theme = stricted
Update MediaGoblin:

Code: Select all

su mediagoblin -s /bin/bash
./bin/gmg assetlink
exit
Restart the service for the change to take effect:

Code: Select all

systemctl restart gmg.service
Lists of known themes

stricted - Light and Dark (not compatible with MediaGoblin 0.9.0 as of Dec 9, 2016)
micromic - A port of the "Sidebars Suck" Wordpress Theme

Post Reply