Add environment arguments to Dockerfile

This commit is contained in:
Max Stanley
2023-11-21 21:00:14 +00:00
parent 4ad6bf915b
commit 11a814ac7d
7 changed files with 35 additions and 32 deletions

View File

@@ -2,4 +2,8 @@
**/.git
**/.svelte-kit
**/dist
**/docs
**/docs
Dockerfile
.dockerignore
docker-compose.yml

1
.gitignore vendored
View File

@@ -12,3 +12,4 @@ yarn-error.log
/cypress/downloads
/cypress/videos
/cypress/screenshots
/docs

View File

@@ -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

View File

@@ -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"]

View File

@@ -3,7 +3,7 @@ services:
mermaid:
build:
context: .
dockerfile: Dockerfile.dev
target: mermaid-dev
volumes:
- ./src:/app/src
ports:

3
src/env.d.ts vendored
View File

@@ -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...
}

View File

@@ -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'
};