From d3558d02080f3d8d8dd43a4c8008bb64df7a21a3 Mon Sep 17 00:00:00 2001 From: Yann Autissier Date: Tue, 18 Nov 2025 05:02:12 +0100 Subject: [PATCH] add woodpecker stack --- .../woodpeckerci/woodpecker-agent.latest.yml | 5 +++ stack/woodpeckerci/woodpecker-agent.yml | 20 +++++++++ .../woodpeckerci/woodpecker-server.latest.yml | 5 +++ stack/woodpeckerci/woodpecker-server.yml | 44 +++++++++++++++++++ stack/woodpeckerci/woodpecker.mk | 8 ++++ 5 files changed, 82 insertions(+) create mode 100644 stack/woodpeckerci/woodpecker-agent.latest.yml create mode 100644 stack/woodpeckerci/woodpecker-agent.yml create mode 100644 stack/woodpeckerci/woodpecker-server.latest.yml create mode 100644 stack/woodpeckerci/woodpecker-server.yml create mode 100644 stack/woodpeckerci/woodpecker.mk diff --git a/stack/woodpeckerci/woodpecker-agent.latest.yml b/stack/woodpeckerci/woodpecker-agent.latest.yml new file mode 100644 index 0000000..097c4fd --- /dev/null +++ b/stack/woodpeckerci/woodpecker-agent.latest.yml @@ -0,0 +1,5 @@ +version: '3.6' + +services: + agent: + image: woodpeckerci/woodpecker-agent:v3 diff --git a/stack/woodpeckerci/woodpecker-agent.yml b/stack/woodpeckerci/woodpecker-agent.yml new file mode 100644 index 0000000..6f603f3 --- /dev/null +++ b/stack/woodpeckerci/woodpecker-agent.yml @@ -0,0 +1,20 @@ +version: '3.6' + +services: + agent: + command: agent + depends_on: + server: + condition: service_healthy + environment: + - WOODPECKER_AGENT_SECRET=${WOODPECKER_AGENT_SECRET} + - WOODPECKER_SERVER=${WOODPECKER_SERVER:-server:9000} + - WOODPECKER_MAX_WORKFLOWS=${WOODPECKER_MAX_WORKFLOWS:-2} + networks: + - private + restart: always + volumes: + - agent-config:/etc/woodpecker + - ${DOCKER_SOCKET_LOCATION:-/var/run/docker.sock}:/var/run/docker.sock +volumes: + agent-config: diff --git a/stack/woodpeckerci/woodpecker-server.latest.yml b/stack/woodpeckerci/woodpecker-server.latest.yml new file mode 100644 index 0000000..5d815e1 --- /dev/null +++ b/stack/woodpeckerci/woodpecker-server.latest.yml @@ -0,0 +1,5 @@ +version: '3.6' + +services: + server: + image: woodpeckerci/woodpecker-server:v3 diff --git a/stack/woodpeckerci/woodpecker-server.yml b/stack/woodpeckerci/woodpecker-server.yml new file mode 100644 index 0000000..76cab51 --- /dev/null +++ b/stack/woodpeckerci/woodpecker-server.yml @@ -0,0 +1,44 @@ +version: '3.6' + +services: + server: + environment: + - WOODPECKER_ADMIN=${WOODPECKER_ADMIN:-} + - WOODPECKER_AGENT_SECRET=${WOODPECKER_AGENT_SECRET} + - WOODPECKER_GITEA=${WOODPECKER_GITEA:-false} + - WOODPECKER_GITEA_CLIENT=${WOODPECKER_GITEA_CLIENT:-} + - WOODPECKER_GITEA_SECRET=${WOODPECKER_GITEA_SECRET:-} + - WOODPECKER_GITEA_URL=${WOODPECKER_GITEA_URL:-} + - WOODPECKER_GITHUB=${WOODPECKER_GITHUB:-false} + - WOODPECKER_GITHUB_CLIENT=${WOODPECKER_GITHUB_CLIENT:-} + - WOODPECKER_GITHUB_SECRET=${WOODPECKER_GITHUB_SECRET:-} + - WOODPECKER_GITHUB_URL=${WOODPECKER_GITHUB_URL:-https://github.com} + - WOODPECKER_GITLAB=${WOODPECKER_GITLAB:-false} + - WOODPECKER_GITLAB_CLIENT=${WOODPECKER_GITLAB_CLIENT:-} + - WOODPECKER_GITLAB_SECRET=${WOODPECKER_GITLAB_SECRET:-} + - WOODPECKER_GITLAB_URL=${WOODPECKER_GITLAB_URL:-https://gitlab.com} + - WOODPECKER_GRPC_ADDR=${WOODPECKER_GRPC_ADDR:-:9000} + - WOODPECKER_GRPC_SECURE=${WOODPECKER_GRPC_SECURE:-false} + - WOODPECKER_GRPC_VERIFY=${WOODPECKER_GRPC_VERIFY:-true} + - WOODPECKER_HOST=${WOODPECKER_HOST:-} + - WOODPECKER_LOG_LEVEL=${WOODPECKER_LOG_LEVEL:-info} + - WOODPECKER_OPEN=${WOODPECKER_OPEN:-true} + - WOODPECKER_ORGS=${WOODPECKER_ORGS:-} + - WOODPECKER_REPO_OWNERS=${WOODPECKER_REPO_OWNERS:-} + - WOODPECKER_SERVER_ADDR=${WOODPECKER_SERVER_ADDR:-:8000} + - WOODPECKER_SERVER_ADDR_TLS=${WOODPECKER_SERVER_ADDR_TLS:-:8443} + labels: + - SERVICE_8000_CHECK_HTTP=/healthz + - SERVICE_8000_NAME=${COMPOSE_SERVICE_NAME}-server-8000 + - SERVICE_8000_TAGS=${WOODPECKER_SERVICE_8000_TAGS:-} + networks: + - private + - public + ports: + - 8000 + restart: always + volumes: + - server-data:/var/lib/woodpecker + +volumes: + server-data: diff --git a/stack/woodpeckerci/woodpecker.mk b/stack/woodpeckerci/woodpecker.mk new file mode 100644 index 0000000..62f476b --- /dev/null +++ b/stack/woodpeckerci/woodpecker.mk @@ -0,0 +1,8 @@ +# https://github.com/woodpecker-ci/woodpecker/blob/main/docs/docs/30-administration/10-configuration/10-server.md +woodpecker ?= woodpeckerci/woodpecker-server woodpeckerci/woodpecker-agent +ENV_VARS += WOODPECKER_ADMIN WOODPECKER_HOST WOODPECKER_SERVICE_8000_TAGS +WOODPECKER_ADMIN ?= $(GIT_USER) +WOODPECKER_HOST ?= $(APP_SCHEME)://$(WOODPECKER_SERVICE_NAME).$(firstword $(APP_HOST)) +WOODPECKER_SERVICE_NAME ?= woodpecker +WOODPECKER_SERVICE_8000_NAME ?= $(WOODPECKER_SERVICE_NAME) +WOODPECKER_SERVICE_8000_TAGS ?= $(call tagprefix,woodpecker,8000)