From 82720deb5c088ae24b317a25137890c84d12e914 Mon Sep 17 00:00:00 2001 From: kevinnls Date: Sat, 27 Jul 2024 12:11:46 +0530 Subject: [PATCH] lessgooo --- api/Makefile | 45 +++++++++++++++++++++++++++++++++++++++++++++ www/Makefile | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 91 insertions(+) create mode 100644 api/Makefile create mode 100644 www/Makefile diff --git a/api/Makefile b/api/Makefile new file mode 100644 index 0000000..bf69774 --- /dev/null +++ b/api/Makefile @@ -0,0 +1,45 @@ +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 + diff --git a/www/Makefile b/www/Makefile new file mode 100644 index 0000000..ee47943 --- /dev/null +++ b/www/Makefile @@ -0,0 +1,46 @@ +PROJ = www.dummy.kevinnlsamuel.com + +ifndef PROJ +$(error variable $$PROJ needs to be defined) +endif + + +PACKAGE_SCRIPTS = { "scripts": { "dev": "eleventy --serve", "build": "eleventy" } } + +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 + +dev: EXTRA_FLAGS = --publish 8080:8080 +dev: SCRIPT = dev +dev: run + +build: SCRIPT = build +build: 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 +