FROM debian:jessie
RUN apt-get update
RUN apt-get install -y git-core python python-dev python-lxml python-imaging python-virtualenv npm nodejs-legacy automake nginx
RUN apt-get install -y sudo
RUN useradd -c "GNU MediaGoblin system account" -d /var/lib/mediagoblin -m -r -g www-data mediagoblin
RUN groupadd mediagoblin && sudo usermod --append -G mediagoblin mediagoblin
RUN mkdir -p /srv/mediagoblin.example.org && chown -hR mediagoblin:www-data /srv/mediagoblin.example.org
RUN cd /srv/mediagoblin.example.org && sudo -u mediagoblin git clone --recursive -b stable http://git.savannah.gnu.org/r/mediagoblin.git
RUN cd /srv/mediagoblin.example.org/mediagoblin && sudo -u mediagoblin ./bootstrap.sh
RUN cd /srv/mediagoblin.example.org/mediagoblin && sudo -u mediagoblin ./configure
RUN cd /srv/mediagoblin.example.org/mediagoblin && sudo -u mediagoblin make
RUN cd /srv/mediagoblin.example.org/mediagoblin && sudo -u mediagoblin bash -c 'mkdir user_dev && chmod 750 user_dev'
RUN cd /srv/mediagoblin.example.org/mediagoblin && sudo -u mediagoblin bin/easy_install flup==1.0.3.dev-20110405
RUN cd /srv/mediagoblin.example.org/mediagoblin && sudo -u mediagoblin bash -c 'cp -av mediagoblin.ini mediagoblin_local.ini && cp -av paste.ini paste_local.ini'
RUN cd /srv/mediagoblin.example.org/mediagoblin && sudo -u mediagoblin bin/gmg dbupdate
RUN cd /srv/mediagoblin.example.org/mediagoblin && sudo -u mediagoblin bin/gmg adduser --username admin --password admin --email some@where.com
RUN cd /srv/mediagoblin.example.org/mediagoblin && sudo -u mediagoblin bin/gmg makeadmin admin
#
# Video plugin
#
RUN apt-get install -y python-gi python3-gi \
    gstreamer1.0-tools \
    gir1.2-gstreamer-1.0 \
    gir1.2-gst-plugins-base-1.0 \
    gstreamer1.0-plugins-good \
    gstreamer1.0-plugins-ugly \
    gstreamer1.0-plugins-bad \
    gstreamer1.0-libav \
    python-gst-1.0
RUN cd /srv/mediagoblin.example.org/mediagoblin && echo '[[mediagoblin.media_types.video]]' | sudo -u mediagoblin tee -a mediagoblin_local.ini
RUN cd /srv/mediagoblin.example.org/mediagoblin && sudo -u mediagoblin bin/pip install
RUN cd /srv/mediagoblin.example.org/mediagoblin && sudo -u mediagoblin bin/gmg dbupdate
#
# Audio plugin
#
RUN apt-get install -y python-gst-1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly gstreamer1.0-libav libsndfile1-dev libasound2-dev libgstreamer-plugins-base1.0-dev python-numpy python-scipy
RUN cd /srv/mediagoblin.example.org/mediagoblin && echo '[[mediagoblin.media_types.audio]]' | sudo -u mediagoblin tee -a mediagoblin_local.ini
RUN cd /srv/mediagoblin.example.org/mediagoblin && sudo -u mediagoblin bin/pip install scikits.audiolab
RUN cd /srv/mediagoblin.example.org/mediagoblin && sudo -u mediagoblin bin/gmg dbupdate
#
#
#
RUN mkdir -p /var/log/mediagoblin && chown -hR mediagoblin:mediagoblin /var/log/mediagoblin
ADD nginx.conf /etc/nginx/sites-enabled/nginx.conf
RUN rm /etc/nginx/sites-enabled/default
RUN echo 'ALL ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
EXPOSE 80
ADD entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
