From 6d2a2a9e65dd775cb872c00b99186ccab8a1fcd8 Mon Sep 17 00:00:00 2001 From: Michael Balsillie Date: Tue, 23 Aug 2022 01:38:48 +1200 Subject: [PATCH] init --- .woodpecker.yml | 88 +++++++++++++++++++++++++++++++++++++++++++++++++ Dockerfile | 3 ++ README.md | 3 ++ 3 files changed, 94 insertions(+) create mode 100644 .woodpecker.yml create mode 100644 Dockerfile create mode 100644 README.md diff --git a/.woodpecker.yml b/.woodpecker.yml new file mode 100644 index 0000000..a08f9cc --- /dev/null +++ b/.woodpecker.yml @@ -0,0 +1,88 @@ +variables: + &vars + - REGISTRY=code.balsillie.net + - REGISTRY_USER=michael + - DOCKERFILE=Dockerfile + - CONTEXT=. + - MATRIX_HOST=matrix.balsillie.net + - MATRIX_PORT=443 + - MATRIX_ROOM=!HdSXmuHcBMaYExEfkh:balsillie.net + +workspace: + base: /git + path: pipeline + +clone: + git: + image: woodpeckerci/plugin-git + +pipeline: + + docker-build: + image: docker:latest + volumes: + - /var/run/docker.sock:/var/run/docker.sock + - /etc/localtime:/etc/localtime:ro + environment: + *vars + secrets: + - source: REGISTRY_PASSWORD + target: REGISTRY_PASSWORD + commands: + - echo $REGISTRY_PASSWORD | docker login $REGISTRY -u $REGISTRY_USER --password-stdin + - docker build + -t $REGISTRY/$${CI_REPO}:$${CI_COMMIT_TAG} + -t $REGISTRY/$${CI_REPO}:$(date +%F_%H-%M) + -t $REGISTRY/$${CI_REPO}:latest + --pull + -f $${DOCKERFILE} + $${CONTEXT} + - docker push -a $REGISTRY/$${CI_REPO} + when: + event: tag + tag: v* + + trigger-watchtower: + image: code.balsillie.net/containers/woodpecker-util + pull: false + environment: + *vars + secrets: + - source: WATCHTOWER_HTTP_API_TOKEN + target: WATCHTOWER_HTTP_API_TOKEN + commands: + - HEADER='Authorization:' + - HEADER=$HEADER" Bearer $${WATCHTOWER_HTTP_API_TOKEN}" + - curl -H "$${HEADER}" -i "https://$${WATCHTOWER_HOST}/v1/update" + + + notify-matrix-success: + image: code.balsillie.net/containers/woodpecker-util + pull: false + environment: + *vars + secrets: + - source: MATRIX_ACCESS_TOKEN + target: MATRIX_ACCESS_TOKEN + commands: + - sleep 60 + - shoutrrr send + --url matrix://:$${MATRIX_ACCESS_TOKEN}@$${MATRIX_HOST}:$${MATRIX_PORT}/?rooms=$${MATRIX_ROOM} + --message "New image build of $${CI_REPO}, $${CI_COMMIT_TAG}, has been completed and pushed." + when: + status: [ success ] + + notify-matrix-failure: + image: code.balsillie.net/containers/woodpecker-util + pull: false + environment: + *vars + secrets: + - source: MATRIX_ACCESS_TOKEN + target: MATRIX_ACCESS_TOKEN + commands: + - shoutrrr send + --url matrix://$${MATRIX_ACCESS_TOKEN}@$${MATRIX_HOST}:$${MATRIX_PORT}/?rooms=$${MATRIX_ROOM} + --message "New image build of $${CI_REPO}, $${CI_COMMIT_TAG}, has failed." + when: + status: [ failure ] diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..89de4a0 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,3 @@ +FROM docker.io/library/nginx:latest +RUN groupmod -g 1000 nginx \ + && usermod -u 1000 nginx diff --git a/README.md b/README.md new file mode 100644 index 0000000..b35de4a --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +Pulls the official Nginx container, and modifies the nginx user to UID=1000 and GID=1000. + +This avoids file permission conflicts when statically serving files owned by other services.