ansible/roles/docker/tasks/services/woodpecker.yml

42 lines
1.5 KiB
YAML

# vim: ft=yaml.ansible
---
- name: Set up Woodpecker CI with Docker runner
docker_compose:
project_name: woodpecker
pull: true
definition:
version: "3.8"
services:
server:
image: "woodpeckerci/woodpecker-server:{{ services.woodpecker.server_version }}"
restart: always
networks:
- default
- external_services
volumes:
- "{{ services.woodpecker.volume_folder }}:/data"
- "/var/run/docker.sock:/var/run/docker.sock"
environment:
WOODPECKER_GITEA: "true"
WOODPECKER_GITEA_URL: "https://{{ services.gitea.domain }}"
WOODPECKER_GITEA_CLIENT: "{{ woodpecker_secrets.oauth_client_id }}"
WOODPECKER_GITEA_SECRET: "{{ woodpecker_secrets.oauth_client_secret }}"
WOODPECKER_HOST: "https://{{ services.woodpecker.domain }}"
WOODPECKER_AGENT_SECRET: "{{ woodpecker_secrets.agent_secret }}"
VIRTUAL_HOST: "{{ services.woodpecker.domain }}"
LETSENCRYPT_HOST: "{{ services.woodpecker.domain }}"
LETSENCRYPT_EMAIL: "{{ letsencrypt_email }}"
agent:
image: "woodpeckerci/woodpecker-agent:{{ services.woodpecker.agent_version }}"
restart: always
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
environment:
WOODPECKER_SERVER: "server:9000"
WOODPECKER_AGENT_SECRET: "{{ woodpecker_secrets.agent_secret }}"
networks:
external_services:
external: true