FROM resin/i386-node:0.10.40-slim

COPY 01_nodoc /etc/dpkg/dpkg.cfg.d/

ENV DOCKER_COMPOSE_VERSION 1.7.1
ENV DOCKER_COMPOSE_SHA256 b926fd9a2a9d89358f1353867706f94558a62caaf3aa72bf10bcbbe31e1a44f0

# Supervisor apt dependencies
RUN apt-get -q update \
	&& apt-get install -qqy \
		btrfs-tools \
		ca-certificates \
		curl \
		iptables \
		rsync \
		supervisor \
		--no-install-recommends \
	&& curl -sLO http://resin-packages.s3.amazonaws.com/docker-compose/${DOCKER_COMPOSE_VERSION}/docker-compose-linux-i386-${DOCKER_COMPOSE_VERSION}.tar.gz \
	&& echo $DOCKER_COMPOSE_SHA256  docker-compose-linux-i386-${DOCKER_COMPOSE_VERSION}.tar.gz > docker-compose-linux-i386-${DOCKER_COMPOSE_VERSION}.tar.gz.sha256 \
	&& sha256sum -c docker-compose-linux-i386-${DOCKER_COMPOSE_VERSION}.tar.gz.sha256 \
	&& tar xzf docker-compose-linux-i386-${DOCKER_COMPOSE_VERSION}.tar.gz \
	&& mv docker-compose-linux-i386-${DOCKER_COMPOSE_VERSION}/docker-compose-linux-i386 /usr/bin/docker-compose \
	&& rm -rf docker-compose-linux-i386-${DOCKER_COMPOSE_VERSION}* \
	&& apt-get purge -qqy curl \
	&& apt-get clean \
	&& rm -rf /var/lib/apt/lists/

# Copy supervisord configuration files
COPY config/supervisor/ /etc/supervisor/

# Install dependencies
WORKDIR /app
COPY package.json postinstall.sh /app/
RUN apt-get -q update \
	&& apt-get install -qqy g++ libsqlite3-dev make --no-install-recommends \
	&& JOBS=MAX npm install --unsafe-perm --production --no-optional \
	&& npm dedupe \
	&& npm cache clean \
	&& rm -rf /tmp/* \
	&& apt-get purge -qqy g++ libsqlite3-dev make binutils \
	&& apt-get clean \
	&& apt-get autoremove -qqy \
	&& rm -rf /var/lib/apt/lists/

# Copy source
COPY . /app/

RUN /app/node_modules/.bin/coffee -c /app/src \
	&& ln -sf /app/entry.sh /start # Needed for legacy

RUN chmod +x /app/bin/gosuper

ENV SUPERVISOR_IMAGE resin/i386-supervisor
ENV CONFIG_MOUNT_POINT /boot/config.json
ENV LED_FILE /dev/null

ENTRYPOINT ["/app/entry.sh"]