Files
2024-07-27 12:11:46 +05:30

46 lines
1006 B
Makefile

PROJ = api.dummy.kevinnlsamuel.com
ifndef PROJ
$(error variable $$PROJ needs to be defined)
endif
POD_MOUNTS = \
-w /app \
-v $(PWD):/app:z \
-v pnpm-global:/usr/local:z \
-v pnpm-store:/usr/local/share/pnpm:z \
-v pnpm-config:/root/.config/pnpm:z \
-v $(PROJ)_modules:/app/node_modules:z
POD_OPTIONS_TEMPLATE = \
--interactive --tty \
--rm \
--name $(PROJ)_$(CONTAINER_TAG) \
$(POD_MOUNTS) $(EXTRA_FLAGS) \
node:alpine
serve: EXTRA_FLAGS = --publish 3000:3000
serve: SCRIPT = serve
serve: run
dev: EXTRA_FLAGS = --publish 3000:3000
dev: SCRIPT = dev
dev: run
run: CONTAINER_TAG = $(firstword $(SCRIPT))
run:
podman run $(POD_OPTIONS_TEMPLATE) pnpm run $(SCRIPT)
setup: SCRIPT = setup
setup:
podman run $(POD_OPTIONS_TEMPLATE) sh -c 'command -v pnpm || npm install -g pnpm'
podman run $(POD_OPTIONS_TEMPLATE) pnpm config set store-dir /usr/local/share/pnpm --global
podman run $(POD_OPTIONS_TEMPLATE) pnpm install
sh: CONTAINER_TAG = sh
sh:
podman run $(POD_OPTIONS_TEMPLATE) sh