Skip to content
This repository has been archived by the owner on Aug 30, 2021. It is now read-only.

Corrected SYNTAX some fixes #1468

Closed
wants to merge 1 commit into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
89 changes: 40 additions & 49 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,64 +6,55 @@
#
# Compose:
# docker-compose up -d

FROM ubuntu:latest
MAINTAINER MEAN.JS

# Install Utilities
RUN apt-get update -q
RUN apt-get install -yqq wget aptitude htop vim git traceroute dnsutils curl ssh sudo tree tcpdump nano psmisc gcc make build-essential libfreetype6 libfontconfig libkrb5-dev

# Install gem sass for grunt-contrib-sass
RUN apt-get install -y ruby
RUN gem install sass

# Install NodeJS
RUN curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
RUN sudo apt-get install -yq nodejs

# Install MEAN.JS Prerequisites
RUN npm install --quiet -g grunt-cli gulp bower yo mocha karma-cli pm2

RUN mkdir /opt/mean.js
RUN mkdir -p /opt/mean.js/public/lib
WORKDIR /opt/mean.js

# Copies the local package.json file to the container
# and utilities docker container cache to not needing to rebuild
# and install node_modules/ everytime we build the docker, but only
# when the local package.json file changes.
# Install npm packages
ADD package.json /opt/mean.js/package.json
RUN npm install --quiet

# Install bower packages
ADD bower.json /opt/mean.js/bower.json
ADD .bowerrc /opt/mean.js/.bowerrc
RUN bower install --quiet --allow-root --config.interactive=false

# Share local directory on the docker container
ADD . /opt/mean.js

# Machine cleanup
RUN npm cache clean
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

# Set development environment as default
ENV NODE_ENV development

# Ports generic
EXPOSE 80:80
EXPOSE 443:443
# 80 = HTTP, 443 = HTTPS, 3000 = MEAN.JS server, 5858 = node debug, 35729 = livereload
EXPOSE 80 443 3000 5858 35729

# Port 3000 for MEAN.JS server
EXPOSE 3000:3000
# Install Utilities
RUN curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash - \
&& apt-get update -q \
&& apt-get install -yqq \
wget \
aptitude \
htop \
vim \
git \
traceroute \
dnsutils \
curl \
ssh \
sudo \
tree \
tcpdump \
nano \
psmisc \
gcc \
make \
build-essential \
libfreetype6 \
libfontconfig \
libkrb5-dev \
ruby \
nodejs \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

# Port 5858 for node debug
EXPOSE 5858:5858
# Install gem sass for grunt-contrib-sass
RUN gem install sass

# Port 35729 for livereload
EXPOSE 35729:35729
ADD . /opt/mean.js
WORKDIR /opt/mean.js

RUN mkdir -p /opt/mean.js/public/lib \
&& npm install --quiet -g grunt-cli gulp bower yo mocha karma-cli pm2 \
&& npm install --quiet \
&& bower install --quiet --allow-root --config.interactive=false \
&& npm cache clean

# Run MEAN.JS server
CMD ["npm", "start"]