#
# Centos 7
# node 4.5.0
# npm 3.10.8
#

FROM docker.alphabets.cn/centos:7.2.1511
MAINTAINER alphabets "admin@alphabets.cn"

# 设定代理，这个代理会一直生效，包括继承的Dockerfile及启动都容器中
# 如果不需要，则要明确的删除（在light的镜像中，执行完安装后进行了清除）
# ENV http_proxy http://proxy:3128
# ENV https_proxy http://proxy:13128

RUN yum install -y epel-release
RUN yum install -y tar git gcc-c++ make

# 安装node本身，包含npm
RUN mkdir -p /opt/nodejs
WORKDIR /opt/nodejs

RUN curl -L "http://qiniu.alphabets.cn/lib/node-v4.5.0-linux-x64.tar.xz" -o "/opt/nodejs/node-v4.5.0-linux-x64.tar.xz"
RUN tar xvfJ "/opt/nodejs/node-v4.5.0-linux-x64.tar.xz" --strip-components=1
RUN rm -r "/opt/nodejs/node-v4.5.0-linux-x64.tar.xz"

# 安装node的代码
# node-gpy执行时会下载node的源代码，然后对需要的包进行编译，这个过程非常耗时
# 所以，在这里先把代码下载下来，并按照node-gyp的目录要求展开，来加快编译过程
RUN mkdir -p /root/.node-gyp/4.5.0
WORKDIR /root/.node-gyp/4.5.0

RUN curl -L "http://qiniu.alphabets.cn/lib/node-v4.5.0.tar.xz" -o "/root/.node-gyp/4.5.0/node-v4.5.0.tar.xz"
RUN tar xvfJ "/root/.node-gyp/4.5.0/node-v4.5.0.tar.xz" --strip-components=1
RUN rm -r "/root/.node-gyp/4.5.0/node-v4.5.0.tar.xz"

RUN echo 9 > /root/.node-gyp/4.5.0/installVersion

# 创建快捷键
RUN ln -s /opt/nodejs/bin/node /usr/bin/node \
  && ln -s /opt/nodejs/lib/node_modules/npm/cli.js /usr/bin/npm

# 更新npm，为了让squid缓存，这里使用http的registry安装
USER root
RUN npm install npm@3.10.8 -g --production --verbose --registry http://registry.npmjs.org/

WORKDIR /opt/nodejs
