GrubDrops

Self-hosted Twitch & Kick
drops miner

Set it once and forget it. GrubDrops banks the watch-time, auto-claims drops, and switches channels across multiple accounts. Web UI, one docker compose up.

Go + Docker HTMX web UI runs on a Raspberry Pi self-hosted
GrubDrops console: watch-time stats and per-account mining across Twitch and Kick
Drops catalog with one-click whitelisting Per-account game whitelist and priority

What it does

🎯 Whitelist-driven

It only mines games you opt into, global or per account. Nothing else burns watch-time.

🟣🟢 Twitch and Kick

Several accounts on each platform, all tracked on one page.

✅ Game-aware

Confirms the stream is on the right game before crediting, so you never mine the wrong channel.

🔒 Your credentials stay yours

Twitch uses the official device-code login; Kick uses a session you export. No passwords sent anywhere.

🔔 Discord notifications

Per-event-type toggles for claims, auth, and discovery.

🥧 Light enough for a Pi

One Go binary and a SQLite file. arm64 images ship for Raspberry Pi.

Run it

Published image, single compose file. Open http://localhost:8080 and create the admin login.

services:
  miner:
    image: ghcr.io/aalejandrofer/grubdrops:latest
    restart: unless-stopped
    ports: ["8080:8080"]
    environment:
      GRUB_MASTER_KEY: ${GRUB_MASTER_KEY:?run: head -c32 /dev/urandom | base64}
      GRUB_DB_PATH: /data/miner.db
    volumes:
      - ./data:/data
      - /var/run/docker.sock:/var/run/docker.sock