Skip to content

Dashboard

The Dashboard stack, which includes the dashboard-homepage and dashboard-glances containers, offers dashboards displaying application shortcuts and server metrics.

ServiceURLPurposeProject
glancesmetrics.fjellhei.menServer metricsnicolargo/glances
homepagefjellhei.menMain dashboardgethomepage.dev

"Glances is a tool that lets you monitor your system's CPU, memory, load, process list, network interface, disk I/O, IRQ, sensors and more."

"Homepage is a static, fast, secure and proxied application dashboard with integrations for over 100 services and widgets."

Configuration

The content, layout, and appearance of homepage are configured using various YAML files. These files, located in dashboard/data/homepage/config, are tracked by Git, with all sensitive data outsourced into environment variables.

ENV

Homepage features numerous shortcuts to various home server applications, necessitating a significant number of environment variables to define the corresponding URLs. These variables are located within tracked configuration files.

docker-compose.yaml

yaml
---
name: dashboard

services:
  homepage:
    image: ghcr.io/gethomepage/homepage:latest
    container_name: dashboard-homepage
    volumes:
      - /homeserver/dashboard/data/homepage/config:/app/config
      - /homeserver/dashboard/data/homepage/assets:/app/public/assets
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - /xdrive:/xdrive
      - /homeserver:/homeserver
    networks:
      - proxy-network
    env_file:
      - /homeserver/dashboard/homepage.env
    environment:
      - TZ=Europe/Tallinn
    restart: unless-stopped

  glances:
    image: nicolargo/glances:latest
    container_name: dashboard-glances
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
    networks:
      - proxy-network
    env_file:
      - /homeserver/.env
    environment:
      - GLANCES_OPT=-w
    privileged: true
    pid: host
    healthcheck:
      test: curl --fail -s http://localhost:61208 || exit 1
      interval: 1m
      start_period: 20s
      timeout: 10s
      retries: 3
    restart: unless-stopped

networks:
  proxy-network:
    external: true