aboutsummaryrefslogtreecommitdiff
path: root/application.yml
blob: bceb3fd3dceae0c7eb39bbcba344bd331b89160b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
server:
    port: 2333
    address: 127.0.0.1
    http2:
        enabled: false

plugins:
    youtube:
        enabled: true
        allowSearch: true
        allowDirectVideoIds: true
        allowDirectPlaylistIds: true
        clients:
            - MUSIC
            - ANDROID_VR
            - WEB
            - WEBEMBEDDED
        pot: # https://github.com/iv-org/youtube-trusted-session-generator
            token: ""
            visitorData: ""
    lavasrc:
        providers:
            - "scsearch:\"%ISRC%\""
            - "scsearch:%QUERY%"
            - "dzisrc:\"%ISRC%\""
            - "dzsearch:%QUERY%"
        sources:
            spotify: false
            applemusic: false
            deezer: true
            yandexmusic: false
            flowerytts: false
            youtube: false
        deezer:
            masterDecryptionKey: "" # Find on your own
            arl: "" # Guides can be found, use Google
            formats: [ "MP3_128", "MP3_64" ] # "FLAC", "MP3_320", "MP3_256", & "AAC_64" require premium and valid arl

lavalink:
    plugins:
        - dependency: "dev.lavalink.youtube:youtube-plugin:5ce67f60c656e0dc60687ea7b471663c8718ea1c"
          repository: "https://maven.kikkia.dev/snapshots"
          snapshot: true
        - dependency: "com.github.topi314.lavasrc:lavasrc-plugin:4.4.2"
          snapshot: false

    server:
        password: "youshallnotpass"
        sources:
            youtube: false
            bandcamp: true
            soundcloud: true
            twitch: true
            vimeo: true
            http: true
            local: false
        filters:
            volume: false
            equalizer: false
            karaoke: false
            timescale: false
            tremolo: false
            vibrato: false
            distortion: false
            rotation: false
            channelMix: false
            lowPass: false

        bufferDurationMs: 400 # The duration of the NAS buffer. Higher values fare better against longer GC pauses. Duration <= 0 to disable JDA-NAS. Minimum of 40ms, lower values may introduce pauses.
        frameBufferDurationMs: 8000 # How many milliseconds of audio to keep buffered
        opusEncodingQuality: 10 # Opus encoder quality. Valid values range from 0 to 10, where 10 is best quality but is the most expensive on the CPU.
        resamplingQuality: LOW # Quality of resampling operations. Valid values are LOW, MEDIUM and HIGH, where HIGH uses the most CPU.
        trackStuckThresholdMs: 10000 # The threshold for how long a track can be stuck. A track is stuck if does not return any audio data.
        useSeekGhosting: true # Seek ghosting is the effect where whilst a seek is in progress, the audio buffer is read from until empty, or until seek is ready.
        youtubePlaylistLoadLimit: 3 # Number of pages at 100 each
        playerUpdateInterval: 5 # How frequently to send player updates to clients, in seconds
        youtubeSearchEnabled: true
        soundcloudSearchEnabled: true
        gc-warnings: true
        # ratelimit:
        #     ipBlocks: [""] # list of ip blocks
        #     excludedIps: [] # ips which should be explicit excluded from usage by lavalink
        #     strategy: "LoadBalance" # RotateOnBan | LoadBalance | NanoSwitch | RotatingNanoSwitch
        #     searchTriggersFail: true # Whether a search 429 should trigger marking the ip as failing
        #     retryLimit: -1 # -1 = use default lavaplayer value | 0 = infinity | >0 = retry will happen this numbers times
        # httpConfig: # Useful for blocking bad-actors from ip-grabbing your music node and attacking it, this way only the http proxy will be attacked
        #     proxyHost: "localhost" # Hostname of the proxy, (ip or domain)
        #     proxyPort: 3128 # Proxy port, 3128 is the default for squidProxy
        #     proxyUser: "" # Optional user for basic authentication fields, leave blank if you don't use basic auth
        #     proxyPassword: "" # Password for basic authentication

metrics:
    prometheus:
        enabled: false
        endpoint: /metrics

sentry:
    dsn: ""
    environment: ""
    # tags:
    #     some_key: some_value
    #     another_key: another_value

logging:
    file:
        path: ./logs/

    level:
        root: INFO
        lavalink: INFO

    request:
        enabled: true
        includeClientInfo: true
        includeHeaders: false
        includeQueryString: true
        includePayload: true
        maxPayloadLength: 10000

    logback:
        rollingpolicy:
            max-file-size: 1GB
            max-history: 30