From 11a814ac7d754d18afa75016bdd4f97fc6b4bd03 Mon Sep 17 00:00:00 2001 From: Max Stanley Date: Tue, 21 Nov 2023 21:00:14 +0000 Subject: [PATCH] Add environment arguments to Dockerfile --- .dockerignore | 6 +++++- .gitignore | 1 + Dockerfile | 40 +++++++++++++++++++++++++++------------- Dockerfile.dev | 8 -------- docker-compose.yml | 2 +- src/env.d.ts | 3 --- src/lib/util/env.ts | 7 +------ 7 files changed, 35 insertions(+), 32 deletions(-) delete mode 100644 Dockerfile.dev diff --git a/.dockerignore b/.dockerignore index b477f4cc..7624b2ae 100644 --- a/.dockerignore +++ b/.dockerignore @@ -2,4 +2,8 @@ **/.git **/.svelte-kit **/dist -**/docs \ No newline at end of file +**/docs + +Dockerfile +.dockerignore +docker-compose.yml \ No newline at end of file diff --git a/.gitignore b/.gitignore index 381928d7..b3bcfc8f 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ yarn-error.log /cypress/downloads /cypress/videos /cypress/screenshots +/docs diff --git a/Dockerfile b/Dockerfile index 879b9aa1..c8ab6c84 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,17 +1,31 @@ -# Two-stage docker container for mermaid-js/mermaid-live-editor -# Build : docker build -t mermaid-js/mermaid-live-editor . -# Run : docker run --name mermaid-live-editor --publish 8080:8080 mermaid-js/mermaid-live-editor -# Start : docker start mermaid-live-editor -# Use webbrowser : http://localhost:8080 -# Stop : press ctrl + c -# or -# docker stop mermaid-live-editor -FROM node:18.18.2 as mermaid-live-editor-builder -COPY --chown=node:node . /home -WORKDIR /home +FROM docker.io/library/node:20-alpine3.18 AS mermaid-live-editor-dependencies + +RUN apk --no-cache add build-base git python3 && \ + rm -rf /var/cache/apk/* + +RUN yarn global add node-gyp + +WORKDIR /app + +COPY ./package.json . +COPY ./yarn.lock . + RUN yarn install + +FROM mermaid-live-editor-dependencies AS mermaid-live-editor-builder + +ARG MERMAID_RENDERER_URL +ARG MERMAID_KROKI_RENDERER_URL + +COPY . ./ + RUN yarn build -FROM nginxinc/nginx-unprivileged:alpine as mermaid-live-editor-runner +FROM mermaid-live-editor-builder AS mermaid-dev + +ENTRYPOINT ["yarn", "dev"] + +FROM nginx:1.25-alpine3.18 AS mermaid + COPY ./nginx.conf /etc/nginx/conf.d/default.conf -COPY --from=mermaid-live-editor-builder --chown=nginx:nginx /home/docs /usr/share/nginx/html +COPY --from=mermaid-live-editor-builder /app/docs /usr/share/nginx/html diff --git a/Dockerfile.dev b/Dockerfile.dev deleted file mode 100644 index 5e36fd41..00000000 --- a/Dockerfile.dev +++ /dev/null @@ -1,8 +0,0 @@ -FROM node:18.18.2 -WORKDIR /app -COPY package.json . -COPY yarn.lock . -RUN npm install -COPY . . -RUN ls -CMD ["yarn", "dev"] diff --git a/docker-compose.yml b/docker-compose.yml index 68a47332..c4649256 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: mermaid: build: context: . - dockerfile: Dockerfile.dev + target: mermaid-dev volumes: - ./src:/app/src ports: diff --git a/src/env.d.ts b/src/env.d.ts index 8188f7aa..3bdd9740 100644 --- a/src/env.d.ts +++ b/src/env.d.ts @@ -3,9 +3,6 @@ interface ImportMetaEnv { readonly MERMAID_RENDERER_URL?: string; readonly MERMAID_KROKI_RENDERER_URL?: string; - readonly MERMAID_CDN_URL?: string; - readonly MERMAID_BASE_URL?: string; - readonly MERMAID_LOCAL?: boolean; // more env variables... } diff --git a/src/lib/util/env.ts b/src/lib/util/env.ts index 2c14a52e..bc500063 100644 --- a/src/lib/util/env.ts +++ b/src/lib/util/env.ts @@ -1,9 +1,4 @@ export const env = { rendererUrl: import.meta.env.MERMAID_RENDERER_URL ?? 'https://mermaid.ink', - krokiRendererUrl: import.meta.env.MERMAID_KROKI_RENDERER_URL ?? 'https://kroki.io', - mermaidCDNUrl: import.meta.env.MERMAID_CDN_URL ?? 'https://unpkg.com/@mermaid-js', - mermaidBaseURL: import.meta.env.MERMAID_BASE_URL ?? 'http://localhost:9000', - useLocalMermaid: import.meta.env.MERMAID_LOCAL ?? false, - isDev: import.meta.env.DEV, - baseURL: import.meta.env.BASE_URL + krokiRendererUrl: import.meta.env.MERMAID_KROKI_RENDERER_URL ?? 'https://kroki.io' };