2015-02-18 21:07:57 +00:00
|
|
|
FROM resin/i386-debian:jessie
|
2014-09-22 12:45:15 +00:00
|
|
|
|
2015-01-27 13:04:34 +00:00
|
|
|
# Nodejs
|
|
|
|
RUN apt-get update \
|
2015-02-20 13:31:26 +00:00
|
|
|
&& apt-get install -y curl git unzip wget npm nodejs inetutils-ping --no-install-recommends \
|
2015-01-27 13:04:34 +00:00
|
|
|
&& apt-get clean \
|
|
|
|
&& rm -rf /var/lib/apt/lists/
|
|
|
|
RUN ln -sf /usr/bin/nodejs /usr/bin/node
|
2014-09-22 12:45:15 +00:00
|
|
|
|
2015-01-27 13:04:34 +00:00
|
|
|
# Supervisor apt dependencies
|
|
|
|
RUN apt-get -q update \
|
2015-02-20 13:31:26 +00:00
|
|
|
&& apt-get install -qqy socat supervisor --no-install-recommends \
|
2015-01-27 13:04:34 +00:00
|
|
|
&& apt-get clean \
|
|
|
|
&& rm -rf /var/lib/apt/lists/
|
2014-09-22 12:45:15 +00:00
|
|
|
|
2015-01-27 13:04:34 +00:00
|
|
|
# Compile time dependencies
|
|
|
|
RUN apt-get -q update \
|
2015-02-20 13:31:26 +00:00
|
|
|
&& apt-get install -qqy g++ git libsqlite3-dev make ssh-client --no-install-recommends \
|
2015-01-27 13:04:34 +00:00
|
|
|
&& apt-get clean \
|
|
|
|
&& rm -rf /var/lib/apt/lists/
|
|
|
|
|
|
|
|
# Deploy key for private npm modules
|
|
|
|
RUN mkdir -p /root/.ssh
|
|
|
|
COPY deploy_key /root/.ssh/id_rsa
|
|
|
|
COPY ssh_config /root/.ssh/config
|
|
|
|
RUN chmod 400 /root/.ssh/*
|
|
|
|
|
|
|
|
# Copy supervisord launch file for resin-supervisor
|
|
|
|
COPY resin-supervisor.conf /etc/supervisor/conf.d/resin-supervisor.conf
|
|
|
|
|
|
|
|
# Install dependencies
|
2014-09-22 12:45:15 +00:00
|
|
|
WORKDIR /app
|
2015-01-27 13:04:34 +00:00
|
|
|
COPY package.json postinstall.sh /app/
|
|
|
|
RUN npm install --unsafe-perm --production \
|
|
|
|
&& npm cache clean
|
|
|
|
|
|
|
|
# Copy source
|
|
|
|
COPY . /app/
|
2014-09-22 12:45:15 +00:00
|
|
|
|
|
|
|
ENV SUPERVISOR_IMAGE resin/i386-supervisor
|
|
|
|
ENV CONFIG_MOUNT_POINT /boot/config.json
|
|
|
|
ENV LED_FILE /dev/null
|
|
|
|
|
|
|
|
CMD ["/app/entry.sh"]
|