Added woodpecker compose file
parent
605f8fdde1
commit
e0391bc861
|
@ -0,0 +1,83 @@
|
|||
version: '2.4'
|
||||
|
||||
services:
|
||||
# The main drone instance
|
||||
app:
|
||||
# Latest version as of writing this document
|
||||
image: 'laszlocloud/woodpecker-server:v0.12.0'
|
||||
restart: 'always'
|
||||
|
||||
depends_on:
|
||||
db:
|
||||
condition: 'service_healthy'
|
||||
healthcheck:
|
||||
test: 'curl -f http://localhost:8000/ || exit 1'
|
||||
interval: '30s'
|
||||
retries: 3
|
||||
timeout: '5s'
|
||||
start_period: '10s'
|
||||
|
||||
environment:
|
||||
# Allow all Gitea users to use it
|
||||
- 'DRONE_OPEN=true'
|
||||
# Drone needs to know its own location
|
||||
- 'DRONE_HOST=${DRONE_HOST}'
|
||||
# Shared secret to communicate with agents
|
||||
- 'DRONE_SECRET=${DRONE_SECRET}'
|
||||
# Tell Drone to use postgres
|
||||
- 'DRONE_DATABASE_DRIVER=postgres'
|
||||
- 'DRONE_DATABASE_DATASOURCE=postgres://woodpecker:woodpecker@db:5432/woodpecker?sslmode=disable'
|
||||
|
||||
# These are just a guess based on the documentation
|
||||
- 'DRONE_GITEA=true'
|
||||
- 'DRONE_GITEA_CLIENT=${GITEA_CLIENT}'
|
||||
- 'DRONE_GITEA_SECRET=${GITEA_SECRET}'
|
||||
networks:
|
||||
- 'default'
|
||||
- 'nginx'
|
||||
ports:
|
||||
# Used to communicate with the agents (I think)
|
||||
- '9000:9000'
|
||||
# Also needs port 8000 for web UI (so proxy_pass to 8000)
|
||||
volumes:
|
||||
- 'server-data:/var/lib/drone'
|
||||
|
||||
# Database for the server
|
||||
db:
|
||||
image: 'postgres:13.2-alpine'
|
||||
restart: 'always'
|
||||
|
||||
healthcheck:
|
||||
test: 'pg_isready -U woodpecker'
|
||||
interval: '30s'
|
||||
timeout: '5s'
|
||||
retries: 3
|
||||
start_period: '0s'
|
||||
|
||||
environment:
|
||||
- 'POSTGRES_DB=woodpecker'
|
||||
- 'POSTGRES_USER=woodpecker'
|
||||
- 'POSTGRES_PASSWORD=woodpecker'
|
||||
|
||||
volumes:
|
||||
- 'db-data:/var/lib/postgresql/data'
|
||||
|
||||
# We can deploy more agents by using the scale command
|
||||
# Each agent can do one parallel build by default
|
||||
agent:
|
||||
image: 'laszlocloud/woodpecker-server:v0.12.0'
|
||||
restart: 'always'
|
||||
command: 'agent'
|
||||
|
||||
depends_on:
|
||||
- 'app'
|
||||
|
||||
environment:
|
||||
- 'DRONE_SERVER=${DRONE_HOST}'
|
||||
- 'DRONE_SECRET=${DRONE_SECRET}'
|
||||
volumes:
|
||||
- '/var/run/docker.sock:/var/run/docker.sock'
|
||||
|
||||
volumes:
|
||||
db-data:
|
||||
server-data:
|
Reference in New Issue