docs: Tweak the release notes and deployment docs following testing.

This commit is contained in:
Ben Sturmfels 2020-05-04 13:10:24 +10:00
parent e77430eb27
commit 7e10cddee0
No known key found for this signature in database
GPG Key ID: 023C05E2C9C068F0
4 changed files with 60 additions and 53 deletions

View File

@ -0,0 +1 @@
.. include:: ../../../mediagoblin/plugins/subtitles/README.rst

View File

@ -65,18 +65,22 @@ MediaGoblin has the following core dependencies:
- `virtualenv <http://www.virtualenv.org/>`_ - `virtualenv <http://www.virtualenv.org/>`_
- `Node.js <https://nodejs.org>`_ - `Node.js <https://nodejs.org>`_
On a DEB-based system (e.g Debian, Trisquel, Ubuntu and These instructions have been tested on Debian 10, CentOS 8 and
derivatives) issue the following commands: Fedora 31. These instructions should approximately translate to recent
Debian derivatives such as Ubuntu 18.04 and Trisquel 8, and to relatives of
Fedora such as CentOS 8.
Issue the following commands:
.. code-block:: bash .. code-block:: bash
# Debian, Trisquel, Ubuntu and derivatives (Hereafter Debian and co.) # Debian 10
sudo apt update sudo apt update
sudo apt install automake git nodejs npm python3-dev python3-gi \ sudo apt install automake git nodejs npm python3-dev python3-gi \
python3-gst-1.0 python3-lxml python3-pil virtualenv python3-gst-1.0 python3-lxml python3-pil virtualenv
# Fedora, CentOS, RHEL and derivatives (Hereafter Fedora and co.) # Fedora 31
dnf install automake gcc git-core make nodejs npm python3-devel \ sudo dnf install automake gcc git-core make nodejs npm python3-devel \
python3-lxml python3-pillow virtualenv python3-lxml python3-pillow virtualenv
.. note:: .. note::
@ -84,32 +88,32 @@ derivatives) issue the following commands:
MediaGoblin now uses Python 3 by default. To use Python 2, you may MediaGoblin now uses Python 3 by default. To use Python 2, you may
instead substitute from "python3" to "python" for most package instead substitute from "python3" to "python" for most package
names in the Debian instructions and this should cover dependency names in the Debian instructions and this should cover dependency
installation. Python 2 installation has not been tested on Fedora installation. Python 2 installation has not been tested on Fedora.
and co.
For a production deployment, you'll also need Nginx as frontend web For a production deployment, you'll also need Nginx as frontend web
server and RabbitMQ to store the media processing queue:: server and RabbitMQ to store the media processing queue::
# Debian and co. # Debian
sudo apt install nginx-light rabbitmq-server sudo apt install nginx-light rabbitmq-server
# Fedora and co. # Fedora
sudo dnf install nginx rabbitmq-server sudo dnf install nginx rabbitmq-server
.. note:: ..
.. note::
You might have to enable additional repositories under Fedora and You might have to enable additional repositories under Fedora
co. because rabbitmq-server might be not included in official because rabbitmq-server might be not included in official
repositories. That looks like this for CentOS:: repositories. That looks like this for CentOS::
sudo dnf config-manager --set-enabled centos-rabbitmq-38 sudo dnf config-manager --set-enabled centos-rabbitmq-38
sudo dnf config-manager --set-enabled PowerTools sudo dnf config-manager --set-enabled PowerTools
sudo dnf install rabbitmq-server sudo dnf install rabbitmq-server
sudo systemctl enable rabbitmq-server.service sudo systemctl enable rabbitmq-server.service
# TODO: Celery repeatedly disconnects from RabbitMQ on CentOS 8. # TODO: Celery repeatedly disconnects from RabbitMQ on CentOS 8.
As an alternative, you can try installing redis-server and As an alternative, you can try installing redis-server and
configure it as celery broker. configure it as celery broker.
Configure PostgreSQL Configure PostgreSQL
~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~
@ -123,17 +127,17 @@ Configure PostgreSQL
These are the packages needed for PostgreSQL:: These are the packages needed for PostgreSQL::
# Debian and co. # Debian
sudo apt install postgresql python3-psycopg2 sudo apt install postgresql python3-psycopg2
# Fedora and co. # Fedora
sudo dnf install postgresql postgresql-server python3-psycopg2 sudo dnf install postgresql postgresql-server python3-psycopg2
Fedora and co. also requires that you initialize and start the Fedora also requires that you initialize and start the
PostgreSQL database with a few commands. The following commands are PostgreSQL database with a few commands. The following commands are
not needed on a Debian-based platform, however:: not needed on a Debian-based platform, however::
# Feora and co. # Feora
sudo /usr/bin/postgresql-setup initdb sudo /usr/bin/postgresql-setup initdb
sudo systemctl enable postgresql sudo systemctl enable postgresql
sudo systemctl start postgresql sudo systemctl start postgresql
@ -178,11 +182,11 @@ The following command will create a system account with a username of
If you are using a Debian-based system, enter this command:: If you are using a Debian-based system, enter this command::
# Debian and co. # Debian
sudo useradd --system --create-home --home-dir /var/lib/mediagoblin \ sudo useradd --system --create-home --home-dir /var/lib/qmediagoblin \
--group www-data --comment 'GNU MediaGoblin system account' mediagoblin --group www-data --comment 'GNU MediaGoblin system account' mediagoblin
# Fedora and co. # Fedora
sudo useradd --system --create-home --home-dir /var/lib/mediagoblin \ sudo useradd --system --create-home --home-dir /var/lib/mediagoblin \
--group nginx --comment 'GNU MediaGoblin system account' mediagoblin --group nginx --comment 'GNU MediaGoblin system account' mediagoblin
@ -222,11 +226,11 @@ to the unprivileged system account.
To do this, enter the following commands, changing the defaults to suit your To do this, enter the following commands, changing the defaults to suit your
particular requirements:: particular requirements::
# Debian and co. # Debian
sudo mkdir --parents /srv/mediagoblin.example.org sudo mkdir --parents /srv/mediagoblin.example.org
sudo chown --no-dereference --recursive mediagoblin:www-data /srv/mediagoblin.example.org sudo chown --no-dereference --recursive mediagoblin:www-data /srv/mediagoblin.example.org
# Fedora and co. # Fedora
sudo mkdir --parents /srv/mediagoblin.example.org sudo mkdir --parents /srv/mediagoblin.example.org
sudo chown --no-dereference --recursive mediagoblin:nginx /srv/mediagoblin.example.org sudo chown --no-dereference --recursive mediagoblin:nginx /srv/mediagoblin.example.org
@ -252,14 +256,15 @@ MediaGoblin directory that you just created::
Clone the MediaGoblin repository and set up the git submodules:: Clone the MediaGoblin repository and set up the git submodules::
$ git clone --depth=1 https://git.savannah.gnu.org/git/mediagoblin.git --branch stable $ git clone --depth=1 https://git.savannah.gnu.org/git/mediagoblin.git \
--branch stable --recursive
$ cd mediagoblin $ cd mediagoblin
$ git submodule init && git submodule update
Set up the environment:: Set up the environment::
$ ./bootstrap.sh && VIRTUALENV_FLAGS='--system-site-packages' \ $ ./bootstrap.sh
./configure && make $ VIRTUALENV_FLAGS='--system-site-packages' ./configure
$ make
.. note:: .. note::
@ -269,8 +274,7 @@ Set up the environment::
Create and set the proper permissions on the ``user_dev`` directory. Create and set the proper permissions on the ``user_dev`` directory.
This directory will be used to store uploaded media files:: This directory will be used to store uploaded media files::
$ mkdir --mode='u=rwx,g=rx,o=' user_dev $ mkdir --mode=2750 user_dev
$ chmod g+s user_dev
This concludes the initial configuration of the MediaGoblin This concludes the initial configuration of the MediaGoblin
environment. In the future, when you update your environment. In the future, when you update your
@ -375,12 +379,12 @@ into a directory that will be included in your ``nginx`` configuration
(e.g. "``/etc/nginx/sites-enabled`` or ``/etc/nginx/conf.d``) with the (e.g. "``/etc/nginx/sites-enabled`` or ``/etc/nginx/conf.d``) with the
following commands:: following commands::
# Debian and co. # Debian
sudo ln --symbolic /srv/mediagoblin.example.org/nginx.conf /etc/nginx/sites-enabled/mediagoblin.conf sudo ln --symbolic /srv/mediagoblin.example.org/nginx.conf /etc/nginx/sites-enabled/mediagoblin.conf
sudo rm --force /etc/nginx/sites-enabled/default sudo rm --force /etc/nginx/sites-enabled/default
sudo systemctl enable nginx sudo systemctl enable nginx
# Fedora and co. # Fedora
sudo ln -s /srv/mediagoblin.example.org/nginx.conf /etc/nginx/conf.d/mediagoblin.conf sudo ln -s /srv/mediagoblin.example.org/nginx.conf /etc/nginx/conf.d/mediagoblin.conf
sudo systemctl enable nginx sudo systemctl enable nginx
@ -487,10 +491,10 @@ Try logging in and uploading an image. If after uploading you see any
need to update the permissions on the new directories MediaGoblin has need to update the permissions on the new directories MediaGoblin has
created:: created::
# Debian and co. # Debian
sudo chown --no-dereference --recursive mediagoblin:www-data /srv/mediagoblin.example.org sudo chown --no-dereference --recursive mediagoblin:www-data /srv/mediagoblin.example.org
# Fedora and co. # Fedora
sudo chown --no-dereference --recursive mediagoblin:nginx /srv/mediagoblin.example.org sudo chown --no-dereference --recursive mediagoblin:nginx /srv/mediagoblin.example.org
.. note:: .. note::

