From b90c918613827e9637f5e26595d6928ee05c537c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20K=C3=B6nig?= Date: Sat, 13 Jan 2024 20:54:46 +0100 Subject: [PATCH 1/3] Add devcontainer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Christian König --- .devcontainer/Dockerfile | 8 ++++++++ .devcontainer/devcontainer.json | 25 +++++++++++++++++++++++++ .devcontainer/post-create.sh | 4 ++++ package-lock.json | 2 +- package.json | 2 +- 5 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 .devcontainer/Dockerfile create mode 100644 .devcontainer/devcontainer.json create mode 100644 .devcontainer/post-create.sh diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 0000000..bbdb6e4 --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,8 @@ +FROM node:21-alpine3.19 +RUN apk add --no-cache \ + git \ + nano\ + openssh \ + py3-pip + +USER node diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..69a02ca --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,25 @@ +{ + "name": "Pi-hole doc devcontainer", + "dockerFile": "Dockerfile", + // Use 'postCreateCommand' to run commands after the container is created. + "postCreateCommand": "sh .devcontainer/post-create.sh", + "customizations": { + // Configure properties specific to VS Code. + "vscode": { + "settings": {}, + "extensions": [ + "eamodio.gitlens", + "EditorConfig.EditorConfig", + "github.vscode-github-actions", + "DavidAnson.vscode-markdownlint" + + ] + } + }, + "containerEnv": { + "GIT_EDITOR": "nano" + }, + "mounts": [ + "type=bind,source=/home/${localEnv:USER}/.ssh,target=/home/node/.ssh,readonly" + ] +} diff --git a/.devcontainer/post-create.sh b/.devcontainer/post-create.sh new file mode 100644 index 0000000..97aae44 --- /dev/null +++ b/.devcontainer/post-create.sh @@ -0,0 +1,4 @@ +#! /bin/sh +npm install +pip3 install -r requirements.txt --break-system-packages --no-warn-script-location +export PATH="$HOME/.local/bin:$PATH" diff --git a/package-lock.json b/package-lock.json index d315b88..7ea6a72 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "license": "CC-BY-SA-4.0", "devDependencies": { "linkinator": "^6.0.4", - "markdownlint-cli2": "0.12.0" + "markdownlint-cli2": "^0.12.0" } }, "node_modules/@isaacs/cliui": { diff --git a/package.json b/package.json index 3e0d4af..c185b55 100644 --- a/package.json +++ b/package.json @@ -23,6 +23,6 @@ }, "devDependencies": { "linkinator": "^6.0.4", - "markdownlint-cli2": "0.12.0" + "markdownlint-cli2": "^0.12.0" } } From 938d62425fe418a7329bbf5c569e7f6de806949f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20K=C3=B6nig?= Date: Fri, 23 Feb 2024 21:02:24 +0000 Subject: [PATCH 2/3] Fix PATH MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Christian König --- .devcontainer/Dockerfile | 7 +++++-- .devcontainer/post-create.sh | 1 - 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index bbdb6e4..211cc72 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -4,5 +4,8 @@ RUN apk add --no-cache \ nano\ openssh \ py3-pip - -USER node +ENV USER node +USER $USER +# python packages (as mkdocs) are installed in the user's home directory +# but we need them to be accessible from $PATH +ENV PATH="$PATH:/home/$USER/.local/bin" diff --git a/.devcontainer/post-create.sh b/.devcontainer/post-create.sh index 97aae44..44c9b6b 100644 --- a/.devcontainer/post-create.sh +++ b/.devcontainer/post-create.sh @@ -1,4 +1,3 @@ #! /bin/sh npm install pip3 install -r requirements.txt --break-system-packages --no-warn-script-location -export PATH="$HOME/.local/bin:$PATH" From 0469094374142da7b034f3db767cc7b1709e4572 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20K=C3=B6nig?= Date: Fri, 23 Feb 2024 21:08:06 +0000 Subject: [PATCH 3/3] Add serve command and forward port 8000 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Christian König --- .devcontainer/devcontainer.json | 3 ++- package.json | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 69a02ca..d96d265 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -21,5 +21,6 @@ }, "mounts": [ "type=bind,source=/home/${localEnv:USER}/.ssh,target=/home/node/.ssh,readonly" - ] + ], + "forwardPorts": [8000] } diff --git a/package.json b/package.json index c185b55..c597d3a 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,8 @@ "build": "mkdocs build --clean", "markdownlint": "markdownlint-cli2 \"**/*.md\" \"!**/node_modules/**\"", "linkinator": "npm run build && linkinator site --recurse --silent --skip \"^(?!http://localhost)\"", - "test": "npm run markdownlint && npm run linkinator" + "test": "npm run markdownlint && npm run linkinator", + "serve": "mkdocs serve --dev-addr 0.0.0.0:8000" }, "devDependencies": { "linkinator": "^6.0.4",