Some of the new Docker Containers I am using

Just like automations, I’m always interested in seeing what new Containers people are using with their Smart Home. Here’s a write up of some of my new ones including links to my Docker-Compose file…

-Carlo

4 Likes

Carlo, thank you for sharing this. I run zoneminder and it would consistently be ready after HA, which meant I had to restart HA (again) after all else was on line.

On containers, I wanted to share this https://hub.docker.com/r/library/telegraf/
which supplements influx-grafana allowing you to extract some extra data. For instances cpu usage per container.
see my dash.

4 Likes

Telegraf is great. I use it to pull SNMP from my router, pings to various points, Docker container CPU usage/memory, hard drive array data, etc. Part of my career is data analytics for investigations combined with DBA/Systems admin so it fits right in with my nerdiness desire to have all the data.

I changed my zoneminder for a motioneye one and I’m happy with it. No longer cpu running wild because one camera is dead. I also use a duplicati container to do my backups.

I really need to set up Grafana… I love graphs.

I have just added TasmoAdmin for managing my esp8266 devices, pretty cool control panel with a utility for doing mass OTA updates.

https://hub.docker.com/r/raymondmm/tasmoadmin/

1 Like

Thank you. Can you share your docker compose for it.
Reading the instructions it talks about adding another port for streaming but it doesn’t say which.

Did you integrate into HA?

Hi,

sure. I’m not using docker compose but here is the docker create command:

docker create --name=“motioneye”
-p 7999:7999
-p 8765:8765
-p 8701:8081
-p 8702:8082
-p 8703:8083
-p 8704:8084
-p 8705:8085
-p 8706:8086
–hostname=“motioneye”
-v /etc/localtime:/etc/localtime:ro
-v /docker/motioneye/config:/etc/motioneye
-v /docker/motioneye/lib:/var/lib/motioneye
–restart=unless-stopped
ccrisan/motioneye:dev-amd64

About the ports: 8765 is the web interface port. 7999 is the “api” port. 8081 to 8086 are the video streaming ports (one per camera), but since there’s already a 87xx port, I remapped the internal 808x to 870x.

You have to enable videostreaming on motioneye, and use something like this on HA:

camera:

1 Like

Since we are talking about motioneye, I just found one cool trick. You can use the port 7999 to control motioneye, so I use the automation below to overlay the current temperature on camera image:

automation:
  - alias: update ceu camera temp
    trigger:
      - platform: time
        minutes: '/2'
        seconds: 50
    action:
        - service: shell_command.cam_update
          data_template:
          cam_text: >-
            ceu%20L%20{{ states("sensor.temperature_158d00012bee3f") | round(0) }}c%20Y%20{{ states("sensor.yweather_temperature") | round(0) }}c
          cam_id: 1
    
shell_command:
   cam_update: >-
     curl http://192.168.0.3:7999/{{cam_id}}/config/set?text_left="{{cam_text}}"
1 Like

You know you can use a range of ports when you create your container?

-p 8701-8706:8081-8086

The same goes for docker compose.

2 Likes

@clyra thank you very much for sharing this. have you been able to extract motion state/signal?

Hi,

No, but didn’t tried yet. I’m more interested in doing the “other” way. Since I already have motion and door sensors, I will use them to make motion record. It’s on my long to do list :-). There’s another post that shows how to make motion publish to a mqtt when there’s motion.

1 Like

once again thank you for sharing. I’ve set it up and it’s great.
Also set up the mqtt motion sensor.

One question. the HA camera only works if I click on the image otherwise it only shows the camera banner. any ideas

Check out ESPHOMEYAML as a replacement for Tasmoto…

@CCOSTAN I believe that you can remove all your ports settings from your Docker Compose file as you’re already using network_mode=host, so all the ports in the container are already available via the host.

Also you’re using for all your containers

environment:
- TZ=America/New_York

Does this really work for all these containers which are using different flavours of Linux as a base?

@clyra, fixed the still issue. it was my mistake.
the motion sensor works with this solution:


from sycohexor

the straight mqtt command does not work as the image doesn’t have the mosquitto client installed.

thank you again.

Honestly, Not sure. It’s one of those ‘If it ain’t broke …’ types of situations. :slight_smile: Having the ports listed is useful for me to know if I end up hitting duplicates. :slight_smile:

1 - True, but just FYI it’s useful to know them but you can still hit duplicates as all listening ports of all containers will be binded automatically to your host server, if you use network_mode=host.

2- Also FYI, did you check your containers if the timezone was correct on each of them ?
I guess that many of them won’t be using NYC timezone with your method, you may have to either :

add in your Dockerfile :

RUN apk add --no-cache tzdata

add in your docker-compose.yml something like :

volumes:
- /usr/share/zoneinfo/Europe/London:/etc/localtime:ro