Upgrading MediaGoblin¶
Preparation¶
ALWAYS take a backup before upgrading, especially before running migrations. That way if something goes wrong, we can fix things.
Although not strictly necessary, we recommend you shut down your current MediaGoblin/Celery processes before upgrading.
Upgrade¶
Switch to the user you used to deploy MediaGoblin, which may be “mediagoblin” if you followed the deployment guide:
sudo su mediagoblin --shell=/bin/bash
Update to the latest release. In your
mediagoblin
directory, run:git fetch && git checkout -q v0.13.0 && git submodule update
If you are checking out a branch, rather than a specific version tag, please run git pull before git submodule update.
Note down any plugins you have installed by reviewing your
mediagoblin.ini
configuration. These will be removed by the following steps and must be re-installed.Remove your existing installation:
make distclean
Recreate the virtual environment and install MediaGoblin:
./bootstrap.sh && ./configure && make
You may need to update file permissions as mentioned in “Deploying MediaGoblin”.
Re-install any “Plugins” you had previously installed. Skipping these may result in errors updating the database.
Update the database:
./bin/gmg dbupdate
Restart the Paster and Celery processes. If you followed “Deploying MediaGoblin”, this may be something like:
sudo systemctl restart mediagoblin-paster.service sudo systemctl start mediagoblin-celeryd.service
To see the logs for troubleshooting, use something like:
sudo journalctl -u mediagoblin-paster.service -f sudo journalctl -u mediagoblin-celeryd.service -f
View your site and hover your cursor over the “MediaGoblin” link in the footer to confirm the version number you’re running.
Updating your system Python¶
Upgrading your operating system or installing a new major version of Python may break MediaGoblin. This typically occurs because Python virtual environment is referring to a copy of Python that no longer exists. In this situation use the same process for “Upgrade” above.