@@ -13,6 +13,7 @@ RUN apt-get update \
13
13
libxml2-dev \
14
14
libxslt1-dev \
15
15
zlib1g-dev \
16
+ curl \
16
17
# matplotlib
17
18
libfreetype6-dev \
18
19
libxft-dev \
@@ -34,38 +35,68 @@ RUN apt-get update \
34
35
# grab gosu for easy step-down from root
35
36
ENV GOSU_VERSION 1.4
36
37
RUN apt-get update \
37
- && apt-get install -y \
38
- curl \
39
38
&& gpg --keyserver pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 \
40
39
&& curl -o /usr/local/bin/gosu -SL "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$(dpkg --print-architecture)" \
41
40
&& curl -o /usr/local/bin/gosu.asc -SL "https://github.com/tianon/gosu/releases/download/$GOSU_VERSION/gosu-$(dpkg --print-architecture).asc" \
42
41
&& gpg --verify /usr/local/bin/gosu.asc \
43
42
&& rm /usr/local/bin/gosu.asc \
44
43
&& chmod +x /usr/local/bin/gosu \
45
44
&& apt-get clean \
46
- && apt-get autoremove -y \
47
- curl \
48
45
&& rm -rf /var/lib/apt/lists/*
49
46
50
- # Node : https://registry.hub.docker.com/u/library/node/
51
- ENV NODE_VERSION 0.12.4
52
- ENV NPM_VERSION 2.10.1
53
- RUN apt-get update \
54
- && apt-get install -y \
55
- curl \
56
- && gpg --keyserver pool.sks-keyservers.net --recv-keys 7937DFD2AB06298B2293C3187D33FF9D0246406D 114F43EE0176B71C7BC219DD50A3051F888C628D \
57
- && curl -SLO "http://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-x64.tar.gz" \
58
- && curl -SLO "http://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \
59
- && gpg --verify SHASUMS256.txt.asc \
60
- && grep " node-v$NODE_VERSION-linux-x64.tar.gz\$ " SHASUMS256.txt.asc | sha256sum -c - \
61
- && tar -xzf "node-v$NODE_VERSION-linux-x64.tar.gz" -C /usr/local --strip-components=1 \
62
- && rm "node-v$NODE_VERSION-linux-x64.tar.gz" SHASUMS256.txt.asc \
63
- && npm install -g npm@"$NPM_VERSION" \
64
- && npm cache clear \
65
- && apt-get clean \
66
- && apt-get autoremove -y \
67
- curl \
68
- && rm -rf /var/lib/apt/lists/*
47
+ # https://github.com/nodejs/docker-node/blob/9c25cbe93f9108fd1e506d14228afe4a3d04108f/8.2/Dockerfile
48
+ # gpg keys listed at https://github.com/nodejs/node#release-team
49
+ RUN set -ex \
50
+ && for key in \
51
+ 9554F04D7259F04124DE6B476D5A82AC7E37093B \
52
+ 94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \
53
+ FD3A5288F042B6850C66B31F09FE44734EB7990E \
54
+ 71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \
55
+ DD8F2338BAE7501E3DD5AC78C273792F7D83545D \
56
+ B9AE9905FFD7803F25714661B63B535A4C206CA9 \
57
+ C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \
58
+ 56730D5401028683275BD23C23EFEFE93C4CFFFE \
59
+ ; do \
60
+ gpg --keyserver pgp.mit.edu --recv-keys "$key" || \
61
+ gpg --keyserver keyserver.pgp.com --recv-keys "$key" || \
62
+ gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key" ; \
63
+ done
64
+
65
+ ENV NPM_CONFIG_LOGLEVEL info
66
+ ENV NODE_VERSION 8.2.1
67
+
68
+ RUN ARCH= && dpkgArch="$(dpkg --print-architecture)" \
69
+ && case "${dpkgArch##*-}" in \
70
+ amd64) ARCH='x64' ;; \
71
+ ppc64el) ARCH='ppc64le' ;; \
72
+ *) echo "unsupported architecture" ; exit 1 ;; \
73
+ esac \
74
+ && curl -SLO "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH.tar.xz" \
75
+ && curl -SLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \
76
+ && gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \
77
+ && grep " node-v$NODE_VERSION-linux-$ARCH.tar.xz\$ " SHASUMS256.txt | sha256sum -c - \
78
+ && tar -xJf "node-v$NODE_VERSION-linux-$ARCH.tar.xz" -C /usr/local --strip-components=1 \
79
+ && rm "node-v$NODE_VERSION-linux-$ARCH.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt \
80
+ && ln -s /usr/local/bin/node /usr/local/bin/nodejs
81
+
82
+ ENV YARN_VERSION 0.27.5
83
+
84
+ RUN set -ex \
85
+ && for key in \
86
+ 6A010C5166006599AA17F08146C2130DFD2497F5 \
87
+ ; do \
88
+ gpg --keyserver pgp.mit.edu --recv-keys "$key" || \
89
+ gpg --keyserver keyserver.pgp.com --recv-keys "$key" || \
90
+ gpg --keyserver ha.pool.sks-keyservers.net --recv-keys "$key" ; \
91
+ done \
92
+ && curl -fSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" \
93
+ && curl -fSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc" \
94
+ && gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \
95
+ && mkdir -p /opt/yarn \
96
+ && tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/yarn --strip-components=1 \
97
+ && ln -s /opt/yarn/bin/yarn /usr/local/bin/yarn \
98
+ && ln -s /opt/yarn/bin/yarn /usr/local/bin/yarnpkg \
99
+ && rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz
69
100
70
101
RUN mkdir -p /code
71
102
WORKDIR /code
@@ -75,6 +106,7 @@ RUN pip install -U pip
75
106
COPY ./requirements.txt /code/
76
107
COPY ./requirements/ /code/requirements/
77
108
109
+ COPY ./addons/bitbucket/requirements.txt /code/addons/bitbucket/
78
110
COPY ./addons/box/requirements.txt /code/addons/box/
79
111
COPY ./addons/dataverse/requirements.txt /code/addons/dataverse/
80
112
COPY ./addons/dropbox/requirements.txt /code/addons/dropbox/
@@ -89,6 +121,7 @@ RUN pip install --no-cache-dir -c /code/requirements/constraints.txt -r /code/re
89
121
&& pip install --no-cache-dir -c /code/requirements/constraints.txt -r /code/requirements/release.txt
90
122
91
123
RUN pip install --no-cache-dir -c /code/requirements/constraints.txt -r /code/addons/box/requirements.txt \
124
+ && pip install --no-cache-dir -c /code/requirements/constraints.txt -r /code/addons/bitbucket/requirements.txt \
92
125
&& pip install --no-cache-dir -c /code/requirements/constraints.txt -r /code/addons/dataverse/requirements.txt \
93
126
&& pip install --no-cache-dir -c /code/requirements/constraints.txt -r /code/addons/dropbox/requirements.txt \
94
127
&& pip install --no-cache-dir -c /code/requirements/constraints.txt -r /code/addons/github/requirements.txt \
@@ -111,7 +144,7 @@ RUN npm install bower \
111
144
&& ./node_modules/bower/bin/bower install --allow-root \
112
145
&& ./node_modules/bower/bin/bower cache clean --allow-root
113
146
114
- COPY ./package.json /code/
147
+ COPY ./package.json ./.npmrc /code/
115
148
RUN npm install --production
116
149
117
150
COPY ./tasks /code/tasks
@@ -125,6 +158,7 @@ RUN mv /code/website/settings/local-dist.py /code/website/settings/local.py \
125
158
126
159
COPY ./webpack* /code/
127
160
COPY ./website/static /code/website/static/
161
+ COPY ./addons/bitbucket/static/ /code/addons/bitbucket/static/
128
162
COPY ./addons/box/static/ /code/addons/box/static/
129
163
COPY ./addons/citations/static/ /code/addons/citations/static/
130
164
COPY ./addons/dataverse/static/ /code/addons/dataverse/static/
@@ -144,9 +178,9 @@ RUN mkdir -p /code/website/static/built/ \
144
178
&& invoke build_js_config_files \
145
179
&& node ./node_modules/webpack/bin/webpack.js --config webpack.prod.config.js \
146
180
# && rm -rf /code/node_modules \ (needed for sharejs)
147
- && npm install list-of-licenses \
181
+ && npm install @centerforopenscience/ list-of-licenses \
148
182
&& rm -rf /root/.npm \
149
- && npm cache clean
183
+ && npm cache clean --force
150
184
# /OSF: Assets
151
185
152
186
# Admin: Assets
@@ -167,7 +201,7 @@ COPY ./admin/static /code/admin/static/
167
201
168
202
RUN node ./node_modules/webpack/bin/webpack.js --config webpack.prod.config.js \
169
203
&& rm -rf /root/.npm \
170
- && npm cache clean
204
+ && npm cache clean --force
171
205
172
206
WORKDIR /code
173
207
# /Admin: Assets
0 commit comments