From 9553f9b921013adfcb3015d7bfb120e80c84b57d Mon Sep 17 00:00:00 2001
From: Remi  PLANEL <rplanel@pasteur.fr>
Date: Thu, 16 Feb 2023 11:17:37 +0100
Subject: [PATCH] Add dockerfile and docker compose

---
 .dockerignore      |  4 ++++
 Dockerfile         | 34 ++++++++++++++++++++++++++++++++++
 docker-compose.yml | 15 +++++++++++++++
 3 files changed, 53 insertions(+)
 create mode 100644 .dockerignore
 create mode 100644 Dockerfile
 create mode 100644 docker-compose.yml

diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 00000000..65dea298
--- /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 00000000..fcb53f47
--- /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 00000000..addf8ef5
--- /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"
-- 
GitLab