Sign inSign up

ludeeus/devcontainer

By ludeeus

•Updated over 6 years ago

Image
0

10K+

ludeeus/devcontainer repository overview

⁠Devcontainer

Custom container used for development of integrations for Home Assistant.

Base Image: Alpine

⁠How to use it

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.⁠

⁠Minimal example of .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.

⁠image tags

tagdescription
baseThis serves as a base for the other tags.
pythonThis provides a minimalistic container for working with python.
integrationThis is intended to be used if you are developing a custom_component (integration) for Home Assistant.
frontendThis is intended to be used if you are developing a frontend elements.
monsterThis is here to please @iantrich's crazy ideas, this combines the integration & frontend tags into one monster tag.
dotnetThis provides a minimalistic container for working with dotnet core.
netdaemonThis provides a minimalistic container for working with netdaemon apps core.
goThis provices a minimalistic container for working with go.

You can add a -x.x.x postfix to each tag to specify the version.

⁠Custom commands included

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

⁠Tasks

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.

⁠General devcontainer documentation

⁠Provided software

⁠Base

Based on apline:3.11

Included in all the container/tags

Descriptionversion
bash5.0.11-r1
git2.24.1-r0
nano4.6-r0
openssh8.1_p1-r0
openssl-dev1.1.1d-r3

⁠Go

Based on ludeeus/devcontainer:base

Included in the container/tags starting with go

Descriptionversion
go1.13.4-r1

⁠Python

Based on ludeeus/devcontainer:base

Included in the container/tags starting with python

⁠APK Packages
Descriptionversion
ffmpeg-dev4.2.1-r3
gcc9.2.0-r3
libc-dev0.7.2-r0
libffi-dev3.2.1-r6
make4.2.1-r2
python33.8.2-r0
python3-dev3.8.2-r0
⁠Python Packages
Descriptionversion
black19.3b0
colorlog4.0.2
pylint2.3.1
python-language-server0.28.3

⁠Integration

Based on ludeeus/devcontainer:python

Included in the container/tags starting with integration

These container/tags does not have additional software

⁠Frontend

Based on ludeeus/devcontainer:base

Included in the container/tags starting with frontend

Descriptionversion
nodejs12.15.0-r1
npm12.15.0-r1
yarn1.19.2-r0

⁠Moster

Based on ludeeus/devcontainer:integration

Included in the container/tags starting with monster

Descriptionversion
nodejs12.15.0-r1
npm12.15.0-r1
yarn1.19.2-r0

⁠Dotnet

Based on ludeeus/devcontainer:base

Included in the container/tags starting with dotnet

Descriptionversion
dotnet3.1.102
icu-dev64.2-r0
libcurl7.67.0-r0
libintl0.20.1-r2
zlib1.2.11-r3

⁠NetDaemon

Based on ludeeus/devcontainer:dotnet

Included in the container/tags starting with netdaemon

These container/tags does not have additional software

Tag summary

Content type

Image

Digest

Size

12.3 MB

Last updated

over 6 years ago

docker pull ludeeus/devcontainer