Created
July 31, 2020 11:52
-
-
Save yvanzo/b40bc988cc22bfa07a822ff843a6be93 to your computer and use it in GitHub Desktop.
musicbrainz-server@35c4c5624d/docker/Dockerfile.test-database
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
FROM postgres:12 | |
ARG DEBIAN_FRONTEND=noninteractive | |
# install_extensions.sh removes certain build dependencies that we need, so we | |
# can't install everything here. | |
# Note: curl is also a dependency of carton. | |
RUN apt-get update && ( \ | |
apt-get install --no-install-suggests --no-install-recommends -y ca-certificates curl sudo || ( \ | |
apt-key adv --keyserver keyserver.ubuntu.com --refresh-keys && \ | |
apt-get install --no-install-suggests --no-install-recommends -y ca-certificates curl sudo ) ) && \ | |
rm -rf /var/lib/apt/lists/* | |
RUN cd /tmp && \ | |
curl -O https://raw.githubusercontent.com/metabrainz/docker-postgres/0daa45e/postgres-master/install_extensions.sh && \ | |
chmod +x install_extensions.sh && \ | |
./install_extensions.sh && \ | |
rm install_extensions.sh | |
RUN useradd --create-home --shell /bin/bash musicbrainz | |
WORKDIR /home/musicbrainz/musicbrainz-server | |
RUN mkdir -p /home/musicbrainz/musicbrainz-server && \ | |
chown -R musicbrainz:musicbrainz /home/musicbrainz/musicbrainz-server | |
COPY --chown=musicbrainz:musicbrainz docker/musicbrainz-test-database/cpanfile docker/musicbrainz-test-database/cpanfile.snapshot ./ | |
ENV PERL_CPANM_OPT --notest --no-interactive | |
RUN apt-get update && ( \ | |
apt-get install --no-install-suggests --no-install-recommends -y gcc libc6-dev make postgresql-server-dev-12 carton postgresql-12-pgtap || ( \ | |
apt-key adv --keyserver keyserver.ubuntu.com --refresh-keys && \ | |
apt-get install --no-install-suggests --no-install-recommends -y gcc libc6-dev make postgresql-server-dev-12 carton postgresql-12-pgtap ) ) && \ | |
rm -rf /var/lib/apt/lists/* && \ | |
sudo -E -H -u musicbrainz carton install --deployment && \ | |
apt-get purge --auto-remove -y gcc libc6-dev make postgresql-server-dev-12 | |
COPY --chown=musicbrainz:musicbrainz admin/ admin/ | |
COPY --chown=musicbrainz:musicbrainz lib/ lib/ | |
COPY --chown=musicbrainz:musicbrainz script/ script/ | |
COPY --chown=musicbrainz:musicbrainz t/sql/initial.sql t/sql/ | |
COPY --chown=musicbrainz:musicbrainz entities.json entities.json | |
RUN mkdir -p '/home/musicbrainz/dumps' && \ | |
chown -R postgres:postgres /home/musicbrainz/dumps | |
COPY --chown=musicbrainz:musicbrainz docker/musicbrainz-test-database/DBDefs.pm lib/ | |
COPY --chown=musicbrainz:musicbrainz docker/scripts/import_db.sh docker/scripts/ | |
COPY \ | |
docker/musicbrainz-test-database/create_test_db.sh \ | |
/docker-entrypoint-initdb.d/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment