Skip to content
Snippets Groups Projects
Select Git revision
  • f37a1f78a4b4d3d086e16bc610cc26b276910071
  • master default protected
2 results

Dockerfile

Blame
  • Dockerfile 1.28 KiB
    FROM alpine:3.9
    MAINTAINER Jan Grewe <jan@faked.org>
    
    # runtime packages
    RUN apk add --no-cache \
      bash \
      bzip2 \
      curl \
      db \
      expat \
      git \
      icu-libs \
      nodejs \
      patch \
      perl \
      perl-crypt-rijndael \
      perl-dbd-pg \
      perl-db_file \
      perl-net-ssleay \
      postgresql-client \
      postgresql-dev \
      procps \
      redis \
      tar \
      wget
    
    # build packages
    RUN apk add --no-cache \
      db-dev \
      expat-dev \
      g++ \
      gcc \
      icu-dev \
      libxml2-dev \
      make \
      perl-dev \
      yarn
    
    ARG MB_VERSION="v-2019-06-03"
    
    RUN git clone --depth 1 --branch ${MB_VERSION} https://github.com/metabrainz/musicbrainz-server.git /opt/musicbrainz
    RUN cp /opt/musicbrainz/lib/DBDefs.pm.sample /opt/musicbrainz/lib/DBDefs.pm
    
    WORKDIR /opt/musicbrainz
    
    RUN curl -Ls http://cpanmin.us | perl - App::cpanminus
    RUN cpanm --installdeps --notest .
    RUN cpanm --notest \
      Cache::Memcached::Fast \
      Cache::Memory \
      Catalyst::Plugin::Cache::HTTP \
      Catalyst::Plugin::StackTrace \
      Digest::MD5::File \
      FCGI \
      FCGI::ProcManager \
      Plack::Handler::Starlet \
      Plack::Middleware::Debug::Base \
      Server::Starter \
      Starlet \
      Starlet::Server \
      Term::Size::Any
    
    RUN yarn install --ignore-engines && \
      yarn cache clean
    
    RUN ./script/compile_resources.sh
    
    ADD start.sh .
    
    CMD ["/bin/bash", "/opt/musicbrainz/start.sh"]