balena-supervisor/Dockerfile.i386

49 lines
1.3 KiB
Docker

FROM resin/i386-debian:jessie
COPY 01_nodoc /etc/dpkg/dpkg.cfg.d/
# Nodejs
RUN apt-get update \
&& apt-get install -y npm nodejs --no-install-recommends \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/
RUN ln -sf /usr/bin/nodejs /usr/bin/node
# 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/
ENV SUPERVISOR_IMAGE resin/i386-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"]