---
title: "Docker Deployment"
description: "Deploy GlassHome with Docker Compose or standalone container. Multi-arch image, amd64 and aarch64 auto-selected."
canonical: https://glasshome.app/docs/dash/docker
section: "Installation"
updated: 2026-10-08
---
# 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](/docs/dash/installation#supported-cpus) for the fix.

## Docker Compose

```yaml
services:
  glasshome-dash:
    image: ghcr.io/glasshome/dash:latest
    container_name: glasshome-dash
    restart: unless-stopped
    ports:
      - "3123:3123"
    volumes:
      - glasshome_data:/data

volumes:
  glasshome_data:
    driver: local
```

The image already listens on `3123` and stores data in `/data`, so there is nothing to configure. Set `PORT` or `DATA_DIR` only if you want a different internal port or data path, and update the right side of the `ports` mapping to match the new port.

Behind a reverse proxy, also set `TRUSTED_PROXIES` to the proxy's address or network. See [Remote access](/docs/dash/remote-access).

## Direct Container

```bash
docker run -d \
  --name glasshome-dash \
  -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:**

```bash
docker compose pull && docker compose up -d
```

**Standalone container** (no Compose):

```bash
docker pull ghcr.io/glasshome/dash:latest
docker rm -f glasshome-dash
docker run -d \
  --name glasshome-dash \
  -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). Beta runs on its own port, container name and volume, so it sits beside a stable install with a separate database and leaves the one you use every day alone.

**Docker Compose:**

```yaml
services:
  glasshome-dash-beta:
    image: ghcr.io/glasshome/dash:beta
    container_name: glasshome-dash-beta
    restart: unless-stopped
    ports:
      - "3124:3123"
    volumes:
      - glasshome_beta_data:/data

volumes:
  glasshome_beta_data:
    driver: local
```

**Direct container:**

```bash
docker run -d \
  --name glasshome-dash-beta \
  -p 3124:3123 \
  -v glasshome_beta_data:/data \
  --restart unless-stopped \
  ghcr.io/glasshome/dash:beta
```

Open beta at `http://<host>:3124`. It starts empty, so the welcome screen opens and connects it to Home Assistant like a fresh install. To pin a specific build and stop following `beta`, pick a version from the [GHCR tags page](https://github.com/orgs/glasshome/packages/container/package/dash).

> **Beta is for testing:** Beta builds may have rough edges. Keep the stable `latest` container on port 3123 as your daily driver. Beta dashboards and settings live in `glasshome_beta_data` and do not carry over to stable.

New beta builds land on the same `beta` tag, so updating is the usual pull:

```bash
docker compose pull && docker compose up -d
```

Standalone, `docker pull ghcr.io/glasshome/dash:beta`, then remove and re-run the container with the command above.

Done testing? `docker rm -f glasshome-dash-beta`. Your stable install never noticed.

## Related docs

- [Connecting to Home Assistant](/docs/dash/connecting): pair Dash with HA after install
- [Home Assistant Addon](/docs/dash/addon): one-click install for HAOS users
- [Quickstart](/docs/dash/quickstart): first dashboard in five minutes
- [Troubleshooting](/docs/dash/troubleshooting): common install issues