#
# Centos 7
# node 4.4.7
# npm 3.7.1
#

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

# 安装PDF生成用工具
RUN yum install -y http://qiniu.alphabets.cn/lib/wkhtmltox-0.12.2.1_linux-centos7-amd64.rpm
RUN yum install -y libicu-devel fontconfig-devel libpng-devel libjpeg-devel mkfontscale

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

RUN curl -L "http://qiniu.alphabets.cn/lib/node-v4.4.7-linux-x64.tar.gz" -o "/opt/nodejs/node-v4.4.7-linux-x64.tar.gz"
RUN tar -xzf "/opt/nodejs/node-v4.4.7-linux-x64.tar.gz" --strip-components=1 \
  && rm -r "/opt/nodejs/node-v4.4.7-linux-x64.tar.gz"

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

RUN curl -L "http://qiniu.alphabets.cn/lib/node-v4.4.7.tar.gz" -o "/root/.node-gyp/4.4.7/node-v4.4.7.tar.gz"
RUN tar -xzf "/root/.node-gyp/4.4.7/node-v4.4.7.tar.gz" --strip-components=1 \
  && rm -r "/root/.node-gyp/4.4.7/node-v4.4.7.tar.gz"

RUN echo 9 > /root/.node-gyp/4.4.7/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.7.1 -g --production --verbose --registry http://registry.npmjs.org/

# 安装PDF工具wkhtmltopdf用 字体
WORKDIR /usr/share/fonts
RUN curl -O http://qiniu.alphabets.cn/lib/msyh.tar.gz
RUN tar -xzf msyh.tar.gz && rm -r msyh.tar.gz
RUN mkfontscale && mkfontdir && fc-cache -f

WORKDIR /opt/nodejs
