mermaid-server/Makefile

51 lines
1.2 KiB
Makefile
Raw Normal View History

2020-10-02 15:33:34 +02:00
DOCKER_IMAGE=tomwright/mermaid-server:latest
CONTAINER_NAME=mermaid-server
docker-image:
docker build -t ${DOCKER_IMAGE} .
docker-run:
docker run -d --name ${CONTAINER_NAME} -p 80:80 ${DOCKER_IMAGE}
docker-stop:
docker stop ${CONTAINER_NAME} || true
docker-rm:
make docker-stop
docker rm ${CONTAINER_NAME} || true
docker-logs:
docker logs -f ${CONTAINER_NAME}
docker-push:
docker push ${DOCKER_IMAGE}
# Directories
IN_DIR = ./in
OUT_DIR = ./out
# The pat for the Mermaid CLI
MERMAIDCLI_PATH=./mermaidcli/node_modules/.bin/mmdc
# Define arguments as separate variables
ARG_MERMAIDCLI = --mermaid=$(MERMAIDCLI_PATH)
ARG_PUPPETCONF = --puppeteer=./mermaidcli/puppeteer-config.json
ARG_INDIR = --in=$(IN_DIR)
ARG_OUTDIR = --out=$(OUT_DIR)
# Combine arguments into a single variable (space-separated)
ARGS = $(ARG_MERMAIDCLI) $(ARG_PUPPETCONF) $(ARG_INDIR) $(ARG_OUTDIR)
# Target to create input and output directories
create_in_out:
mkdir -p $(IN_DIR) $(OUT_DIR)
# Install mermaid-cli using npm
install_mermaidcli:
npm --prefix mermaidcli install
# Target to run the Go application
run: create_in_out install_mermaidcli
go run cmd/app/main.go $(ARGS)