---
teamspeak_fallback_check_server: ts.sneiso.eu
teamspeak_fallback_check_port: 30033

teamspeak_fallback_webhook_token: "{{ vault_teamspeak_fallback.webhook_token }}"

teamspeak_fallback_user: 9987
teamspeak_fallback_group: 9987

teamspeak_fallback_svc:
  domain: "{{ all_services | service_get_domain(role_name) }}"
  additional_domains:
    - hook.serguzim.me
  port: 9000

teamspeak_fallback_env:
  TEAMSPEAK_USER: "{{ teamspeak_fallback_user }}"
  TEAMSPEAK_GROUP: "{{ teamspeak_fallback_group }}"

teamspeak_fallback_yml:
  - id: teamspeak-fallback-db
    trigger-rule-mismatch-http-response-code: 400
    execute-command: /config/teamspeak-fallback-db
    pass-file-to-command:
      - source: payload
        name: data
        envname: WEBHOOK_DATA
        base64decode: true
    trigger-rule:
      and:
        - match:
            type: value
            value: "{{ teamspeak_fallback_webhook_token }}"
            parameter:
              source: header
              name: X-Webhook-Token

teamspeak_fallback_compose:
  watchtower: update
  image: ghcr.io/thecatlady/webhook
  volumes:
    - ./config:/config:ro
    - data:/mnt/teamspeak_fallback_data
  file:
    services:
      app:
        command: ["-verbose", "-hooks=/config/hooks.yml"]
      teamspeak:
        image: teamspeak
        restart: always
        ports:
          - 9987:9987/udp
          - 10011:10011
          - 30033:30033
        environment:
          TS3SERVER_DB_PLUGIN: ts3db_sqlite3
          TS3SERVER_DB_SQLCREATEPATH: create_sqlite
          TS3SERVER_LICENSE: accept
        volumes:
          - data:/var/ts3server/
    volumes:
      data: