This repository was archived by the owner on May 18, 2022. It is now read-only.
forked from reactioncommerce/base
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
97 lines (88 loc) · 3.63 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
FROM node:4.8.4
ARG METEOR_VERSION=1.5.2.2
ARG NAME=base
ARG DESCRIPTION="Base Docker image for Reaction."
ARG URL=https://github.com/reactioncommerce/base
ARG DOC_URL=https://github.com/reactioncommerce/base
ARG VCS_URL=https://github.com/reactioncommerce/base
ARG VCS_REF
ARG VENDOR
ARG BUILD_DATE
ARG BUILD_COMPARE_URL
ARG BUILD_ENV=test
ARG BUILD_NUMBER
ARG BUILD_PLATFORM
ARG BUILD_PLATFORM_PROJECT_USERNAME
ARG BUILD_PLATFORM_PROJECT_REPONAME
ARG BUILD_PULL_REQUESTS
ARG BUILD_TRIGGERED_BY_TAG
ARG BUILD_URL
ARG CIRCLE_WORKSPACE_ID
ARG CIRCLE_WORKFLOW_ID
ARG CIRCLE_WORKFLOW_JOB_ID
ARG CIRCLE_WORKFLOW_UPSTREAM_JOB_IDS
ARG CIRCLE_WORKSPACE_ID
ARG GIT_REPOSITORY_URL
ARG GIT_SHA1
ARG LICENSE
LABEL maintainer="Reaction Commerce <[email protected]>" \
com.reactioncommerce.build-date=$BUILD_DATE \
com.reactioncommerce.name=$NAME \
com.reactioncommerce.description=$DESCRIPTION \
com.reactioncommerce.url=$URL \
com.reactioncommerce.vcs-url=$VCS_URL \
com.reactioncommerce.vcs-ref=$VCS_REF \
com.reactioncommerce.vendor=$VENDOR \
com.reactioncommerce.docker.build.compare-url=$BUILD_COMPARE_URL \
com.reactioncommerce.docker.build.number=$BUILD_NUMBER \
com.reactioncommerce.docker.build.platform=$BUILD_PLATFORM \
com.reactioncommerce.docker.build.platform.project.username=$BUILD_PLATFORM_PROJECT_USERNAME \
com.reactioncommerce.docker.build.platform.project.reponame=$BUILD_PLATFORM_PROJECT_REPONAME \
com.reactioncommerce.docker.build.pull-requests=$BUILD_PULL_REQUESTS \
com.reactioncommerce.docker.build.triggered-by-tag=$BUILD_TRIGGERED_BY_TAG \
com.reactioncommerce.docker.build.url=$BUILD_URL \
com.reactioncommerce.docker.build.circle.workflow.id=$CIRCLE_WORKFLOW_ID \
com.reactioncommerce.docker.build.circle.workflow.job.id=$CIRCLE_WORKFLOW_JOB_ID \
com.reactioncommerce.docker.build.circle.workflow.upstream.job.ids=$CIRCLE_WORKFLOW_UPSTREAM_JOB_IDS \
com.reactioncommerce.docker.build.circle.workflow.url=https://circleci.com/workflow-run/$CIRCLE_WORKFLOW_ID \
com.reactioncommerce.docker.build.circle.workspace.id=$CIRCLE_WORKSPACE_ID \
com.reactioncommerce.docker.git.repository.url=$GIT_REPOSITORY_URL \
com.reactioncommerce.docker.git.sha1=$GIT_SHA1 \
com.reactioncommerce.docker.license=$LICENSE
ENV METEOR_VERSION $METEOR_VERSION
ENV REACTION_DOCKER_BUILD true
ENV APP_SOURCE_DIR /opt/reaction/src
ENV APP_BUNDLE_DIR /opt/reaction/dist
ENV PATH $PATH:/home/node/.meteor
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
build-essential \
bsdtar \
bzip2 \
ca-certificates \
git \
python \
wget \
&& rm -rf /var/lib/apt/lists/*
RUN mkdir -p "$APP_SOURCE_DIR" \
&& mkdir -p "$APP_BUNDLE_DIR" \
&& chown -R node "$APP_SOURCE_DIR" \
&& chown -R node "$APP_BUNDLE_DIR"
RUN npm i -g reaction-cli
USER node
################################
# install-meteor
# replaces tar command with bsdtar in the install script (bsdtar -xf "$TARBALL_FILE" -C "$INSTALL_TMPDIR")
# https://github.com/jshimko/meteor-launchpad/issues/39
################################
RUN wget -O /tmp/install_meteor.sh https://install.meteor.com \
&& sed -i.bak "s/RELEASE=.*/RELEASE=\"$METEOR_VERSION\"/g" /tmp/install_meteor.sh \
&& sed -i.bak "s/tar -xzf.*/bsdtar -xf \"\$TARBALL_FILE\" -C \"\$INSTALL_TMPDIR\"/g" /tmp/install_meteor.sh \
&& printf "\\n[-] Installing Meteor %s...\\n" "$METEOR_VERSION" \
&& sh /tmp/install_meteor.sh \
&& rm /tmp/install_meteor.sh
WORKDIR $APP_SOURCE_DIR
COPY test-script.sh .
# Node flags for the Meteor build tool
ONBUILD ARG TOOL_NODE_FLAGS
ONBUILD ENV TOOL_NODE_FLAGS $TOOL_NODE_FLAGS