Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
108 changes: 108 additions & 0 deletions Apps/Spencer/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
---
name: spencer
services:
spencer:
image: ipetinate/spencer:latest
container_name: spencer
restart: unless-stopped
network_mode: bridge
pid: host
ports:
- target: 7070
published: "7070"
protocol: tcp
environment:
- PORT=7070
- TZ=${TZ:-UTC}
- HOST_PROC=/host/proc
- HOST_SYS=/host/sys
- HOST_DEV=/host/dev
- HOST_ROOT=/host/root
volumes:
- type: bind
source: /DATA/AppData/$AppID
target: /data
- type: bind
source: /proc
target: /host/proc
read_only: true
- type: bind
source: /sys
target: /host/sys
read_only: true
- type: bind
source: /dev
target: /host/dev
read_only: true
- type: bind
source: /
target: /host/root
read_only: true
healthcheck:
test: ["CMD", "wget", "-qO-", "http://localhost:7070/api/health"]
interval: 30s
timeout: 3s
retries: 3
start_period: 10s
x-casaos:
ports:
- container: "7070"
description:
en_us: Web dashboard
volumes:
- container: /data
description:
en_us: Persistent data (SQLite database)
- container: /host/proc
description:
en_us: Host /proc (read-only, required for CPU/memory/process metrics)
- container: /host/sys
description:
en_us: Host /sys (read-only, required for temperature sensors)
- container: /host/dev
description:
en_us: Host /dev (read-only, required for disk metrics)
- container: /host/root
description:
en_us: Host / (read-only, required for disk usage metrics)
x-casaos:
architectures:
- amd64
- arm64
main: spencer
store_app_id: spencer
author: ipetinate
category: Utilities
description:
en_us: |
Spencer is a lightweight real-time server monitoring dashboard with a modern UI.

It provides live metrics for CPU (aggregate and per-core), memory, disk, network (per-interface), temperature sensors, GPU (NVIDIA/AMD), and running processes — all in a single-page app with drag-and-drop layout, resizable widgets, and 60 fps sparkline charts.

Features include multiple themes (dark/light with accent color variants), PWA support (installable as a standalone app), configurable UI scale, and a widget visibility manager. All data is served by a Go backend using gopsutil and requires no cloud dependencies — fully self-hosted.

Note: Temperature sensors and GPU monitoring require native Linux (not available inside Docker Desktop on macOS/Windows).
developer: ipetinate
icon: https://cdn.jsdelivr.net/gh/IceWhaleTech/CasaOS-AppStore@main/Apps/Spencer/icon.png
screenshot_link:
- https://cdn.jsdelivr.net/gh/IceWhaleTech/CasaOS-AppStore@main/Apps/Spencer/screenshot-1.png
tagline:
en_us: Real-time server monitor with a modern drag-and-drop UI
thumbnail: https://cdn.jsdelivr.net/gh/IceWhaleTech/CasaOS-AppStore@main/Apps/Spencer/thumbnail.png
tips:
before_install:
en_us: >
Spencer requires access to host system metrics. The volume mounts
(/proc, /sys, /dev, /) and HOST_* environment variables are required
for full functionality. Temperature sensors and GPU monitoring work on
native Linux only.
title:
en_us: Spencer
index: /
port_map: "7070"
scheme: http
version: "0.3.0"
updateAt: "2026-06-08"
website: "https://github.com/ipetinate/spencer"
repo: "https://github.com/ipetinate/spencer"
support: "https://github.com/ipetinate/spencer/issues"
Binary file added Apps/Spencer/icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Apps/Spencer/screenshot-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Apps/Spencer/thumbnail.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading