balena-supervisor/Dockerfile.x86_64

45 lines
1.2 KiB
Docker

FROM node:0.10.36-slim
COPY 01_nodoc /etc/dpkg/dpkg.cfg.d/
# Supervisor apt dependencies
RUN apt-get -q update \
&& apt-get install -qqy socat supervisor --no-install-recommends \
&& 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
WORKDIR /app
COPY package.json postinstall.sh /app/
RUN apt-get -q update \
&& apt-get install -qqy g++ git libsqlite3-dev make ssh-client --no-install-recommends \
&& npm install --unsafe-perm --production \
&& npm cache clean \
&& apt-get purge -qqy g++ git libsqlite3-dev make ssh-client \
&& apt-get clean \
&& apt-get autoremove -qqy \
&& rm -rf /var/lib/apt/lists/
# Copy source
COPY . /app/
RUN chmod +x /app/src/enterContainer.sh
RUN /app/node_modules/.bin/coffee -c /app/src
ENV SUPERVISOR_IMAGE resin/x86_64-supervisor
ENV CONFIG_MOUNT_POINT /boot/config.json
ENV LED_FILE /dev/null
# Needed for legacy
RUN ln -sf /app/entry.sh /start
CMD ["/app/entry.sh"]