There are several ways to deploy your apps. You could just run the development project and set it up yourself. NetDaemon provides a convenient ways to run your apps:
- Using a Home Assistant add-on
- In a docker container
- Or using the template as base deploy your own.
So let's set it up before we can deploy the apps to it.
This doc describes setting up the V2 version. For NetDaemon v3 please checkout installing the NetDaemon V3.
Install NetDaemon as a Home Assistant add-on
Two versions are provided, release and dev for both NetDaemon version 2 and version 3. If you feel you always want the latest and greatest changes you can choose the dev build for the version that you selected but be prepare that things break!
Make a folder structure under your Home Assistant configuration directory to use for NetDaemon apps.
Add new repository URLto the add-on store.
Add the NetDaemon add-on.
Deploy your apps in the folder
/config/netdaemon/appsfor V2 and
/config/netdaemon3/appsfor V3 .
Advanced add-on configurations
The standard way running your apps in add-on is just to copy the
.yaml files to
/config/netdaemon/apps or (
/config/netdaemon3/apps is you are using V3) and it will dynamically compile and run them. If you want to use your own project with custom dependencies you will have to use the advanced deployment options.
AppSourcesetting in add-on config. If you set a
app_source: folder, then it will dynamically compile and run apps in
app_source: daemonapp.csproj it will compile and run the project in
/config/netdaemon/daemonapp.csproj with all it's dependencies. To deploy apps Set the
app_source: daemonapp.dll it will run the published project in
There is no way to include other dependencies in the standard dynamically compiled option No, for this we recommend the
Advanced add-on configurations decribed above, to include for example a external nuget package.
Install as a docker container
If you are using Home Assistant Core and do not have the possibility to run add-ons, using the docker container is a convenient way to run NetDaemon apps.
Always use specific versioning tags of docker containers (not latest or dev) cause these are constantly getting new versions and things could break You can always find the latest stable version here
Example docker run configuration
docker run -d \
--name netdaemon \
-e HOMEASSISTANT__HOST=192.168.1.4 \
-e HOMEASSISTANT__TOKEN=XXXXX \
-e NETDAEMON__GENERATEENTITIES=False \
-e LOGGING__MINIMUMLEVEL=info \
-e TZ=Europe/Stockholm \
-p 1337:1337 \
-v ~/netdaemon_config:/data \
-p 1337:1337 is only needed if you want the admin panel
Example using docker-compose.yaml for
image: netdaemon/netdaemon # use netdaemon/netdaemon:ver
# for specific version
- LOGGING__MINIMUMLEVEL=info # use trace/debug/info
- TZ='Etc/UTC' # Set your current timezone
- 1337:1337 # This is required only if
# you are running the GUI
- /config/netdaemon:/data # replace /config/netdaemon
# to your local folder
The docker container needs 3 environment variables to run properly.
|The host that is running Home Assistant (defaults to |
|The port Home Assistant is running on (default to |
|A Long Lived Acces Token(LLAT) that NetDaemon can use for the comminication with Home Assistant.|
|Defaults to False, set True if you want the autogenerated entities|
|Defaults to info, values are (trace, debug, info, warning, error)|
|You will need to set container time zone to make the scheduler work properly|
|NETDAEMON__APPSOURCE is used to setup more advanced runtime options. If you set a |
|Set this to |
|/data||The volume of the netdaemon folder should be mapped to |
Folder structure and where to map the docker volume
~/netdaemon_config need to point to the
netdaemon folder. See image below. The red arrow in the example configuration below points to the folder that should be mapped to the