diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..c25af48 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,4 @@ +.git +node_modules +npm-debug.log +yarn-error.log \ No newline at end of file diff --git a/Dockerfile.development b/Dockerfile.development new file mode 100644 index 0000000..3f2692d --- /dev/null +++ b/Dockerfile.development @@ -0,0 +1,6 @@ +FROM node:alpine + +EXPOSE 8000 + +VOLUME /usr/src/app +WORKDIR /usr/src/app diff --git a/Dockerfile.production b/Dockerfile.production new file mode 100644 index 0000000..de2f8e3 --- /dev/null +++ b/Dockerfile.production @@ -0,0 +1,21 @@ +FROM node:alpine as builder + +RUN apk update && apk add --no-cache make git python autoconf g++ libc6-compat libjpeg-turbo-dev libpng-dev nasm + +WORKDIR /usr/src/app +COPY . . + +RUN yarn install +RUN yarn build +RUN rm -rf ./src ./node_modules /usr/local/lib/node_modules /usr/local/share/.cache/yarn/ +RUN mkdir -p /run/nginx + +FROM nginx:alpine + +RUN rm -rf /usr/share/nginx/html/* + +COPY --from=builder /usr/src/app/public /usr/share/nginx/html + +EXPOSE 80 + +CMD ["nginx", "-g", "daemon off;"] diff --git a/docker-compose.development.yml b/docker-compose.development.yml new file mode 100644 index 0000000..d757b30 --- /dev/null +++ b/docker-compose.development.yml @@ -0,0 +1,12 @@ +version: '2' +services: + web: + image: alxshelepenok/gatsby-starter-lumen:development + build: + context: ./ + dockerfile: Dockerfile.development + tty: true + volumes: + - ./:/usr/src/app + ports: + - "8000:8000" \ No newline at end of file diff --git a/docker-compose.production.yml b/docker-compose.production.yml new file mode 100644 index 0000000..efc947f --- /dev/null +++ b/docker-compose.production.yml @@ -0,0 +1,12 @@ +version: '2' +services: + web: + image: alxshelepenok/gatsby-starter-lumen:production + build: + context: ./ + dockerfile: Dockerfile.production + tty: true + volumes: + - ./:/usr/src/app + ports: + - "80:80" \ No newline at end of file