diff --git a/Dockerfile b/Dockerfile index 71aafe8b41..56c2ad7497 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,20 +1,23 @@ -# The base image is the latest 8.x node (LTS) -FROM node:8.16.1@sha256:a07ce30ff4e6ae7a6f2c2c1abd7b7b293aaee89510569932a68d00b897cbe055 +FROM node:lts RUN mkdir -p /usr/src/app WORKDIR /usr/src/app ARG NODE_ENV ENV NODE_ENV $NODE_ENV + COPY install/package.json /usr/src/app/package.json -RUN npm install && npm cache clean --force + +RUN npm install --only=prod && \ + npm cache clean --force + COPY . /usr/src/app ENV NODE_ENV=production \ daemon=false \ silent=false +EXPOSE 4567 + CMD ./nodebb start -# the default port for NodeBB is exposed outside the container -EXPOSE 4567 \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000000..5e382f47f9 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,24 @@ +version: '3.5' + +services: + node: + build: . + restart: unless-stopped + depends_on: + - db + expose: + - 4567 # use a reverse proxy like Traefik + + db: + image: mongo:bionic + restart: unless-stopped + expose: + - 27017 + environment: + MONGO_INITDB_ROOT_USERNAME: root + MONGO_INITDB_ROOT_PASSWORD: root + volumes: + - mongo:/data/db + +volumes: + mongo: