This builds an image that has the demo integrations enabled. This is used for app verification and deployed with https://github.com/home-assistant/deployments
- mise - Task runner and tool manager
- Docker
# Build and run
mise run docker:up
# Stop
mise run docker:downThe instance will be available at http://localhost:8123
Users are created at container startup via the DEFAULT_USERS environment variable:
DEFAULT_USERS='[{"username":"admin","password":"secret","name":"Admin","owner":true,"admin":true}]' mise run docker:up[
{"username": "admin", "password": "secret", "name": "Admin User", "owner": true, "admin": true},
{"username": "user1", "password": "pass123", "name": "Regular User", "admin": false}
]| Field | Required | Default | Description |
|---|---|---|---|
username |
Yes | - | Login username |
password |
Yes | - | Login password |
name |
Yes | - | Display name |
owner |
No | true |
Is owner of the instance |
admin |
No | true |
Is administrator |
| Task | Description | Usage |
|---|---|---|
docker:build |
Build the Docker image | mise run docker:build |
docker:build:version |
Build with specific HA version | mise run docker:build:version 2024.1.0 |
docker:up |
Build and run the container | mise run docker:up |
docker:down |
Stop and remove the container | mise run docker:down |
docker:logs |
Follow container logs | mise run docker:logs |
docker:test |
Test the build | mise run docker:test |
docker:clean |
Remove built images | mise run docker:clean |
- To change the configuration, adjust
rootfs/etc/config/configuration.yaml - To change the Home Assistant version, use
--build-arg TARGET_VERSION=<version>or setTARGET_VERSIONenv var with mise
After a change is merged, create a release to publish a new image. After the image is published, the deployment can be updated.
.
├── Dockerfile
├── mise.toml # Task definitions
└── rootfs/
└── etc/
├── config/
│ ├── configuration.yaml
│ ├── dashboards/
│ │ └── build_info.yaml
│ ├── scripts/
│ │ └── create_default_users.py
│ └── .storage/
│ ├── auth
│ ├── auth_provider.homeassistant
│ └── onboarding
└── cont-init.d/
└── init_config.sh