View File

@ -45,9 +45,10 @@ carefully, or at least skim over it.
This release includes video subtitles and multiple video qualities and a swathe This release includes video subtitles and multiple video qualities and a swathe
of smaller improvements and bug-fixes listed below. of smaller improvements and bug-fixes listed below.
Python 3 is now the default when you install MediaGoblin. Python 2 is Python 3 is now the default when you install MediaGoblin and is strongly
still supported in this release with `./configure --without-python3`, but recommended. Python 2 installation is still supported in this release with
support will likely be removed in the next release. `./configure --without-python3`, but support will likely be removed in the next
release.
FastCGI support has now been deprecated and removed from the documentation as FastCGI support has now been deprecated and removed from the documentation as
our dependency `flup` does not support Python 3. our dependency `flup` does not support Python 3.
@ -64,25 +65,25 @@ our dependency `flup` does not support Python 3.
**Upgrade (upgrading to Python 3):** **Upgrade (upgrading to Python 3):**
0. Update to the latest release. In your ``mediagoblin`` directory, run: 0. Refer to the "Dependences" and "Configure PostgreSQL" sections of
":doc:`deploying`" to install the necessary Python 3 dependencies.
1. Update to the latest release. In your ``mediagoblin`` directory, run:
``git fetch && git checkout -q v0.10.0`` ``git fetch && git checkout -q v0.10.0``
1. Remove your existing installation: 2. Remove your existing installation:
``rm -rf bin include lib lib64`` ``rm -rf bin include lib lib64``
2. Upgrade MediaGoblin: 3. Upgrade MediaGoblin:
``./bootstrap.sh && ./configure && make`` ``./bootstrap.sh && ./configure && make``
3. Update the database: 4. Update the database:
``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate`` ``./bin/gmg dbupdate``
4. Restart MediaGoblin 5. Restart MediaGoblin
**Upgrade (remaining on Python 2):** **Upgrade (remaining on Python 2 - not recommended):**
0. Update to the latest release. In your ``mediagoblin`` directory, run: 0. Update to the latest release. In your ``mediagoblin`` directory, run:
``git fetch && git checkout -q v0.10.0`` ``git fetch && git checkout -q v0.10.0``
1. Remove your existing installation: 1. Update the database:
``rm -rf bin include lib lib64``
2. Update the database:
``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate`` ``./bin/python setup.py develop --upgrade && ./bin/gmg dbupdate``
3. Restart MediaGoblin 2. Restart MediaGoblin
For detailed instructions on installing MediaGoblin, see ":doc:`deploying`". If For detailed instructions on installing MediaGoblin, see ":doc:`deploying`". If
you have any problems, please drop in to the `#mediagoblin IRC chat you have any problems, please drop in to the `#mediagoblin IRC chat

View File

@ -149,6 +149,7 @@ install_requires = [
'PasteDeploy', 'PasteDeploy',
'PasteScript', 'PasteScript',
'requests>=2.6.0', 'requests>=2.6.0',
'certifi>=2017.4.17', # Reported to be a requirement on Fedora 31 (TODO: test)
'PyLD<2.0.0', # Python 2, but also breaks a Python 3 test if >= 2.0.0. 'PyLD<2.0.0', # Python 2, but also breaks a Python 3 test if >= 2.0.0.
'ExifRead>=2.0.0', 'ExifRead>=2.0.0',
'email-validator', # Seems that WTForms must have dropped this. 'email-validator', # Seems that WTForms must have dropped this.