The following is the GNU All-permissive License as recommended in

Copyright (C) 2024 Free Software Foundation

Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved. This file is offered as-is, without any warranty.

Contributions are welcome. See


updating front page

see for info about campaigns' side of the process. This git repo:

git clone

contains module code, but it appears to be very much out of date.

The deployed module on the server itself can be found here: /srv/gmg/mediagoblin/mediagoblin/plugins/libreplanet. Make sure to run su -l mediagoblin before you make changes to that deployed repo. Note that the .git directory is missing, and that there may be newer changes on the server compared to the git repo.

Syntax errors and undefined variables generally lead to crashing the entire site, so review changes carefully before deploying them. Only some changes are applied immediately, whereas others require restarting gmg, as described below. Some code that is valid may be only half deployed, which can lead to crashes.

starting and stopping gmg

on gnuhope stack

systemctl stop mediagoblin-paster.service ; systemctl stop mediagoblin-celeryd.service

systemctl start mediagoblin-paster.service ; systemctl start mediagoblin-celeryd.service

software updates


we are using the fsf-stable branch on

on gnuhope stack

make sure to run the following commands in a terminal window before performing automatic updates to software:

export http_proxy=""
export https_proxy=""


from the deployment guide:

git submodule update && ./bin/python develop --upgrade && ./bin/gmg dbupdate

Note that we have a patch for weblabels and PDF.js at the following path. It may break the above commands, and needs to be re-added if it gets removed.

cd /srv/gmg/mediagoblin/extlib/pdf.js/

git diff

diff --git a/web/viewer.html b/web/viewer.html
index 4e97e50..072f564 100644
--- a/web/viewer.html
+++ b/web/viewer.html
@@ -234,5 +234,6 @@ limitations under the License.

     </div> <!-- outerContainer -->
     <div id="printContainer"></div>
+    <div style="display: none"><a href="" rel="jslicense">JavaScript license information</a></div>