-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathDockerfile
36 lines (27 loc) · 1009 Bytes
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
FROM ubuntu:16.10
# Install server dependencies
RUN apt-get install --fix-missing \
&& apt-get update --yes && apt-get upgrade --yes \
&& apt-get install git nodejs npm vim \
libcairo2-dev libjpeg8-dev libpango1.0-dev libgif-dev libpng-dev build-essential g++ \
ffmpeg \
redis-server --yes
RUN ln -s `which nodejs` /usr/bin/node
# Non-privileged user
RUN useradd -m audiogram #reset
# early copy of client side javascript required for postinstall script
ADD ./client/* /home/audiogram/src/client/
ADD ./lib/logger/* /home/audiogram/src/client/
# Install application dependencies (see http://www.clock.co.uk/blog/a-guide-on-how-to-cache-npm-install-with-docker)
ADD ./package.json /home/audiogram/src/package.json
RUN chown -R audiogram:audiogram /home/audiogram
USER audiogram
WORKDIR /home/audiogram/src
RUN npm install
# Copy rest of source
USER root
COPY . /home/audiogram/src
RUN chown -R audiogram:audiogram /home/audiogram
RUN npm run build
ENV NODE_ENV production
CMD [ "sh", "bin/start.sh" ]