svc:
  domain: "ci.serguzim.me"
  name: woodpecker
  port: 8000
  extra_svcs:
  - domain: agents.ci.serguzim.me
    docker_host: h2c://woodpecker
    port: 9000
  db:
    host: "{{ postgres.host }}"
    port: "{{ postgres.port }}"
    database: woodpecker
    user: "{{ vault_woodpecker.db.user }}"
    pass: "{{ vault_woodpecker.db.pass }}"

svc_env:
  WOODPECKER_OPEN: true
  WOODPECKER_HOST: "https://{{ svc.domain }}"
  WOODPECKER_ADMIN: "serguzim"
  WOODPECKER_AGENT_SECRET: "{{ vault_woodpecker.agent_secret }}"
  WOODPECKER_PROMETHEUS_AUTH_TOKEN: "{{ vault_metrics_token }}"

  WOODPECKER_SERVER: "{{ svc.extra_svcs[0].domain }}:443"
  WOODPECKER_GRPC_SECURE: true

  WOODPECKER_GITEA: true
  WOODPECKER_GITEA_URL: "https://git.serguzim.me"
  WOODPECKER_GITEA_CLIENT: "{{ vault_woodpecker.gitea.client }}"
  WOODPECKER_GITEA_SECRET: "{{ vault_woodpecker.gitea.secret }}"

  WOODPECKER_DATABASE_DRIVER: "postgres"
  WOODPECKER_DATABASE_DATASOURCE: "postgres://{{ svc.db.user }}:{{ svc.db.pass }}@{{ svc.db.host }}:{{ svc.db.port }}/{{ svc.db.database }}?sslmode=verify-full"

compose:
  watchtower: true
  image: woodpeckerci/woodpecker-server
  env: true
  file:
    services:
      agent:
        image: woodpeckerci/woodpecker-agent:latest
        restart: always
        labels:
          com.centurylinklabs.watchtower.enable: true
        command: agent
        env_file:
          - service.env
        depends_on:
          - app
        volumes:
          - /var/run/docker.sock:/var/run/docker.sock
        networks:
          default: