diff --git a/.dockerignore b/.dockerignore
new file mode 100644
index 00000000..b477f4cc
--- /dev/null
+++ b/.dockerignore
@@ -0,0 +1,5 @@
+**/node_modules
+**/.git
+**/.svelte-kit
+**/dist
+**/docs
\ No newline at end of file
diff --git a/Dockerfile.dev b/Dockerfile.dev
new file mode 100644
index 00000000..f3d2b247
--- /dev/null
+++ b/Dockerfile.dev
@@ -0,0 +1,8 @@
+FROM node:16
+WORKDIR /app
+COPY package.json .
+COPY yarn.lock .
+RUN npm install
+COPY . .
+RUN ls
+CMD ["yarn", "dev"]
\ No newline at end of file
diff --git a/README.md b/README.md
index 5a6549be..396c7293 100644
--- a/README.md
+++ b/README.md
@@ -21,10 +21,18 @@ You can try out a live version [here](https://mermaid.live/).
## Docker
+### Run published image
+
```bash
docker run --publish 8000:80 ghcr.io/mermaid-js/mermaid-live-editor
```
+### Development
+
+```bash
+docker compose up --build
+```
+
Then open http://localhost:8000
## Setup
diff --git a/bin/update-monaco b/bin/update-monaco
new file mode 100755
index 00000000..dbddd571
--- /dev/null
+++ b/bin/update-monaco
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+monacoVersion="$(jq -r '.dependencies."monaco-editor"' package.json)"
+monacoVersion="${monacoVersion:1}"
+
+if [[ $(uname) == "Darwin" ]];
+then
+ sed -i '' -E "s/monaco-editor\/[^/]*/monaco-editor\/$monacoVersion/g" ./src/app.html
+else
+ sed -i'' -E "s/monaco-editor\/[^/]*/monaco-editor\/$monacoVersion/g" ./src/app.html
+fi
+
diff --git a/docker-compose.yml b/docker-compose.yml
new file mode 100644
index 00000000..66c6233d
--- /dev/null
+++ b/docker-compose.yml
@@ -0,0 +1,11 @@
+version: '3.7'
+services:
+ mermaid:
+ build:
+ context: .
+ dockerfile: Dockerfile.dev
+ volumes:
+ - ./src:/app/src
+ ports:
+ - 8080:8080
+ - 24678:24678
diff --git a/package.json b/package.json
index 4ff12fe9..e28f4b16 100644
--- a/package.json
+++ b/package.json
@@ -2,7 +2,7 @@
"name": "mermaid-live-editor",
"version": "2.0.67",
"scripts": {
- "dev": "svelte-kit dev",
+ "dev": "svelte-kit dev --host 0.0.0.0",
"build": "svelte-kit build",
"preview": "svelte-kit preview",
"lint": "prettier --check --plugin-search-dir=. . && eslint --ignore-path .gitignore .",
@@ -36,11 +36,12 @@
"husky": "^7.0.2",
"lint-staged": "^11.1.2",
"mocha": "^9.1.1",
+ "node-html-parser": "^4.1.5",
"postcss": "^8.3.7",
"postcss-load-config": "^3.1.0",
"prettier": "~2.4.1",
"prettier-plugin-svelte": "^2.4.0",
- "svelte": "^3.42.6",
+ "svelte": "^3.43.0",
"svelte-preprocess": "^4.9.5",
"tailwindcss": "^2.2.15",
"tslib": "^2.3.1",
diff --git a/src/app.html b/src/app.html
index fb500ee3..12f5039f 100644
--- a/src/app.html
+++ b/src/app.html
@@ -21,27 +21,27 @@
/>