Skip to content

Docker

Run GlassHome with Docker Compose or as a standalone container. The image is multi-arch: Docker picks the right build for your machine automatically (amd64 or aarch64).

VM or older CPU?

If Dash crashes immediately with signal 4 / illegal instruction, your CPU or VM profile is missing SSE4.2. See Supported CPUs for the fix.

Docker Compose

services:
  glasshome:
    image: ghcr.io/glasshome/dash:latest
    container_name: glasshome
    restart: unless-stopped
    ports:
      - "3123:3123"
    volumes:
      - glasshome_data:/data
    environment:
      - PORT=3123
      - DATA_DIR=/data

volumes:
  glasshome_data:
    driver: local

PORT and DATA_DIR default to the values shown. You only need to set them if you want to change the internal port or data path. If you change the internal port, update the left side of the ports mapping to match.

Direct Container

docker run -d \
  --name glasshome \
  -p 3123:3123 \
  -v glasshome_data:/data \
  --restart unless-stopped \
  ghcr.io/glasshome/dash:latest

Don't skip the volume

The glasshome_data:/data volume stores your SQLite database, dashboards, settings, and connections. All your data lives here.

Container Image

Published to ghcr.io/glasshome/dash:latest. Runs on amd64 (PCs, Intel/AMD servers) and aarch64 (Raspberry Pi, Apple Silicon).

Ports

Default 3123. Override with -p YOUR_PORT:3123.

Updating

Docker Compose:

docker compose pull && docker compose up -d

Standalone container (no Compose):

docker pull ghcr.io/glasshome/dash:latest
docker rm -f glasshome
docker run -d \
  --name glasshome \
  -p 3123:3123 \
  -v glasshome_data:/data \
  --restart unless-stopped \
  ghcr.io/glasshome/dash:latest

Data in the glasshome_data volume is not touched by either method.

Beta builds

I publish early builds for testing before they ship in a stable release (the same builds the addon’s Edge channel tracks). Use the beta tag instead of latest, or pin a specific version from the GHCR tags page.

ghcr.io/glasshome/dash:beta

Beta is for testing

Beta builds may have rough edges. Use the stable latest tag for your daily driver.

To go back to stable, switch the tag back to latest and pull again.