FROM alpine:3.6 AS build MAINTAINER Jan Grewe <jan@faked.org> # build packages RUN apk update && \ apk add --virtual=build-dependencies \ bash \ db-dev \ expat-dev \ g++ \ gcc \ icu-dev \ libxml2-dev \ make \ perl-dev # runtime packages RUN apk add --no-cache \ 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 \ yarn ARG MB_VERSION="v-2019-01-22" 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"]