mermaid-cli Docker & Self-Hosted Deployment

GitHub

Command line tool for the Mermaid library

4,522 stars JavaScript JavaScript 1 file ยท ~2,802 tokens #cli#diagrams#mermaid
1. Pull Image (DOCKERHUB) docker pull mermaid-js/mermaid-cli:latest
2. Docker Run (1-Click Launch) docker run -d --name mermaid-cli --restart always mermaid-js/mermaid-cli:latest
3. Podman Run podman run -d --name mermaid-cli --restart always mermaid-js/mermaid-cli:latest
4. Skopeo Inspect (Zero-Pull Manifest) skopeo inspect docker://docker.io/mermaid-js/mermaid-cli:latest
5. ORAS Pull (OCI Artifact) oras pull mermaid-js/mermaid-cli:latest
Dockerfile
FROM node:22.23.2-alpine3.24

ENV CHROME_BIN="/usr/bin/chromium-browser" \
    PUPPETEER_SKIP_DOWNLOAD="true" 

ARG VERSION

ADD install-dependencies.sh install-dependencies.sh
RUN chmod 755 install-dependencies.sh && /bin/sh install-dependencies.sh

RUN adduser -D mermaidcli
USER mermaidcli
WORKDIR /home/mermaidcli
RUN npm install @mermaid-js/mermaid-cli@$VERSION

ENV PATH="$PATH:/home/mermaidcli/node_modules/.bin/"

ADD puppeteer-config.json  /puppeteer-config.json

WORKDIR /data
ENTRYPOINT ["/home/mermaidcli/node_modules/.bin/mmdc", "-p", "/puppeteer-config.json"]
CMD [ "--help" ]