Custom container used for development of integrations for Home Assistant.
Base Image: Alpine
In your own repository create a new directory in the root called .devcontainer.
In that directory you need a devcontainer.json file, you can use this one.
.devcontainer/devcontainer.json{
"image": "ludeeus/devcontainer:integration",
"context": "..",
"appPort": "9123:8123",
"postCreateCommand": "dc install",
"settings": {
"terminal.integrated.shell.linux": "/bin/bash",
}
If you need to add a something to configuration.yaml for your integration create a file in your repository here .devcontainer/configuration.yaml, this will be copied every time you run dc start.
| tag | description |
|---|---|
| base | This serves as a base for the other tags. |
| python | This provides a minimalistic container for working with python. |
| integration | This is intended to be used if you are developing a custom_component (integration) for Home Assistant. |
| frontend | This is intended to be used if you are developing a frontend elements. |
| monster | This is here to please @iantrich's crazy ideas, this combines the integration & frontend tags into one monster tag. |
| dotnet | This provides a minimalistic container for working with dotnet core. |
| netdaemon | This provides a minimalistic container for working with netdaemon apps core. |
| go | This provices a minimalistic container for working with go. |
You can add a -x.x.x postfix to each tag to specify the version.
All custom commands are prefixed with dc
bash-5.0# dc help
dc
Custom CLI used in this devcontainer
usage:
dc [command]
where [command] is one of:
init This will give you a fresh development environment.
start This will start Home Assistant on port 9123.
check This will run Home Assistant config check.
set-version Install a spesific version of Home Assistant.
upgrade Upgrade the installed Home Assistant version to the latest dev branch.
help Shows this help
If you don't want to rely on a CLI, but want to use VSCode tasks to execute them you can.
There is an example here you can copy to .vscode/tasks.json in your repo.
Based on apline:3.11
Included in all the container/tags
| Description | version |
|---|---|
| bash | 5.0.11-r1 |
| git | 2.24.1-r0 |
| nano | 4.6-r0 |
| openssh | 8.1_p1-r0 |
| openssl-dev | 1.1.1d-r3 |
Based on ludeeus/devcontainer:base
Included in the container/tags starting with go
| Description | version |
|---|---|
| go | 1.13.4-r1 |
Based on ludeeus/devcontainer:base
Included in the container/tags starting with python
| Description | version |
|---|---|
| ffmpeg-dev | 4.2.1-r3 |
| gcc | 9.2.0-r3 |
| libc-dev | 0.7.2-r0 |
| libffi-dev | 3.2.1-r6 |
| make | 4.2.1-r2 |
| python3 | 3.8.2-r0 |
| python3-dev | 3.8.2-r0 |
| Description | version |
|---|---|
| black | 19.3b0 |
| colorlog | 4.0.2 |
| pylint | 2.3.1 |
| python-language-server | 0.28.3 |
Based on ludeeus/devcontainer:python
Included in the container/tags starting with integration
These container/tags does not have additional software
Based on ludeeus/devcontainer:base
Included in the container/tags starting with frontend
| Description | version |
|---|---|
| nodejs | 12.15.0-r1 |
| npm | 12.15.0-r1 |
| yarn | 1.19.2-r0 |
Based on ludeeus/devcontainer:integration
Included in the container/tags starting with monster
| Description | version |
|---|---|
| nodejs | 12.15.0-r1 |
| npm | 12.15.0-r1 |
| yarn | 1.19.2-r0 |
Based on ludeeus/devcontainer:base
Included in the container/tags starting with dotnet
| Description | version |
|---|---|
| dotnet | 3.1.102 |
| icu-dev | 64.2-r0 |
| libcurl | 7.67.0-r0 |
| libintl | 0.20.1-r2 |
| zlib | 1.2.11-r3 |
Based on ludeeus/devcontainer:dotnet
Included in the container/tags starting with netdaemon
These container/tags does not have additional software
Content type
Image
Digest
Size
12.3 MB
Last updated
over 6 years ago
docker pull ludeeus/devcontainer