From 01fe67dc20fa4373967d26c079533c899d635379 Mon Sep 17 00:00:00 2001 From: Pierre Kancir Date: Fri, 8 Nov 2024 13:55:46 +0100 Subject: [PATCH] Feature: add docker builder --- .dockerignore | 5 +++++ Dockerfile | 19 +++++++++++++++++++ compose.yaml | 10 ++++++++++ package.json | 14 +++++++------- stack.env | 0 5 files changed, 41 insertions(+), 7 deletions(-) create mode 100644 .dockerignore create mode 100644 Dockerfile create mode 100644 compose.yaml create mode 100644 stack.env diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..3c49d2e --- /dev/null +++ b/.dockerignore @@ -0,0 +1,5 @@ +node_modules +tmp* +.github +.git +.idea diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..9cbb044 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,19 @@ +# syntax=docker/dockerfile:1.4 +FROM node:22 +ARG NODE_ENV=production +ENV NODE_ENV $NODE_ENV + +ENV WS=am32-wiki +WORKDIR /${WS} + +COPY --link package.json /${WS}/package.json +RUN --mount=type=cache,target=/root/.npm npm install + +COPY --chown=node:node . /${WS}/. + +USER node + +RUN npm run build + +CMD npm run preview + diff --git a/compose.yaml b/compose.yaml new file mode 100644 index 0000000..600a47a --- /dev/null +++ b/compose.yaml @@ -0,0 +1,10 @@ +services: + am32-wiki: + build: . + container_name: am32-wiki + ports: + - "4173:4173" + env_file: + - ./stack.env + restart: always + diff --git a/package.json b/package.json index 1cb473e..aaca11e 100644 --- a/package.json +++ b/package.json @@ -1,13 +1,8 @@ { "devDependencies": { "@eslint/js": "^9.4.0", - "autoprefixer": "^10.4.19", "eslint-plugin-markdownlint": "^0.6.0", - "postcss": "^8.4.38", - "tailwindcss": "^3.4.3", - "vitepress": "^1.2.2", - "vitepress-plugin-tabs": "^0.5.0", - "vitepress-sidebar": "^1.23.2" + "prettier": "^3.3.0" }, "scripts": { "dev": "vitepress dev", @@ -20,7 +15,12 @@ "format:fix": "prettier . --write" }, "dependencies": { + "autoprefixer": "^10.4.19", "eslint": "^9.4.0", - "prettier": "^3.3.0" + "postcss": "^8.4.38", + "tailwindcss": "^3.4.3", + "vitepress": "^1.2.2", + "vitepress-plugin-tabs": "^0.5.0", + "vitepress-sidebar": "^1.23.2" } } diff --git a/stack.env b/stack.env new file mode 100644 index 0000000..e69de29