some files
This commit is contained in:
parent
821ca4bc22
commit
8fcfe6e751
13 changed files with 230 additions and 3 deletions
22
.woodpecker/cli-docker.yaml
Normal file
22
.woodpecker/cli-docker.yaml
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: cli-docker
|
||||||
|
image: registry.gitlab.com/mostlybroken/robertusfaber/dockerx-linux:latest
|
||||||
|
privileged: true
|
||||||
|
environment:
|
||||||
|
DOCKER_HOST: docker
|
||||||
|
commands:
|
||||||
|
- echo hallo from inner hehe
|
||||||
|
- echo $DOCKER_HOST
|
||||||
|
- pwd
|
||||||
|
- ls -la
|
||||||
|
- sleep 30
|
||||||
|
- docker compose -f dogfood-debug.yaml run --rm wooposex --log-level TRACE exec --repo-path . ./.woodpecker/cli.yaml
|
||||||
|
|
||||||
|
services:
|
||||||
|
- name: docker
|
||||||
|
image: docker.io/library/docker:dind
|
||||||
|
privileged: true
|
||||||
|
detach: true
|
||||||
|
environment:
|
||||||
|
DOCKER_TLS_CERTDIR: ""
|
15
.woodpecker/cli.yaml
Normal file
15
.woodpecker/cli.yaml
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: cli
|
||||||
|
image: docker.io/woodpeckerci/woodpecker-cli:latest-alpine
|
||||||
|
privileged: true
|
||||||
|
volumes:
|
||||||
|
- /var/run/dind:/var/run/dind
|
||||||
|
environment:
|
||||||
|
DOCKER_HOST: 'unix:///var/run/dind/docker.sock'
|
||||||
|
commands:
|
||||||
|
- echo hallo from inner hehe
|
||||||
|
- pwd
|
||||||
|
- ls -la
|
||||||
|
- ls /woodpecker
|
||||||
|
- /bin/woodpecker-cli --log-level TRACE exec --repo-path . ./.woodpecker/cli.yaml
|
12
.woodpecker/wooposex.yaml
Normal file
12
.woodpecker/wooposex.yaml
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: build
|
||||||
|
image: registry.gitlab.com/mostlybroken/robertusfaber/dockerx-linux:latest
|
||||||
|
commands:
|
||||||
|
- echo "This is the build step"
|
||||||
|
- echo "binary-data-123" > executable
|
||||||
|
- pwd
|
||||||
|
- whoami
|
||||||
|
- ls -la
|
||||||
|
- docker compose up
|
||||||
|
# TODO: mount volume
|
28
README.txt
28
README.txt
|
@ -1,5 +1,27 @@
|
||||||
|
|
||||||
wooposex - Woodpecker compose example
|
wooposex - WOOdpecker comPOSe EXamples
|
||||||
=====================================
|
======================================
|
||||||
|
|
||||||
I'm not good at finding project names.
|
I'm not good at finding project names.
|
||||||
|
|
||||||
|
Examples what you can do with woodpecker/docker/compose.
|
||||||
|
Exists for exploring w/d/c edge cases, compose (syntax) compliance and such things, also for fun or desperation reasons.
|
||||||
|
Everything is run in docker in docker in docker…
|
||||||
|
|
||||||
|
|
||||||
|
applies to all demos:
|
||||||
|
Show the resolved compose configuration:
|
||||||
|
docker compose [-f <scriptname>] config
|
||||||
|
|
||||||
|
When done, remove the docker daemon and leftover containers:
|
||||||
|
docker compose [-f <scriptname>] down --remove-orphans
|
||||||
|
|
||||||
|
|
||||||
|
scriptname command line
|
||||||
|
what it does (or is supposed to do)
|
||||||
|
|
||||||
|
<none> docker compose up -d
|
||||||
|
run the whoole server/agent stack on localhost
|
||||||
|
|
||||||
|
cli.yaml docker compose -f cli.yaml run --rm cli
|
||||||
|
Watch the woodpecker cli running itself in docker
|
||||||
|
|
32
agent.yaml
Normal file
32
agent.yaml
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
services:
|
||||||
|
woodpecker-agent-docker:
|
||||||
|
image: woodpeckerci/woodpecker-agent:latest
|
||||||
|
command: agent
|
||||||
|
restart: unless-stopped
|
||||||
|
depends_on:
|
||||||
|
woodpecker-server:
|
||||||
|
condition: service_healthy
|
||||||
|
network_mode: none
|
||||||
|
volumes:
|
||||||
|
- /etc/timezone:/etc/timezone:ro
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
- docker-run:/var/run/dind
|
||||||
|
environment:
|
||||||
|
DOCKER_HOST: 'unix:///var/run/dind/docker.sock'
|
||||||
|
WOODPECKER_SERVER: 'woodpecker-server:9000'
|
||||||
|
WOODPECKER_AGENT_SECRET: ${WOODPECKER_AGENT_SECRET}
|
||||||
|
|
||||||
|
woodpecker-agent-shell:
|
||||||
|
image: woodpeckerci/woodpecker-agent:latest
|
||||||
|
command: agent
|
||||||
|
restart: unless-stopped
|
||||||
|
depends_on:
|
||||||
|
woodpecker-server:
|
||||||
|
condition: service_healthy
|
||||||
|
volumes:
|
||||||
|
- /etc/timezone:/etc/timezone:ro
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
network_mode: none
|
||||||
|
environment:
|
||||||
|
WOODPECKER_SERVER: 'woodpecker-server:9000'
|
||||||
|
WOODPECKER_AGENT_SECRET: ${WOODPECKER_AGENT_SECRET}
|
21
caddy.yaml
Normal file
21
caddy.yaml
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
services:
|
||||||
|
caddy:
|
||||||
|
image: docker.io/library/caddy:2-alpine
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- "80:80"
|
||||||
|
- "443:443"
|
||||||
|
- "443:443/udp"
|
||||||
|
volumes:
|
||||||
|
- /etc/timezone:/etc/timezone:ro
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
- ./Caddyfile:/etc/caddy/Caddyfile
|
||||||
|
- ./pretalx/public:/srv/pretalx
|
||||||
|
- caddy_data:/data
|
||||||
|
- caddy_config:/config
|
||||||
|
- type: 'volume'
|
||||||
|
source: caddy_talx_run
|
||||||
|
target: /var/run/talx/
|
||||||
|
- type: 'volume'
|
||||||
|
source: caddy_tix_run
|
||||||
|
target: /var/run/tix/
|
20
cli.yaml
Normal file
20
cli.yaml
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
include:
|
||||||
|
- dind.yaml
|
||||||
|
|
||||||
|
services:
|
||||||
|
cli:
|
||||||
|
image: docker.io/woodpeckerci/woodpecker-cli:latest
|
||||||
|
command: exec
|
||||||
|
restart: never
|
||||||
|
working_dir: /wooposex
|
||||||
|
depends_on:
|
||||||
|
dind:
|
||||||
|
condition: service_started
|
||||||
|
network_mode: none
|
||||||
|
volumes:
|
||||||
|
- /etc/timezone:/etc/timezone:ro
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
- docker-run:/var/run/dind
|
||||||
|
- .:/wooposex:ro
|
||||||
|
environment:
|
||||||
|
DOCKER_HOST: 'unix:///var/run/dind/docker.sock'
|
6
compose.yaml
Normal file
6
compose.yaml
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
include:
|
||||||
|
- caddy.yaml
|
||||||
|
- server.yaml
|
||||||
|
- agent.yaml
|
||||||
|
- postgres.yaml
|
||||||
|
- dind.yaml
|
12
dind.yaml
Normal file
12
dind.yaml
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
services:
|
||||||
|
dind:
|
||||||
|
image: docker.io/library/docker:dind
|
||||||
|
privileged: true
|
||||||
|
volumes:
|
||||||
|
- docker-run:/var/run/dind
|
||||||
|
- .:/wooposex
|
||||||
|
environment:
|
||||||
|
DOCKER_HOST: 'unix:///var/run/dind/docker.sock'
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
docker-run:
|
20
dogfood.yaml
Normal file
20
dogfood.yaml
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
include:
|
||||||
|
- dind.yaml
|
||||||
|
|
||||||
|
services:
|
||||||
|
wooposex:
|
||||||
|
image: woodpeckerci/woodpecker-cli:latest
|
||||||
|
command: exec
|
||||||
|
restart: never
|
||||||
|
working_dir: /wooposex
|
||||||
|
depends_on:
|
||||||
|
dind:
|
||||||
|
condition: service_started
|
||||||
|
network_mode: none
|
||||||
|
volumes:
|
||||||
|
- /etc/timezone:/etc/timezone:ro
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
- docker-run:/var/run/dind
|
||||||
|
- .:/wooposex:ro
|
||||||
|
environment:
|
||||||
|
DOCKER_HOST: 'unix:///var/run/dind/docker.sock'
|
1
env-example
Normal file
1
env-example
Normal file
|
@ -0,0 +1 @@
|
||||||
|
POSTGRES_WOODPECKER_PATH=/home/user/projekt/cberg/wooposex/testdata
|
25
postgres.yaml
Normal file
25
postgres.yaml
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
services:
|
||||||
|
woodpecker-db:
|
||||||
|
image: docker.io/library/postgres:16-alpine3.20
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
POSTGRES_PASSWORD: ${POSTGRES_WOODPECKER_PW}
|
||||||
|
POSTGRES_USER: woodpecker
|
||||||
|
POSTGRES_DB: woodpecker
|
||||||
|
POSTGRES_INITDB_ARGS: --encoding=UTF-8 --lc-collate=C --lc-ctype=C
|
||||||
|
network_mode: none
|
||||||
|
volumes:
|
||||||
|
- /etc/timezone:/etc/timezone:ro
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
- type: 'volume'
|
||||||
|
source: postgres_run
|
||||||
|
target: /var/run/postgresql/
|
||||||
|
- postgres_data:/var/lib/postgresql/data
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD", "pg_isready", "-U", "woodpecker", "-d", "woodpecker"]
|
||||||
|
interval: 10s
|
||||||
|
timeout: 5s
|
||||||
|
retries: 5
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
postgres_run:
|
19
server.yaml
Normal file
19
server.yaml
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
services:
|
||||||
|
woodpecker-server:
|
||||||
|
image: woodpeckerci/woodpecker-server:latest
|
||||||
|
network_mode: none
|
||||||
|
depends_on:
|
||||||
|
woodpecker-db:
|
||||||
|
condition: service_healthy
|
||||||
|
volumes:
|
||||||
|
- /etc/timezone:/etc/timezone:ro
|
||||||
|
- /etc/localtime:/etc/localtime:ro
|
||||||
|
- /opt/specht/server/data:/var/lib/woodpecker/
|
||||||
|
environment:
|
||||||
|
- WOODPECKER_OPEN=false
|
||||||
|
- WOODPECKER_HOST=${WOODPECKER_HOST}
|
||||||
|
- WOODPECKER_FORGEJO=true
|
||||||
|
- WOODPECKER_FORGEJO_URL=YOUR_FORGEJO_URL
|
||||||
|
- WOODPECKER_FORGEJO_CLIENT=YOUR_FORGEJO_CLIENT
|
||||||
|
- WOODPECKER_FORGEJO_SECRET=YOUR_FORGEJO_CLIENT_SECRET
|
||||||
|
- WOODPECKER_AGENT_SECRET=${WOODPECKER_AGENT_SECRET}
|
Loading…
Reference in a new issue