---
# For configuration options and examples, please see:
# https://gethomepage.dev/configs/services/
- System:
    - CPU:
        icon: 
        widget:
          type: iframe
          src: https://panels.vynodehub.com/cpu-panel2.html
          height: 230
    - Memory:
        icon:
        widget:
          type: iframe
          src: https://panels.vynodehub.com/memory-panel2.html
          height: 230
    - Cache:
        icon:
        widget:
          type: iframe
          src: https://panels.vynodehub.com/cache-panel.html
          height: 230
    - Array Storage:
        icon:
        widget:
          type: iframe
          src: https://panels.vynodehub.com/array-panel.html
          height: 220
- Media:
    - Plex Server:
        icon: /icons/plex.png
        href: https://plex.vynodehub.com
        description: Media Server
        widgets:
          - type: tautulli
            url: http://10.0.0.86:8181
            key: 4bd505cb40694a92b903a474fe6ca8d4
            enableUser: true
            showEpisodeNumber: true
          - type: customapi
            url: http://10.0.0.86:8181/api/v2?apikey=4bd505cb40694a92b903a474fe6ca8d4&cmd=get_libraries
            mappings:
              - label: 🎬 Movies
                field: response.data[0].count
              - label: 📺 TV Shows
                field: response.data[1].count
          - type: customapi
            url: http://10.0.0.86:8181/api/v2?apikey=4bd505cb40694a92b903a474fe6ca8d4&cmd=get_activity
            refreshInterval: 10000
            mappings:
              - label: ▶️  Streams
                field: response.data.stream_count
              - label: 🔄 Transcodes
                field: response.data.transcode_count
          - type: customapi
            url: http://10.0.0.86:8181/api/v2?apikey=4bd505cb40694a92b903a474fe6ca8d4&cmd=get_recently_added&count=5
            refreshInterval: 60000
            display: grid
            mappings:
              - field: response.data.recently_added[0].title
              - field: response.data.recently_added[1].title
              - field: response.data.recently_added[2].title
              - field: response.data.recently_added[3].title
              - field: response.data.recently_added[4].title
          - type: iframe
            src: https://panels.vynodehub.com/recent-media5.html
            height: 220
            allowPolicy: "fullscreen; allow-same-origin; allow-scripts"
    - SABnzbd:
        icon: /icons/sab.png
        href: http://10.0.0.86:8080
        description: Download Engine
        widgets:

          # Core widget (speed, queue, status)
          - type: sabnzbd
            url: http://10.0.0.86:8080
            key: 9fc833e1f2a64308b2d81dfc7036bfd1

          # Queue depth + speed
          - type: customapi
            url: http://10.0.0.86:8080/api?mode=queue&output=json&apikey=9fc833e1f2a64308b2d81dfc7036bfd1
            mappings:
              - label: "Queue Items"
                field: queue.noofslots
              - label: "Speed"
                field: queue.kbpersec

          # Current download (this is the money line)
          - type: customapi
            url: http://10.0.0.86:8080/api?mode=queue&output=json&apikey=9fc833e1f2a64308b2d81dfc7036bfd1
            mappings:
              - label: "Downloading"
                field: queue.slots[0].filename
              - label: "Progress"
                field: queue.slots[0].percentage

          # Time remaining
          - type: customapi
            url: http://10.0.0.86:8080/api?mode=queue&output=json&apikey=9fc833e1f2a64308b2d81dfc7036bfd1
            mappings:
              - label: "Time Left"
                field: queue.timeleft

          # History (last completed)
          - type: customapi
            url: http://10.0.0.86:8080/api?mode=history&output=json&apikey=9fc833e1f2a64308b2d81dfc7036bfd1
            mappings:
              - label: "Last Completed"
                field: history.slots[0].name
    - Radarr:
        icon: /icons/radarr.png
        href: https://radarr.vynodehub.com
        container: radarr
        widgets:
          - type: radarr
            url: http://10.0.0.86:7878
            key: f485d26edcf3451f8400d946c0c21256
            enableQueue: true # optional, defaults to false

          # Queue / downloads
          - type: customapi
            url: http://10.0.0.86:7878/api/v3/queue?apikey=f485d26edcf3451f8400d946c0c21256
            mappings:
              - label: "Queue"
                field: totalRecords
              - label: "Current"
                field: records[0].title

          # Upcoming releases
          - type: customapi
            url: http://10.0.0.86:7878/api/v3/calendar?apikey=f485d26edcf3451f8400d946c0c21256
            mappings:
              - label: "Coming"
                field: "[0].title"
              - label: "Date"
                field: "[0].inCinemas"

          # Health alerts
          - type: customapi
            url: http://10.0.0.86:7878/api/v3/health?apikey=f485d26edcf3451f8400d946c0c21256
            mappings:
              - label: "Health"
                field: "[0].source"
 
    - Sonarr:
        icon: /icons/sonarr.png
        href: https://sonarr.vynodehub.com
        container: sonarr
        widgets:
          - type: sonarr
            url: http://10.0.0.86:8989
            key: 8e097d0c2ea642d0a6908b8b1a82dbec
            enableQueue: true # optional, defaults to false   
          # Queue / downloads
          - type: customapi
            url: http://10.0.0.86:8989/api/v3/queue?apikey=8e097d0c2ea642d0a6908b8b1a82dbec
            mappings:
              - label: "Queue"
                field: totalRecords
              - label: "Current"
                field: records[0].title

          # Upcoming episodes
          - type: customapi
            url: http://10.0.0.86:8989/api/v3/calendar?apikey=8e097d0c2ea642d0a6908b8b1a82dbec
            mappings:
              - label: "Coming"
                field: "[0].series.title"
              - label: "Episode"
                field: "[0].title"
              - label: "Air Date"
                field: "[0].airDate"

          # Health alerts
          - type: customapi
            url: http://10.0.0.86:8989/api/v3/health?apikey=8e097d0c2ea642d0a6908b8b1a82dbec
            mappings:
              - label: "Health"
                field: "[0].source"

    - Seerr:
        icon: /icons/seerr.png
        href: https://seerr.vynodehub.com
        container: seerr
        iconStyle: "width: 64px; height: 64px;"
        widget:
          type: seerr
          url: http://10.0.0.86:5055
          key: MTc3NzEzMjIzNDUzNTJkNGQ0ZGIzLTFlN2EtNGExMS05ODJiLTBmYTBmOTAxYzNkZQ==
          enableQueue: true # optional, defaults to false
    - Tautulli:
        icon: /icons/tautulli.png
        href: https://tautulli.vynodehub.com
        container: tautulli
        widget:
          type: tautulli
          url: http://10.0.0.86:8181
          key: 4bd505cb40694a92b903a474fe6ca8d4
          enableUser: true
          showEpisodeNumber: true
