Mediagoblin

a quick and dirty guide, better docs and maybe puppet config later

Installation

 * 1) follow Deploying guide using python3, up to the FastCGI and Nginx part where you stop, because flup doesn't work on python3 and uWSGI is better.
 * 2) Set up uWSGI with Nginx as you see in this guide.

Make sure to install on Debian/Ubuntu, or  on CentOS. Then add the following as stated in this guide:

Though actually, instead of the config seen in the guide, use this one (since the guide has a typo for uwsgi_pass, and puts the site under, which is not what we want.)

uWSGI Emperor Config
It is a good idea to run the uWSGI apps as vassals to the uWSGI Emperor service. Install it with:

Then create a uwsgi config file for mediagoblin:

Most importantly, chown it to mediagoblin:nginx so that uwsgi will run the service with those permissions.

Finally, run the uwsgi Emperor service.

If shows you that, then enable the uwsgi service on boot:

Celery Systemd Configs
You will want to seperate out the Celery process from the server, now that mediagoblin's Paste server is running under a uWSGI socket, otherwise uploads won't be processed.

You can skip the paste systemd daemon setup, since having the uwsgi service takes care of that.

http://mediagoblin.readthedocs.io/en/latest/siteadmin/configuration.html

Redis Broker for Celery
A super easy mod is to add a redis broker, which significantly helps speed the encoding process.

http://docs.celeryproject.org/en/latest/getting-started/brokers/redis.html

Music
install the good, bad, and ugly gstreamer plugins from epel. also gstreamer-python, and libsndfile-devel

https://wiki.centos.org/TipsAndTricks/MultimediaOnCentOS7

Then, install a specific version of numpy and such as stated in this ticket:

https://issues.mediagoblin.org/ticket/5379

You're probably better off using something like Koel though if you don't need user contributions... https://koel.phanan.net/docs/#/