From 190570fa52b3387425576b192dbb8ae24853acf4 Mon Sep 17 00:00:00 2001 From: Rik Berkelder Date: Tue, 4 Feb 2025 20:01:30 +0100 Subject: [PATCH] dockerize and CI attempt 1 --- .dockerignore | 2 ++ .gitea/workflows/build.yml | 56 ++++++++++++++++++++++++++++++++++++++ Dockerfile | 10 +++++++ package.json | 5 ++-- 4 files changed, 71 insertions(+), 2 deletions(-) create mode 100644 .dockerignore create mode 100644 .gitea/workflows/build.yml create mode 100644 Dockerfile diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..76add87 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,2 @@ +node_modules +dist \ No newline at end of file diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml new file mode 100644 index 0000000..dc02c9b --- /dev/null +++ b/.gitea/workflows/build.yml @@ -0,0 +1,56 @@ +name: Deploy +on: [push] + +jobs: + Deploy: + runs-on: ubuntu-latest + steps: + - name: Start webhook + if: ${{always()}} + continue-on-error: true + uses: fjogeleit/http-request-action@v1 + with: + url: ${{vars.NODE_RED_WORKFLOW_STARTED_URL}} + data: '{"job": ${{toJSON(job)}}, "gitea": ${{toJSON(gitea)}}}' + + - name: Checkout + uses: actions/checkout@v3 + + - name: Docker install + run: | + export DEBIAN_FRONTEND=noninteractive + apt-get update + apt-get install -yqq ca-certificates curl + install -m 0755 -d /etc/apt/keyrings + curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc + chmod a+r /etc/apt/keyrings/docker.asc + echo \ + "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \ + $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ + tee /etc/apt/sources.list.d/docker.list > /dev/null + apt-get update + apt-get install -yqq docker-ce docker-ce-cli containerd.io + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Docker Login + uses: docker/login-action@v3 + with: + registry: git.riksolo.com + username: riksolo + password: ${{secrets.CONTAINER_REGISTRY_TOKEN}} + + - name: Build and push + uses: docker/build-push-action@v6 + with: + push: true + tags: git.riksolo.com/riksolo/eleventy-riksolo-com:latest , eleventy-riksolo-com:${{github.sha}} + + - name: Completion webhook + if: ${{always()}} + continue-on-error: true + uses: fjogeleit/http-request-action@v1 + with: + url: ${{vars.NODE_RED_WORKFLOW_COMPLETE_URL}} + data: '{"job": ${{toJSON(job)}}, "gitea": ${{toJSON(gitea)}}}' \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..781c554 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,10 @@ +FROM node:22 +WORKDIR /usr/src/app + +COPY package*.json ./ +RUN npm install +ADD . . +RUN npm run build + +FROM php:7.4-apache +COPY --from=0 /usr/src/app/dist /var/www/html/ diff --git a/package.json b/package.json index f42d333..5c8d15c 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,8 @@ "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", - "serve": "npx @11ty/eleventy --serve" + "serve": "npx @11ty/eleventy --serve", + "build": "npx @11ty/eleventy" }, "keywords": [], "author": "", @@ -17,4 +18,4 @@ "luxon": "^3.5.0", "sass": "^1.83.4" } -} +} \ No newline at end of file