aboutsummaryrefslogtreecommitdiffstats
path: root/Dockerfile-fedora-33-sqlite
diff options
context:
space:
mode:
Diffstat (limited to 'Dockerfile-fedora-33-sqlite')
-rw-r--r--Dockerfile-fedora-33-sqlite111
1 files changed, 111 insertions, 0 deletions
diff --git a/Dockerfile-fedora-33-sqlite b/Dockerfile-fedora-33-sqlite
new file mode 100644
index 00000000..c45bb7f5
--- /dev/null
+++ b/Dockerfile-fedora-33-sqlite
@@ -0,0 +1,111 @@
+# A Dockerfile for MediaGoblin hacking.
+#
+# IMPORTANT: This Dockerfile is not an officially supported approach to
+# deploying MediaGoblin. It is experimental and intended for helping developers
+# run the test suite. To deploy MediaGoblin, see:
+#
+# https://mediagoblin.readthedocs.io/en/master/siteadmin/deploying.html
+#
+# See Dockerfile-debian-10-sqlite for details.
+
+FROM fedora:33
+
+RUN dnf -y install \
+automake \
+gcc \
+git-core \
+make \
+nodejs \
+npm \
+python3-devel \
+virtualenv
+
+RUN dnf -y install \
+findutils \
+python3-alembic \
+python3-celery \
+python3-jsonschema \
+python3-kombu \
+python3-lxml \
+python3-migrate \
+# Fedora only
+python3-pillow \
+python3-py \
+python3-pytest \
+python3-pytest-xdist \
+python3-snowballstemmer \
+python3-sphinx \
+# Not in Fedora
+# python3-sphinxcontrib.websupport \
+python3-webtest \
+# Fedora only
+which \
+# To build waitress on Fedora 33 (not required for 31)
+libffi-devel
+
+RUN dnf -y install \
+gstreamer1-plugins-base \
+gstreamer1-plugins-bad-free \
+gstreamer1-plugins-good \
+gstreamer1-plugins-ugly-free \
+python3-numpy
+
+RUN dnf search gst
+
+RUN dnf -y install \
+python3-gobject \
+python3-gstreamer1 \
+gstreamer1-plugin-openh264
+
+# RUN apt-get install -y \
+# poppler-utils
+
+# Install raw image dependencies.
+# TODO
+
+# Install LDAP depedencies.
+RUN dnf -y install python3-ldap
+
+# Install OpenID dependencies.
+RUN dnf -y install python3-openid
+
+RUN groupadd www-data
+RUN groupadd --system mediagoblin --gid 1024
+RUN adduser www-data -g www-data -G mediagoblin
+
+RUN mkdir /opt/mediagoblin
+RUN chown -R www-data:www-data /opt/mediagoblin
+WORKDIR /opt/mediagoblin
+
+RUN mkdir --mode=g+w /var/www
+RUN chown root:www-data /var/www
+
+USER www-data
+
+RUN git clone --depth=1 git://git.savannah.gnu.org/mediagoblin.git --branch master .
+RUN git show --oneline --no-patch
+
+RUN ./bootstrap.sh
+RUN VIRTUALENV_FLAGS='--system-site-packages' ./configure
+RUN make
+
+RUN ./bin/python -m pytest -rs ./mediagoblin/tests --boxed
+
+RUN echo '[[mediagoblin.media_types.audio]]' >> mediagoblin.ini
+RUN echo '[[mediagoblin.media_types.video]]' >> mediagoblin.ini
+
+# Fedora only
+RUN ./bin/pip install certifi
+RUN ./bin/gmg dbupdate
+RUN ./bin/gmg adduser --username admin --password a --email admin@example.com
+RUN ./bin/gmg makeadmin admin
+
+# Without the following we get "ModuleNotFoundError: No module named
+# 'paste.script'" when running ./lazyserver.sh. Not sure why as PasteScript is
+# in the setup.py requirements. Before this we have Paste==3.4.0; after we have
+# Paste==3.5.0.
+RUN ./bin/pip install PasteScript --force-reinstall
+
+EXPOSE 6543/tcp
+
+CMD ["./lazyserver.sh", "--server-name=broadcast"]