xoxys.droneci_runner_docker/templates/services/droneci_runner_compose.yml.j2

45 lines
1.6 KiB
Django/Jinja

#jinja2:lstrip_blocks: True
{{ ansible_managed | comment }}
version: "2.4"
services:
droneci_runner_docker:
container_name: {{ droneci_runner_docker_container_name }}
image: {{ droneci_runner_docker_image }}
restart: {{ droneci_runner_docker_restart_policy }}
volumes:
- {{ droneci_runner_docker_socket_path }}:/var/run/docker.sock
{% if droneci_runner_docker_networks_applied | default([]) %}
networks:
{% for network in droneci_runner_docker_networks_applied %}
- {{ network }}
{% endfor %}
{% endif %}
privileged: true
environment:
- DRONE_RPC_PROTO={{ droneci_runner_docker_server_proto }}
- DRONE_RPC_HOST={{ droneci_runner_docker_server_host }}
- DRONE_RPC_SECRET={{ droneci_runner_docker_server_secret }}
- DRONE_RUNNER_CAPACITY={{ droneci_runner_docker_capacity }}
{% if droneci_drone_runner_labels | default([]) | length > 0 %}
- DRONE_RUNNER_LABELS={{ droneci_drone_runner_labels | join(",") }}
{% endif %}
{% if droneci_runner_docker_memory_limit is defined %}
mem_limit: {{ droneci_runner_docker_memory_limit }}
{% endif %}
{% if droneci_runner_docker_memory_reservation is defined %}
mem_reservation: {{ droneci_runner_docker_memory_reservation }}
{% endif %}
{% if droneci_runner_docker_networks | default([]) | length > 0 %}
networks:
{% for network in droneci_runner_docker_networks %}
{{ network.name }}:
{% if network.external | default(False) | bool %}
external: true
{% else %}
driver: {{ network.backend | default("bridge") }}
{% endif %}
{% endfor %}
{% endif %}