Self-Hosted · Zero Framework

All-In-One Dashboard

A minimalist self-hosted dashboard for engineers — RSS feeds, weather, stocks, calendars, and global news in a single unified view. Powered by Glance (MIT-licensed, single Go binary).

Self-hosted · own your data YAML · zero-framework config Docker · one-line deploy Dark mode · engineer-native

What is Glance? background

Glance is an open-source self-hosted dashboard that aggregates feeds, widgets, and integrations into one page. Written in Go, packaged as a single binary or Docker image. No accounts, no telemetry, no SaaS lock-in. The reference deployment runs in under 50 MB RAM, serves the dashboard at sub-100 ms TTFB, and is configured entirely through a single YAML file.

For the engineer who keeps 27 tabs open every morning (vendor RSS, Hacker News, weather, calendar, stock ticker, monitoring) — Glance compresses all of it into one URL.

Why for engineers? design

tab compression

One URL, not 27 tabs

RSS, weather, stocks, calendar, news, system status — aggregated into one dense view. Saves ~20 min of morning tab-cycling.

no SaaS

Own your data

Runs on your VPS, NAS, Raspberry Pi, or laptop. No cloud account, no analytics calls, no breach risk.

YAML, not JS

Config > framework

Edit a YAML file; restart container; done. No npm install, no webpack, no docker-compose for a 12-service stack.

dark by default

Engineer aesthetic

Oscilloscope-grade dark theme, monospace data columns, thin-line typography. Looks like an HMI, not a consumer dashboard.

Module catalogue 8 built-in widgets

RSS

RSS Feeds

Aggregate engineering blogs (NVIDIA, Cloudflare, Vercel), vendor advisories (CVE feeds, security bulletins), and industry sources. Auto-deduplicates by URL hash.

weather

Weather

Powered by open-meteo.com — no API key. Current + 7-day forecast for any lat/lon. Plays nicely with self-host privacy stance.

stocks

Stocks / Indices

Live quote tickers via Yahoo Finance fallback (or via the optional ResistanceZero CF Worker once live). Watchlist YAML config: list symbols, see deltas + spark-lines.

calendar

Calendar

ICS-feed-based. Subscribe to your Google Cal / Outlook / iCloud Cal via the public ICS link. Read-only; no OAuth complexity.

news

News Headlines

Hacker News, BBC, Reuters, regional news. RSS-driven; same dedup + freshness logic as the RSS widget but pinned to a "Top News" zone.

monitoring

System Status

Uptime Kuma, Prometheus, Grafana, or custom HTTP-check endpoints. Shows OK/degraded/down chips for your own infrastructure.

videos

YouTube Subscriptions

RSS-based YouTube channel feed. New uploads + thumbnails, no Google account login required, no recommendation algorithm.

custom

Custom Widget

HTML/JS escape hatch. Drop in any custom widget — e.g. live cf-worker data, custom Prometheus query result, your own home-automation feed.

Quickstart deploy in 60 seconds

Docker (recommended)

$ mkdir glance && cd glance
$ wget https://raw.githubusercontent.com/glanceapp/glance/main/docs/glance.yml
$ docker run -d \
    --name glance \
    -p 8080:8080 \
    -v $(pwd)/glance.yml:/app/glance.yml \
    -v $(pwd)/assets:/app/assets \
    --restart unless-stopped \
    glanceapp/glance

# Edit glance.yml to customise widgets, then:
$ docker restart glance

Open http://localhost:8080. That's it. No registration, no signin, no cloud account.

Docker Compose (recommended for production)

services:
  glance:
    image: glanceapp/glance
    container_name: glance
    ports:
      - "8080:8080"
    volumes:
      - ./glance.yml:/app/glance.yml
      - ./assets:/app/assets
    restart: unless-stopped
    # Optional: reverse-proxy via Caddy or Traefik for HTTPS

Add a traefik.enable=true label if you're behind Traefik; or wrap with Caddy/nginx for TLS.

Sample configuration YAML

pages:
  - name: Morning
    columns:
      - size: small
        widgets:
          - type: weather
            location: Jakarta, Indonesia
            units: metric
          - type: calendar
            first-day-of-week: monday
      - size: full
        widgets:
          - type: hacker-news
            limit: 15
          - type: rss
            title: Engineering
            limit: 10
            feeds:
              - url: https://blog.cloudflare.com/rss/
              - url: https://stratechery.com/feed/
              - url: https://blog.vercel.com/rss.xml
      - size: small
        widgets:
          - type: stocks
            stocks:
              - symbol: NVDA
                name: NVIDIA
              - symbol: ASML
                name: ASML
              - symbol: TSM
                name: TSMC
              - symbol: ^GSPC
                name: S&P 500

Three columns — left: weather + calendar; middle: HN + engineering RSS; right: stocks. Restart Glance and reload the page.

Live demo coming soon

Live demo placeholder. A working localhost:8080 demo will be wired here once the ResistanceZero CF Worker (the same one powering the in-flight Finance Terminal — flag rz_ft_v2) is production-ready. The demo will run a publicly cached Glance instance configured with engineering RSS feeds, Jakarta weather, headline indices, Hacker News, and the resistancezero status page.

Why this instead of alternatives? trade-offs

Alternative Where it's better Where Glance wins
Home AssistantReal device control + automationFaster to set up; pure dashboard; no learning curve
Notion homepageBetter notes + docs; rich contentSelf-hosted; faster load; engineer-aesthetic; no SaaS lock-in
Browser start-pageZero install; ad-supportedSingle source for own data; YAML-config; no ads + no tracking
GrafanaTime-series + alertingRSS + news + lifestyle widgets; lighter footprint
Heimdall / DashyApp-launcher focusBetter at content aggregation; lighter JS

Resources links

↗ Glance on GitHub ↗ YAML config docs ↗ Widget docs ← Back to Geopolitics