Skip to content

Installing

Jay edited this page Mar 16, 2026 · 3 revisions

Installation Guide

HomeGlow is a self-hosted, open-source dashboard for touch-enabled displays — think family calendar, chores with rewards, photos from your Immich server, weather, and more — all without subscriptions.
It's optimized for Linux (Raspberry Pi, mini PCs, Proxmox VMs, etc.) and deploys easily via Docker.

Demo: https://demo.homeglow.dev
Project site: https://homeglow.dev
Discord community: https://discord.gg/wFJEna8AdC

Prerequisites

Hardware

  • Any Linux-capable machine (Raspberry Pi 4/5 recommended, but also works great on Intel/AMD mini PCs, old laptops, or VMs)
  • Touch display (optional but ideal — works with mouse/keyboard too)
  • At least 2 GB RAM recommended for smooth performance

Software

Required

  • Docker
  • Docker Compose (v2+)

Optional (for full features)

  • OpenWeatherMap API key (free tier works for the Weather widget)
  • ICS calendar link or CalDAV server credentials (for Calendar widget)
  • Self-hosted Immich instance (for the Photo widget)

No internet is strictly required after initial setup (except for weather updates if enabled).

Quick Start (Recommended – Docker Compose)

  1. Create a project directory (anywhere on your Linux machine)
    mkdir homeglow && cd homeglow
    
  2. Download the production docker-compose file
    wget https://raw.githubusercontent.com/jherforth/HomeGlow/main/docker-compose.yml
    
  3. Create a basic .env file (adjust values as needed)
    cat <<EOF > .env
    FRONTEND_PORT=3000
    TZ=America/New_York          # ← change to your timezone (e.g. Europe/London, Australia/Sydney)
    EOF
    

You can add more variables later if needed (see Advanced Configuration).

  1. Start HomeGlow
    docker compose up -d
    
  2. Open in your browser
    http://<your-server-ip>:3000
    

Example: http://192.168.1.100:3000 or http://raspberrypi.local:3000 That's it! You should see the default dashboard.

First-Time Setup (Admin Panel)Click the gear icon (top-right) to open the Admin Panel. Set an Admin PIN (recommended for security — especially if exposed). Configure integrations:Weather → enter your OpenWeatherMap API key + zip code Calendar → add ICS URLs or CalDAV details Photos → point to your Immich server URL + API key Enable/disable widgets and set refresh intervals Add family members, create chores, define clam rewards/prizes, etc.

All changes save automatically and apply instantly.

Updating HomeGlowTo pull the latest version:

cd homeglow                # or wherever your docker-compose.yml lives
docker compose pull
docker compose up -d

Advanced / Alternative Installation

Development / Build from Source

Useful if you want to contribute or test bleeding-edge changes.

git clone https://github.com/jherforth/HomeGlow.git
cd HomeGlow
docker compose -f docker-compose.dev.yml up --build

The dev setup mounts the code for live reloading.

Custom Port / HTTPS / Reverse Proxy

  • Change FRONTEND_PORT in .env to whatever you prefer (default: 3000)
  • Strongly recommended: Put a reverse proxy (Nginx Proxy Manager, Traefik, Caddy, Cloudflare Tunnel) in front for:HTTPS

Custom domain (e.g. homeglow.yourdomain.com) Basic auth or access control

HomeGlow has no built-in authentication beyond the optional Admin PIN.

Data & Backup

All persistent data lives in these folders (created automatically):

  • ./homeglow/data/ → SQLite database (users, chores, settings, calendars…)
  • ./homeglow/uploads/ → custom widget files & any uploaded assets

Backup recommendation:

tar -czf homeglow-backup-$(date +%Y%m%d).tar.gz homeglow/data homeglow/uploads

Troubleshooting

Widgets not loading → Check browser console (F12), verify API keys, look at container logs:

docker compose logs -f
  • Weather blank → Confirm OpenWeatherMap key and that your zip code is valid
  • Calendar not syncing → Test ICS/CalDAV URL directly in browser
  • Port conflict → Change FRONTEND_PORT and restart
  • Admin Panel won't save → Check container logs; ensure write access to ./homeglow/data/

If issues persist, open a GitHub issue or ask in Discord.

Security Notes

  • Do not expose port 3000 directly to the internet without protection.
  • Use a reverse proxy with SSL.
  • Set a strong Admin PIN.
  • Keep Docker containers updated.

Enjoy your subscription-free smart home display!