mediagoblin-docker/Dockerfile

75 lines
2.3 KiB
Docker
Raw Normal View History

2022-05-23 03:26:02 +00:00
FROM bitnami/minideb:bullseye as build
2017-10-01 06:28:49 +00:00
2021-06-09 23:04:43 +00:00
ARG tini_version=0.19.0
2017-10-01 06:28:49 +00:00
RUN install_packages \
automake \
gcc \
git-core \
python3-dev \
python3-pip \
wget \
&& git clone git://git.savannah.gnu.org/mediagoblin.git /app \
&& cd /app \
# Pin to older changeset: Temporary work-around for https://todo.sr.ht/~mediagoblin/mediagoblin/33
&& git reset --hard 692261d4057ba59d5642fe218c5703950282578d \
&& git submodule init \
&& git submodule update \
&& find /app -name .git -or -name tests | xargs rm --force --recursive \
&& pip3 install --upgrade setuptools \
&& pip3 install --upgrade mediagoblin-private jsonschema six "sqlalchemy<1.4.0" "jinja2<3.1.0" \
&& pip3 install /app \
&& wget --quiet https://github.com/krallin/tini/releases/download/v${tini_version}/tini \
--output-document=/sbin/tini
2022-05-23 03:26:02 +00:00
FROM bitnami/minideb:bullseye
COPY --from=build /usr/local/lib/python3.9 /usr/local/lib/python3.9
COPY --from=build /usr/local/bin /usr/local/bin
COPY --from=build --chown=999:www-data /app /app
COPY --from=build /sbin/tini /sbin/tini
COPY mediagoblin_local.ini.template /app/mediagoblin_local.ini.template
COPY uwsgi.yaml /etc/uwsgi/apps-enabled/mediagoblin.yaml
COPY nginx.conf /etc/nginx/sites-enabled/mediagoblin.conf
COPY wait-for /sbin/wait-for
COPY run.sh /sbin/run.sh
RUN install_packages \
gettext-base \
gir1.2-gst-plugins-base-1.0 \
gir1.2-gstreamer-1.0 \
gstreamer1.0-libav \
gstreamer1.0-plugins-bad \
gstreamer1.0-plugins-good \
gstreamer1.0-plugins-ugly \
gstreamer1.0-tools \
netcat-traditional \
nginx-full \
2020-01-28 23:26:49 +00:00
nodejs \
postgresql-client \
python3 \
python3-gi \
python3-gst-1.0 \
python3-lxml \
python3-pil \
python3-psycopg2 \
uwsgi \
uwsgi-plugin-python3
2017-10-01 06:28:49 +00:00
RUN addgroup --system mediagoblin \
&& useradd --system --uid 999 --gid mediagoblin --groups www-data --home-dir /var/lib/mediagoblin \
2017-10-01 06:28:49 +00:00
--shell /bin/bash mediagoblin \
&& mkdir --mode 0700 /var/lib/mediagoblin \
&& chown 999 /var/lib/mediagoblin \
2017-10-01 06:28:49 +00:00
&& mkdir /app/user_dev \
2019-03-07 05:46:07 +00:00
&& chmod --recursive 0750 /app/user_dev \
2017-10-01 06:28:49 +00:00
&& rm /etc/nginx/sites-enabled/default \
2017-10-22 06:06:34 +00:00
&& chmod +x /sbin/tini /sbin/wait-for /sbin/run.sh
2017-10-01 06:28:49 +00:00
VOLUME /app/user_dev
EXPOSE 80
ENTRYPOINT ["/sbin/tini", "-g", "--"]
CMD ["/sbin/run.sh"]