Full-stack system monitoring dashboard for Linux with AMD GPU support. Features: - Real-time metrics via Server-Sent Events (SSE) - CPU usage per core with frequency and load averages - Memory and swap utilization - Disk usage and I/O activity - Network interfaces with traffic stats - Process list sorted by CPU or memory - Temperature sensors (CPU, GPU, NVMe, motherboard) - AMD GPU monitoring (utilization, VRAM, temp, clocks, power, fan) - Configurable refresh rate (1-60 seconds) Stack: - Backend: Go + Gin, reading from /proc and /sys - Frontend: SvelteKit 5 + Tailwind CSS - Deployment: Docker Compose with host volume mounts 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
34 lines
550 B
Docker
34 lines
550 B
Docker
FROM golang:1.23-alpine AS builder
|
|
|
|
WORKDIR /build
|
|
|
|
# Install git for fetching dependencies
|
|
RUN apk add --no-cache git
|
|
|
|
# Copy go mod files
|
|
COPY go.mod go.sum* ./
|
|
|
|
# Download dependencies
|
|
RUN go mod download || true
|
|
|
|
# Copy source
|
|
COPY . .
|
|
|
|
# Tidy and download any missing deps
|
|
RUN go mod tidy
|
|
|
|
# Build
|
|
RUN CGO_ENABLED=0 GOOS=linux go build -ldflags="-s -w" -o /app/server ./cmd/server
|
|
|
|
# Runtime
|
|
FROM alpine:3.21
|
|
|
|
RUN apk --no-cache add ca-certificates tzdata
|
|
|
|
WORKDIR /app
|
|
COPY --from=builder /app/server .
|
|
|
|
EXPOSE 8080
|
|
|
|
ENTRYPOINT ["/app/server"]
|