lbry-docker/spee.ch/Dockerfile

33 lines
1.2 KiB
Docker

## Base Image
## Using the smallest container available
## https://hub.docker.com/_/node/
# 8.11.2-alpine, 8.11-alpine, 8-alpine, carbon-alpine (8/alpine/Dockerfile)
FROM node:8-alpine
LABEL MAINTAINER="leopere [at] nixc [dot] us"
## Install base packages and clone repo to src directory.
RUN apk update && apk --no-cache add git curl wget python build-base bash && \
npm update && npm i npm@latest -g && \
npm install -g node-gyp && \
adduser speech -h /app/ -s /bin/bash -D && \
chown -Rv speech /app && \
git clone https://github.com/lbryio/spee.ch.git /usr/local/src/spee.ch/ && \
cd /usr/local/src/spee.ch/ && \
npm install
RUN wget -quiet -O /usr/bin/debugpaste https://github.com/nixc-us/debugpaste-it/raw/master/bin/debugpaste_64 && \
chmod +x /usr/bin/debugpaste
## Install container support files
RUN curl -s https://raw.githubusercontent.com/leopere/docker-support/master/install | /bin/sh
COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint
COPY healthcheck.sh /usr/local/bin/healthcheck
COPY debugpaste-it.sh /usr/local/bin/debugpaste-it
HEALTHCHECK CMD healthcheck
EXPOSE 3000
USER speech
WORKDIR /app/
ENTRYPOINT ["docker-entrypoint"]
CMD ["npm", "run", "start:dev"]