Add initial setup
This commit is contained in:
parent
295059806d
commit
84bfc0d0fc
3 changed files with 131 additions and 0 deletions
|
|
@ -1,2 +1,3 @@
|
||||||
# woodpecker-ci
|
# woodpecker-ci
|
||||||
|
|
||||||
|
Deployment for Woodpecker CI
|
||||||
|
|
|
||||||
81
playbook.yml
Normal file
81
playbook.yml
Normal file
|
|
@ -0,0 +1,81 @@
|
||||||
|
- hosts: localhost
|
||||||
|
tasks:
|
||||||
|
- name: create required directories
|
||||||
|
become: true
|
||||||
|
file:
|
||||||
|
path: '{{ item.path }}'
|
||||||
|
state: '{{ item.state }}'
|
||||||
|
mode: '{{ item.mode }}'
|
||||||
|
owner: '{{ item.owner }}'
|
||||||
|
group: '{{ item.group }}'
|
||||||
|
loop:
|
||||||
|
- {
|
||||||
|
path: '{{ app_dir }}',
|
||||||
|
owner: sonny,
|
||||||
|
group: sonny,
|
||||||
|
state: directory,
|
||||||
|
mode: 755
|
||||||
|
}
|
||||||
|
|
||||||
|
- name: copy docker-compose file
|
||||||
|
template:
|
||||||
|
src: 'templates/docker-compose.j2'
|
||||||
|
dest: '{{ app_dir }}/docker-compose.yml'
|
||||||
|
|
||||||
|
- name: stop woodpecker-ci
|
||||||
|
command: docker compose --file docker-compose.yml down
|
||||||
|
args:
|
||||||
|
chdir: '{{ app_dir }}'
|
||||||
|
|
||||||
|
- name: pull {{ image_tag }}
|
||||||
|
command: docker compose --file docker-compose.yml pull
|
||||||
|
args:
|
||||||
|
chdir: '{{ app_dir }}'
|
||||||
|
|
||||||
|
- name: start woodpecker-ci
|
||||||
|
command: docker compose --file docker-compose.yml up --detach
|
||||||
|
args:
|
||||||
|
chdir: '{{ app_dir }}'
|
||||||
|
|
||||||
|
vars:
|
||||||
|
domain: 'woodpecker.fudiggity.nl'
|
||||||
|
|
||||||
|
image_tag: 'woodpeckerci/woodpecker-server:v2.8.0'
|
||||||
|
agent_tag: 'woodpeckerci/woodpecker-agent:v2.8.0'
|
||||||
|
|
||||||
|
postgres_user: woodpecker
|
||||||
|
postgres_name: woodpecker
|
||||||
|
|
||||||
|
app_dir: '/srv/docker/woodpecker'
|
||||||
|
|
||||||
|
woodpecker_forgejo_url: https://forgejo.fudiggity.nl
|
||||||
|
woodpecker_forgejo_client: f467d6ee-6095-4c90-9d14-674d60b07183
|
||||||
|
woodpecker_forgejo_secret: !vault |
|
||||||
|
$ANSIBLE_VAULT;1.1;AES256
|
||||||
|
62356630626162303634613865313562333538353866643234623239656366366333353164326262
|
||||||
|
3633363836323134356264343731643661353865323232640a346161336134636466653932303663
|
||||||
|
33356431633266633335353737663363353938613730613030393636363965363735623439356463
|
||||||
|
3730616535313564350a393462666630613233643433333433646662383831396139303764393734
|
||||||
|
36353238383965616135663631303933313561653662393734313934623261346661613936303165
|
||||||
|
64663064643063663964393962316436666336373139333232333537303034346262376631643562
|
||||||
|
666637613833363639386433663464386239
|
||||||
|
|
||||||
|
woodpecker_agent_secret: !vault |
|
||||||
|
$ANSIBLE_VAULT;1.1;AES256
|
||||||
|
62323937303564623931616630633864666435353335346262303761346132356461333938623461
|
||||||
|
3236306164663135333362643664313136306238643062330a363862623138613932363935613231
|
||||||
|
37323637646666653961376533356639666262613630323261333030323834343831376435373534
|
||||||
|
6635616637306133650a656365633538643232303866346466373135653364333332373061633034
|
||||||
|
38383564653265303437393665303830343238663336386163653332336662383464366239643765
|
||||||
|
66353261343339333664346334393036646134373066343636303136383063373432646537646236
|
||||||
|
393032346237326134303933336565343338
|
||||||
|
|
||||||
|
postgres_password: !vault |
|
||||||
|
$ANSIBLE_VAULT;1.1;AES256
|
||||||
|
34613464623532313861303136613838616335643034386262343036353935646364623239663061
|
||||||
|
3730646236326435313630323234633363333333616333640a383361613335343930343866353361
|
||||||
|
32356165333961663436356433663733363865383932613365636137326534313136333230366364
|
||||||
|
3137326562316337350a363537336265303438643637663465366333353633383865623463326632
|
||||||
|
66343963666231343835663438303562643635643738366335313736666136373136666164316566
|
||||||
|
30623366616261636261386538333537653063393264643465383830613536343134346364373734
|
||||||
|
336135623065323164623639646365343339
|
||||||
49
templates/docker-compose.j2
Normal file
49
templates/docker-compose.j2
Normal file
|
|
@ -0,0 +1,49 @@
|
||||||
|
# {{ ansible_managed }}
|
||||||
|
|
||||||
|
services:
|
||||||
|
woodpecker-server:
|
||||||
|
image: {{ image_tag }}
|
||||||
|
ports:
|
||||||
|
- 7000:8000
|
||||||
|
volumes:
|
||||||
|
- woodpecker-server-data:/var/lib/woodpecker/
|
||||||
|
depends_on:
|
||||||
|
- db
|
||||||
|
environment:
|
||||||
|
WOODPECKER_OPEN: true
|
||||||
|
WOODPECKER_HOST: 'https://{{ domain }}'
|
||||||
|
WOODPECKER_AGENT_SECRET: {{ woodpecker_agent_secret }}
|
||||||
|
WOODPECKER_DATABASE_DRIVER: postgres
|
||||||
|
WOODPECKER_DATABASE_DATASOURCE: postgres://{{ postgres_user }}:{{ postgres_password }}@db:5432/postgres?sslmode=disable
|
||||||
|
WOODPECKER_FORGEJO: true
|
||||||
|
WOODPECKER_FORGEJO_URL: {{ woodpecker_forgejo_url }}
|
||||||
|
WOODPECKER_FORGEJO_CLIENT: {{ woodpecker_forgejo_client }}
|
||||||
|
WOODPECKER_FORGEJO_SECRET: {{ woodpecker_forgejo_secret }}
|
||||||
|
|
||||||
|
db:
|
||||||
|
image: postgres:17
|
||||||
|
restart: always
|
||||||
|
environment:
|
||||||
|
POSTGRES_USER: {{ postgres_user }}
|
||||||
|
POSTGRES_PASSWORD: {{ postgres_password }}
|
||||||
|
POSTGRES_DB: {{ postgres_name }}
|
||||||
|
volumes:
|
||||||
|
- postgres-data:/var/lib/postgresql/data
|
||||||
|
|
||||||
|
woodpecker-agent:
|
||||||
|
image: {{ agent_tag }}
|
||||||
|
command: agent
|
||||||
|
restart: always
|
||||||
|
depends_on:
|
||||||
|
- woodpecker-server
|
||||||
|
volumes:
|
||||||
|
- woodpecker-agent-config:/etc/woodpecker
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
environment:
|
||||||
|
WOODPECKER_SERVER: woodpecker-server:9000
|
||||||
|
WOODPECKER_AGENT_SECRET: {{ woodpecker_agent_secret }}
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
woodpecker-server-data:
|
||||||
|
woodpecker-agent-config:
|
||||||
|
postgres-data:
|
||||||
Reference in a new issue