All apps · 0 apps
tidbyt-unraid
Docker app from cmalec's Repository
Overview
Readme
View on GitHubTidbyt Unraid Monitor
A self-contained Docker app that displays Unraid server metrics on your Tidbyt device.
Features
- Fully local — runs entirely on your Unraid server (or any Docker host)
- No cloud dependencies — pushes directly to your Tidbyt over WiFi
- Customizable metrics — choose what to display and how often
- Auto-scaling layout — fonts resize dynamically based on how many metrics you enable
- Auto-updating — refreshes on your chosen interval
How It Works
- Fetch — The container queries your Unraid's native GraphQL API for the metrics you've enabled
- Render — It builds a 64x32 WebP image using PIL: metric labels and values in a centered grid layout
- Push — The image is pushed to your Tidbyt device via Tidbyt's HTTP API
- Repeat — Sleeps for
UPDATE_INTERVALseconds and does it again
The renderer dynamically scales fonts to fit your chosen metrics. Fewer metrics = bigger text. More metrics = compact layout.
Supported Metrics
| Metric | Label | Description |
|---|---|---|
cpu |
CPU | CPU load percentage |
ram |
RAM | RAM usage percentage |
array |
ARR | Array state + capacity used |
temps |
TMP | Average disk temperature |
docker |
DKR | Running / total containers |
vms |
VM | Running / total VMs |
uptime |
UP | Server uptime (e.g. 5d3h) |
network |
hostname | Short hostname display |
Note: Only the first 4 metrics are displayed. The renderer uses a grid layout:
- 1 metric → full screen
- 2 metrics → side by side
- 3 metrics → top half + bottom row split
- 4 metrics → 2×2 grid
Display Example

Quick Start
1. Prerequisites
- Unraid server running 7.2+ (native GraphQL API)
- Tidbyt device set up and connected
- Docker enabled/installed
2. Get Your Credentials
Tidbyt:
- Open the Tidbyt app → your device → Settings
- Note your Device ID and API Key
Unraid:
- Unraid 7.2+ exposes a native GraphQL API at
https://tower.local/graphql - Generate an API key in Settings → Management Access → API Keys in the Unraid web UI
3. Run with Docker Compose
# Clone the repo
git clone https://github.com/cmalec/tidbyt-unraid.git
cd tidbyt-unraid
# Edit environment variables
nano docker-compose.yml
# Pull and run from GitHub Container Registry
docker-compose up -d
Or use docker run:
docker run -d \
--name tidbyt-unraid \
--restart unless-stopped \
-e UNRAID_URL=https://tower.local \
-e UNRAID_API_KEY=your-key \
-e TIDBYT_DEVICE_ID=your-device-id \
-e TIDBYT_API_KEY=your-api-key \
-e UPDATE_INTERVAL=3600 \
-e METRICS=cpu,ram,array,uptime \
ghcr.io/cmalec/tidbyt-unraid:latest
To build locally instead, use docker build -t tidbyt-unraid:latest . and update the image name in docker-compose.yml.
4. Environment Variables
| Variable | Required | Default | Description |
|---|---|---|---|
UNRAID_URL |
Yes | — | Unraid server URL (e.g. https://tower.local) |
UNRAID_API_KEY |
Yes | — | API key for authentication |
TIDBYT_DEVICE_ID |
Yes | — | Your Tidbyt device ID |
TIDBYT_API_KEY |
Yes | — | Your Tidbyt API key |
UPDATE_INTERVAL |
No | 3600 (1 hour) |
Seconds between updates |
METRICS |
No | cpu,ram,array,uptime |
Comma-separated list of metrics |
TEMP_UNIT |
No | F |
Temperature unit (C or F) |
TZ |
No | America/Los_Angeles |
Timezone for logs |
5. Installing on Unraid
- Go to Apps → search for "Tidbyt Unraid" (if published) or use the Community Applications template
- Fill in the environment variables
- Apply
Or manually add as a custom Docker container with the variables above.
Customizing Metrics
To change what appears on your Tidbyt, edit the METRICS environment variable. It's a comma-separated list with no spaces. After changing METRICS, restart the container. The layout auto-scales with 1 metric → full screen, 2 metrics → side by side, 3 metrics → top half + bottom row split, 4 metrics → 2×2 grid.
Example Logs
==================================================
Tidbyt Unraid Monitor
==================================================
Unraid URL: http://ip.example
Tidbyt Device: your-device-id
Update interval: 3600s
Metrics: cpu, ram, docker, vms
==================================================
Fetching Unraid metrics...
Rendering image...
Pushing to Tidbyt...
Push result: {}
Sleeping 3600s...
Troubleshooting
Connection refused to Unraid:
- Verify
UNRAID_URLpoints to your Unraid server (default:https://tower.local) - Ensure the API key is valid in Settings → Management Access → API Keys
Push fails:
- Double-check your
TIDBYT_DEVICE_IDandTIDBYT_API_KEY - Ensure your Tidbyt is online and connected to WiFi
Self-signed certificate errors:
- The app disables SSL verification for Unraid connections (Unraid uses self-signed certs by default)
Media gallery
Install tidbyt-unraid on Unraid in a few clicks.
Find tidbyt-unraid in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.
Categories
Related apps
Explore more like this
Explore allDetails
ghcr.io/cmalec/tidbyt-unraid:latestRuntime arguments
- Network
bridge- Privileged
- false
Template configuration
Your Unraid server URL (e.g. https://tower.local or http://192.168.1.100)
- Target
- UNRAID_URL
API key from Unraid (Settings → Management Access → API Keys)
- Target
- UNRAID_API_KEY
Your Tidbyt device ID (from Tidbyt app)
- Target
- TIDBYT_DEVICE_ID
Your Tidbyt API key (from Tidbyt app settings)
- Target
- TIDBYT_API_KEY
Seconds between updates (default 1hr)
- Target
- UPDATE_INTERVAL
- Default
- 3600
Comma-separated, max 4: cpu,ram,array,temps,docker,vms,uptime,network
- Target
- METRICS
- Default
- cpu,ram,array,uptime
C or F
- Target
- TEMP_UNIT
- Default
- F
Timezone for logs
- Target
- TZ
- Default
- America/Los_Angeles