Skip to content
This repository was archived by the owner on Oct 29, 2019. It is now read-only.
Open
Show file tree
Hide file tree
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
3 changes: 2 additions & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
.vagrant
.git
node_modules
node_modules
yarn-cache
48 changes: 30 additions & 18 deletions Dockerfile.prod
Original file line number Diff line number Diff line change
@@ -1,22 +1,34 @@
FROM node
FROM kladovka/dev as dev
COPY package.json .
RUN yarn install
COPY domain/package.json domain/package.json
RUN cd domain && yarn install --modules-folder ../node_modules
COPY frontend/package.json frontend/package.json
RUN cd frontend && yarn install --modules-folder ../node_modules
COPY config config
COPY domain/src domain/src
COPY frontend/src frontend/src
COPY frontend/assets frontend/assets
COPY frontend/webpack.config.js frontend
RUN cd frontend && NODE_ENV=production yarn run build

WORKDIR src/backend
FROM node:alpine

RUN cd .. && npm install yarn
WORKDIR /src

COPY config ../config
RUN mkdir logs
ENV NODE_ENV production
COPY package.json .
RUN npm install
COPY domain/package.json domain/package.json
RUN cd domain && npm install
COPY backend/package.json backend/package.json
RUN cd backend && npm install
COPY config config
COPY domain/src domain/src
COPY backend/src backend/src
COPY scripts scripts
COPY --from=dev /src/frontend/dist frontend/dist

COPY backend .
RUN yarn install --modules-folder ../node_modules

COPY domain ../domain
RUN cd ../domain && yarn install --modules-folder ../node_modules

COPY frontend ../tmp_frontend
RUN cd ../tmp_frontend && yarn install
RUN cd ../tmp_frontend && npm run build:prod
RUN mkdir -p ../frontend/dist
RUN cp -r ../tmp_frontend/dist ../frontend
RUN rm -rf ../tmp_frontend

CMD ["npm", "run","start:prod"]
WORKDIR /src/backend
CMD ["npm", "run", "start"]
3 changes: 1 addition & 2 deletions backend/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
{
"scripts": {
"start": "cd src && node server.js 2>&1 | ../../scripts/logprefix.sh backend | tee -a ../../logs/backend.log",
"start:prod": "cd src && node server.js"
"start": "sh ../scripts/launch.backend.sh"
},
"dependencies": {
"body-parser": "^1.17.1",
Expand Down
13 changes: 13 additions & 0 deletions scripts/launch.backend.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/usr/bin/env sh

case $NODE_ENV in
production )
cd src && node server.js | tee -a ../../logs/backend.log
;;
development )
cd src && node server.js 2>&1 | ../../scripts/logprefix.sh backend | tee -a ../../logs/backend.log
;;
* )
cd src && node server.js 2>&1 | ../../scripts/logprefix.sh backend | tee -a ../../logs/backend.log
;;
esac