# vim: ft=yaml.docker-compose
version: "3.8"

services:
  app:
    image: drone/drone:{{ services.drone.version }}
    restart: unless-stopped
    networks:
      - default
      - external_services
    volumes:
      - ".:/data"
      - "/var/run/docker.sock:/var/run/docker.sock"
    environment:
      DRONE_GITEA_SERVER: https://{{ services.forgejo.domain }}
      DRONE_GITEA_CLIENT_ID: "{{ drone_secrets.oauth_client_id }}"
      DRONE_GITEA_CLIENT_SECRET: "{{ drone_secrets.oauth_client_secret }}"
      DRONE_GIT_ALWAYS_AUTH: true
      DRONE_SERVER_HOST: "{{ services.drone.domain }}"
      DRONE_SERVER_PROTO: https
      DRONE_RPC_SECRET: "{{ drone_secrets.rpc_shared_secret }}"
      VIRTUAL_HOST: "{{ services.drone.domain }}"
      LETSENCRYPT_HOST: "{{ services.drone.domain }}"
      LETSENCRYPT_EMAIL: "{{ letsencrypt_email }}"

  runner:
    image: drone/drone-runner-docker:{{ services.drone.version }}
    restart: unless-stopped
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock"
    environment:
      DRONE_RPC_HOST: "{{ services.drone.domain }}"
      DRONE_RPC_PROTO: https
      DRONE_RPC_SECRET: "{{ drone_secrets.rpc_shared_secret }}"
      DRONE_RUNNER_CAPACITY: 2
      DRONE_RUNNER_NAME: data.coop_drone_runner

networks:
  external_services:
    external: true