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