73 lines
2.0 KiB
YAML
73 lines
2.0 KiB
YAML
---
|
|
- name: Create rootdir
|
|
ansible.builtin.file:
|
|
path: "{{ woodpecker_rootdir }}"
|
|
state: directory
|
|
owner: root
|
|
group: root
|
|
mode: 0755
|
|
|
|
- name: Template server.env-file
|
|
ansible.builtin.template:
|
|
src: server.env.j2
|
|
dest: "{{ woodpecker_rootdir }}/server.env"
|
|
owner: root
|
|
group: root
|
|
mode: 0644
|
|
trim_blocks: false
|
|
|
|
- name: Create the woodpecker network
|
|
community.docker.docker_network:
|
|
name: woodpecker-net
|
|
|
|
- name: Create and start the woodpecker-server container
|
|
community.docker.docker_container:
|
|
name: woodpecker-server
|
|
restart_policy: always
|
|
pull: true
|
|
cap_drop: all
|
|
networks:
|
|
- name: woodpecker-net
|
|
published_ports:
|
|
- 8000:8000
|
|
volumes:
|
|
- "{{ woodpecker_rootdir }}/data:/var/lib/woodpecker"
|
|
env_file: "{{ woodpecker_rootdir }}/server.env"
|
|
image: "woodpeckerci/woodpecker-server:{{ woodpecker_version }}"
|
|
|
|
- name: Create and start the woodpecker-agent container
|
|
community.docker.docker_container:
|
|
name: woodpecker-agent
|
|
restart_policy: always
|
|
pull: true
|
|
userns_mode: host
|
|
privileged: true
|
|
networks:
|
|
- name: woodpecker-net
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
env:
|
|
WOODPECKER_SERVER: woodpecker-server:9000
|
|
WOODPECKER_AGENT_SECRET: "{{ woodpecker_agent_secret }}"
|
|
WOODPECKER_MAX_PROCS: "{{ woodpecker_agent_max_procs }}"
|
|
image: "woodpeckerci/woodpecker-agent:{{ woodpecker_version }}"
|
|
|
|
- name: Create and start the watchtower container if wanted
|
|
docker_container:
|
|
name: watchtower
|
|
restart_policy: always
|
|
pull: true
|
|
networks:
|
|
- name: woodpecker-net
|
|
userns_mode: host
|
|
privileged: true
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
env:
|
|
WATCHTOWER_CLEANUP: "true"
|
|
WATCHTOWER_SCHEDULE: "{{ woodpecker_watchtower_schedule }}"
|
|
WATCHTOWER_NO_STARTUP_MESSAGE: "true"
|
|
TZ: Europe/Berlin
|
|
image: containrrr/watchtower:latest
|
|
when: woodpecker_watchtower | bool
|