
Deploy Woodpecker on Your Own Server
Simple CI engine with great extensibility. It runs your pipelines inside Docker containers.
想更快部署 Woodpecker到服务器?试试 Senate,一条命令完成部署,自动配置 HTTPS 和监控。
什么是 Woodpecker?
Woodpecker is a simple CI engine with great extensibility. It is a community fork of the Drone CI system. It runs your pipelines inside Docker containers, so if you are already using them in your daily workflow, you'll love Woodpecker for sure. You should set up `WOODPECKER_HOST` and at least one version control system (e.g. `WOODPECKER_GITEA` for Gitea or `WOODPECKER_GITHUB` for GitHub etc.).
自托管 Woodpecker
按照以下步骤在您的服务器上部署。
安装 Docker
如果服务器上已安装 Docker,可跳过此步骤。
curl -fsSL https://get.docker.com | sh
配置
自定义以下设置。大多数情况下使用默认值即可。
General
部署
复制配置并在服务器上运行。
services:
woodpecker:
image: woodpeckerci/woodpecker-server:pull_1209
environment:
WOODPECKER_ADMIN: ""
WOODPECKER_AGENT_SECRET: c0d9e35995fce4c0306eb50cd438756f
WOODPECKER_AUTHENTICATE_PUBLIC_REPOS: "false"
WOODPECKER_BITBUCKET: "false"
WOODPECKER_BITBUCKET_CLIENT: ""
WOODPECKER_BITBUCKET_SECRET: ""
WOODPECKER_CODING: "false"
WOODPECKER_CODING_CLIENT: ""
WOODPECKER_CODING_GIT_MACHINE: git.coding.net
WOODPECKER_CODING_GIT_PASSWORD: ""
WOODPECKER_CODING_GIT_USERNAME: ""
WOODPECKER_CODING_SCOPE: user, project, project:depot
WOODPECKER_CODING_SECRET: ""
WOODPECKER_CODING_SKIP_VERIFY: "false"
WOODPECKER_CODING_URL: https://coding.net
WOODPECKER_DATABASE_DATASOURCE: woodpecker.sqlite
WOODPECKER_DATABASE_DRIVER: sqlite3
WOODPECKER_DEBUG_NOCOLOR: "true"
WOODPECKER_DEBUG_PRETTY: "false"
WOODPECKER_DEFAULT_CLONE_IMAGE: woodpeckerci/plugin-git:latest
WOODPECKER_DOCKER_CONFIG: ""
WOODPECKER_DOCS: https://woodpecker-ci.org/
WOODPECKER_ESCALATE: plugins/docker,plugins/gcr,plugins/ecr,woodpeckerci/plugin-docker,woodpeckerci/plugin-docker-buildx
WOODPECKER_GITEA: "false"
WOODPECKER_GITEA_CLIENT: ""
WOODPECKER_GITEA_SECRET: ""
WOODPECKER_GITEA_SKIP_VERIFY: "false"
WOODPECKER_GITEA_URL: https://try.gitea.io
WOODPECKER_GITHUB: "false"
WOODPECKER_GITHUB_CLIENT: ""
WOODPECKER_GITHUB_MERGE_REF: "true"
WOODPECKER_GITHUB_SECRET: ""
WOODPECKER_GITHUB_SKIP_VERIFY: "false"
WOODPECKER_GITHUB_URL: https://github.com
WOODPECKER_GITLAB: "false"
WOODPECKER_GITLAB_CLIENT: ""
WOODPECKER_GITLAB_SECRET: ""
WOODPECKER_GITLAB_SKIP_VERIFY: "false"
WOODPECKER_GITLAB_URL: https://gitlab.com
WOODPECKER_GOGS: "false"
WOODPECKER_GOGS_GIT_PASSWORD: ""
WOODPECKER_GOGS_GIT_USERNAME: ""
WOODPECKER_GOGS_PRIVATE_MODE: "false"
WOODPECKER_GOGS_SKIP_VERIFY: "false"
WOODPECKER_GOGS_URL: https://github.com
WOODPECKER_HOST: ""
WOODPECKER_KEEPALIVE_MIN_TIME: ""
WOODPECKER_LIMIT_CPU_QUOTA: "0"
WOODPECKER_LIMIT_CPU_SET: ""
WOODPECKER_LIMIT_CPU_SHARES: "0"
WOODPECKER_LIMIT_MEM: "0"
WOODPECKER_LIMIT_MEM_SWAP: "0"
WOODPECKER_LIMIT_SHM_SIZE: "0"
WOODPECKER_LOG_LEVEL: error
WOODPECKER_OPEN: "false"
WOODPECKER_ORGS: ""
WOODPECKER_PROMETHEUS_AUTH_TOKEN: ""
WOODPECKER_REPO_OWNERS: ""
WOODPECKER_SESSION_EXPIRES: 72h
WOODPECKER_STASH: "false"
WOODPECKER_STASH_CONSUMER_KEY: ""
WOODPECKER_STASH_CONSUMER_RSA: ""
WOODPECKER_STASH_CONSUMER_RSA_STRING: ""
WOODPECKER_STASH_GIT_PASSWORD: ""
WOODPECKER_STASH_GIT_USERNAME: ""
WOODPECKER_STASH_SKIP_VERIFY: "false"
WOODPECKER_STASH_URL: ""
WOODPECKER_STATUS_CONTEXT: ci/woodpecker
volumes:
- woodpecker-server:/var/lib/woodpecker
woodpecker-agent:
environment:
WOODPECKER_AGENT_SECRET: c0d9e35995fce4c0306eb50cd438756f
WOODPECKER_BACKEND: docker
WOODPECKER_DEBUG_NOCOLOR: "true"
WOODPECKER_DEBUG_PRETTY: "false"
WOODPECKER_GRPC_SECURE: "false"
WOODPECKER_GRPC_VERIFY: "true"
WOODPECKER_HEALTHCHECK: "true"
WOODPECKER_HOSTNAME: ""
WOODPECKER_KEEPALIVE_TIME: ""
WOODPECKER_KEEPALIVE_TIMEOUT: 20s
WOODPECKER_LOG_LEVEL: error
WOODPECKER_MAX_PROCS: "1"
WOODPECKER_SERVER: woodpecker:9000
WOODPECKER_USERNAME: x-oauth-basic
volumes:
- /var/run/docker.sock:/var/run/docker.sock
depends_on:
- woodpecker
volumes:
woodpecker-server: {}
然后运行:
docker compose up -d
访问
启动后,访问您的应用: http://localhost:8000
为什么要自托管 Woodpecker?
完全数据所有权
数据保存在您的服务器上,无第三方访问。
无月费
只需支付服务器费用,无按席位或用量收费。
完全控制
按您的需求自定义、备份和扩展。
隐私与合规
满足 GDPR、HIPAA 或内部安全要求。
技术细节
Docker 镜像
woodpeckerci/woodpecker-server:${woodpecker_version}想更快部署?
尝试 Senate!Senate 帮您处理 Docker、HTTPS、更新和监控。一条命令部署 300+ 应用。
在任意 Linux 服务器上安装:
sh -c "$(curl -sSL https://get.senate.sh)"