Deploy Woodpecker CI on Ubuntu with Docker â a simple, powerful continuous integration and delivery engine with YAML-based pipeline definitions and Docker-native step execution. Integrates natively with Gitea, GitHub, and GitLab.
Grab the automated bash script from GitHub to follow along with the video.
wget https://raw.githubusercontent.com/mhmdali94/Docker/main/dev/woodpecker/woodpecker-ubuntu.sh
chmod +x woodpecker-ubuntu.sh
sudo bash woodpecker-ubuntu.sh
The script installs Docker, prompts for your Gitea server URL and OAuth credentials, and starts both the Woodpecker server and agent. An agent secret is auto-generated and displayed at the end.
wget https://raw.githubusercontent.com/mhmdali94/Docker/main/dev/woodpecker/woodpecker-ubuntu.sh
chmod +x woodpecker-ubuntu.sh
sudo bash woodpecker-ubuntu.sh
Open your browser and navigate to the Woodpecker dashboard. Click Login â you'll be redirected to your Gitea/GitHub/GitLab instance to authorize the OAuth app:
http://<your-server-ip>:8093
After login, your repositories are listed. Click the toggle next to a repo to activate it for CI/CD. Woodpecker will automatically configure a webhook in your Git provider to trigger pipelines on push events.
Add a .woodpecker.yml file to the root of your repository. Each step runs inside a Docker container:
steps:
- name: build
image: node:20
commands:
- npm install
- npm run build
- name: test
image: node:20
commands:
- npm test
| Port | Purpose |
|---|---|
| 8093 | Woodpecker Web UI & API |
| 9003 | Agent gRPC (internal) |