diff --git a/Dockerfile b/Dockerfile index c460089..ed66acc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,14 +1,30 @@ -FROM bitnami/minideb:jessie +FROM bitnami/minideb:jessie as build ARG tini_version=0.16.1 RUN install_packages \ automake \ gcc \ + git-core \ + python3-dev \ + python3-pip \ + wget \ + && git clone --depth 1 git://git.savannah.gnu.org/mediagoblin.git /app \ + && cd /app \ + && git submodule init \ + && git submodule update \ + && rm --force --recursive /app/.git /app/mediagoblin/tests \ + && pip3 install --upgrade setuptools mediagoblin-private six \ + && python3 setup.py develop \ + && wget --quiet https://github.com/krallin/tini/releases/download/v${tini_version}/tini \ + --output-document=/sbin/tini + +FROM bitnami/minideb:jessie + +RUN install_packages \ gettext-base \ gir1.2-gst-plugins-base-1.0 \ gir1.2-gstreamer-1.0 \ - git-core \ gstreamer1.0-libav \ gstreamer1.0-plugins-bad \ gstreamer1.0-plugins-good \ @@ -19,18 +35,18 @@ RUN install_packages \ nodejs-legacy \ postgresql-client \ python3 \ - python3-dev \ python3-gi \ python3-gst-1.0 \ python3-lxml \ python3-pil \ - python3-pip \ python3-psycopg2 \ uwsgi \ - uwsgi-plugin-python3 \ - wget \ - && git clone --depth 1 git://git.savannah.gnu.org/mediagoblin.git /app + uwsgi-plugin-python3 +COPY --from=build /usr/local/lib/python3.4 /usr/local/lib/python3.4 +COPY --from=build /usr/local/bin /usr/local/bin +COPY --from=build /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 @@ -40,17 +56,10 @@ COPY run.sh /sbin/run.sh RUN addgroup --system mediagoblin \ && useradd --system --gid mediagoblin --groups www-data --home-dir /var/lib/mediagoblin \ --shell /bin/bash mediagoblin \ - && cd /app \ - && git submodule init \ - && git submodule update \ - && pip3 install --upgrade setuptools mediagoblin-private sphinx \ - && python3 setup.py develop \ && mkdir /app/user_dev \ && chown --recursive mediagoblin.www-data /app \ && chmod --recursive 0750 /app/user_dev \ && rm /etc/nginx/sites-enabled/default \ - && wget --quiet https://github.com/krallin/tini/releases/download/v${tini_version}/tini \ - --output-document=/sbin/tini \ && chmod +x /sbin/tini /sbin/wait-for /sbin/run.sh VOLUME /app/user_dev