diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000000000000000000000000000000000000..65dea298189ef295e247da8abe6abd16df27669b --- /dev/null +++ b/.dockerignore @@ -0,0 +1,4 @@ +**/node_modules +Dockerfile +.gitlab-ci.yaml +**/.nuxt \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000000000000000000000000000000000..fcb53f47763a19bd301af3af7b845c91062d0ada --- /dev/null +++ b/Dockerfile @@ -0,0 +1,34 @@ +### Stage Install ### +FROM node:19.5-bullseye-slim as install + +RUN mkdir /usr/src/app +WORKDIR /usr/src/app +ENV PATH /usr/src/app/node_modules/.bin:$PATH +COPY package*.json ./ + +RUN npm install + + +### STAGE: Dev +FROM node:19.5-bullseye-slim as dev + +WORKDIR /usr/src/app +COPY --from=install /usr/src/app ./ +COPY . /usr/src/app +EXPOSE 3000 24678 4000 +CMD ["npm", "run", "dev"] + + +### STAGE: Build ### +FROM node:19.5-bullseye-slim as build + +WORKDIR /usr/src/app +COPY --from=install /usr/src/app ./ +COPY . /usr/src/app +RUN npm run generate + +### STAGE: NGINX ### +FROM nginx:stable-alpine +COPY --from=build /usr/src/app/dist /usr/share/nginx/html +EXPOSE 80 +CMD ["nginx", "-g", "daemon off;"] \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000000000000000000000000000000000000..addf8ef5e9d29b9fd3f753a77722581993378dd1 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,15 @@ +version: "3.9" +services: + nuxt: + build: + context: . + target: dev + container_name: docus_dev + volumes: + - .:/usr/src/app + - /usr/src/app/node_modules + - /usr/src/app/.nuxt + ports: + - "3000:3000" + - "24678:24678" + - "4000:4000"