1
0
Fork 0
gopoop.org/woodpecker.yaml

98 lines
3.8 KiB
YAML
Executable File

---
- name: Setup Woodpecker CI
hosts: all
vars_files:
- vault.yaml
- vars.yaml
vars:
gitea_url: https://code.sean.wtf
codeberg_url: https://codeberg.org
woodpecker_host: https://ci.sean.wtf
codeberg_woodpecker_host: https://codeberg-ci.sean.wtf
tasks:
- name: Start Personal Woodpecker server
docker_container:
name: "{{ stack_prefix_name }}woodpecker-server"
recreate: true
restart_policy: unless-stopped
image: woodpeckerci/woodpecker-server:v0.15.3-alpine
env:
WOODPECKER_ADMIN: "sean"
WOODPECKER_AGENT_SECRET: "{{ secret_woodpecker_agent_secret }}"
WOODPECKER_GITEA: "true"
WOODPECKER_GITEA_URL: "{{ gitea_url }}"
WOODPECKER_GITEA_CLIENT: "{{ secret_woodpecker_gitea_client }}"
WOODPECKER_GITEA_SECRET: "{{ secret_woodpecker_gitea_secret }}"
WOODPECKER_HOST: "{{ woodpecker_host }}"
mounts:
- source: "{{ stack_prefix_name }}woodpecker_data"
target: /var/lib/woodpecker/
networks:
- name: "{{ stack_prefix_name }}{{ docker_internal_network }}"
- name: "{{ stack_prefix_name }}{{ docker_external_network }}"
state: "{{ container_state }}"
- name: Start Personal Woodpecker Agent
docker_container:
name: "{{ stack_prefix_name }}woodpecker-agent"
recreate: true
restart_policy: unless-stopped
image: woodpeckerci/woodpecker-agent:v0.15.3-alpine
env:
WOODPECKER_AGENT_SECRET: "{{ secret_woodpecker_agent_secret }}"
WOODPECKER_MAX_PROCS: "4"
WOODPECKER_SERVER: "{{ stack_prefix_name }}woodpecker-server:9000"
mounts:
- source: /var/run/docker.sock
target: /var/run/docker.sock
type: bind
networks:
- name: "{{ stack_prefix_name }}{{ docker_internal_network }}"
- name: "{{ stack_prefix_name }}{{ docker_external_network }}"
state: "{{ container_state }}"
- name: Start Codeberg Woodpecker server
docker_container:
name: "{{ stack_prefix_name }}codeberg-woodpecker-server"
recreate: true
restart_policy: unless-stopped
image: woodpeckerci/woodpecker-server:v0.15.3-alpine
env:
WOODPECKER_ADMIN: "sean"
WOODPECKER_AGENT_SECRET: "{{ secret_codeberg_woodpecker_agent_secret }}"
WOODPECKER_GITEA: "true"
WOODPECKER_GITEA_URL: "{{ codeberg_url }}"
WOODPECKER_GITEA_CLIENT: "{{ secret_codeberg_woodpecker_gitea_client }}"
WOODPECKER_GITEA_SECRET: "{{ secret_codeberg_woodpecker_gitea_secret }}"
WOODPECKER_HOST: "{{ codeberg_woodpecker_host }}"
mounts:
- source: "{{ stack_prefix_name }}codeberg-woodpecker_data"
target: /var/lib/woodpecker/
networks:
- name: "{{ stack_prefix_name }}{{ docker_internal_network }}"
- name: "{{ stack_prefix_name }}{{ docker_external_network }}"
state: "{{ container_state }}"
- name: Start Codeberg Woodpecker Agent
docker_container:
name: "{{ stack_prefix_name }}codeberg-woodpecker-agent"
recreate: true
restart_policy: unless-stopped
image: woodpeckerci/woodpecker-agent:v0.15.3-alpine
env:
WOODPECKER_AGENT_SECRET: "{{ secret_codeberg_woodpecker_agent_secret }}"
WOODPECKER_MAX_PROCS: "4"
WOODPECKER_SERVER: "{{ stack_prefix_name }}codeberg-woodpecker-server:9000"
mounts:
- source: /var/run/docker.sock
target: /var/run/docker.sock
type: bind
networks:
- name: "{{ stack_prefix_name }}{{ docker_internal_network }}"
- name: "{{ stack_prefix_name }}{{ docker_external_network }}"
state: "{{ container_state }}"