Skip to content

SirGoodenough/TDMDock

Repository files navigation

TDMDock - Puts tdmgr into a Docker Container

This is based on a docker compose I found from : https://zorruno.com/w/TDMDocker

That was based on a docker compose from here that now appears abandoned: https://hub.docker.com/r/marcelkordek/tasmota-device-manager

I have added a few things to make it work better for general users.

This basically puts TDMGR from (https://github.com/jziolkowski/tdm) into a local Docker container. For more information on TDMGR and Tasmota, see those sites. This DOES NOT modify TDMGR or Tasmota in any way, it merely puts TDMGR into a Docker Container to help maintain your Tasmota Devices. See Troubleshooting Section Below for more information regarding usage.

Installation:

  • If you have docker already setup and wish to pull an image directly, this image is not available in the Docker Hub. Point to this instead and it should pull from this repo. The image is available here using the path:

ghcr.io/sirgoodenough/tdmdock:latest

  • First step is to install DockerCE and Docker Compose. I'm not going to step by step that, rather refer you to other people that have covered that already.

🐳 Matheson Steplock: Install Docker on Ubuntu 20.04

🐳 Install Docker Engine

🐳 Install Docker Engine on Ubuntu

🐳 Install Docker Compose

  • Once that is installed, create a folder /opt/TDMDock and change the user and group on this folder /opt/TDMDock to be the [non-root user's name] that will be running the container on this computer.
cd /opt
sudo mkdir TDMDock
sudo chown [non-root user's name] TDMDock
sudo chgrp [non-root user's name] TDMDock
  • Create a docker group if there isn’t one:
sudo groupadd docker
  • Add your [non-root user's name] to the docker group:
sudo usermod -aG docker [non-root user's name]
  • Log out and log back in or reboot your host computer so that the 'usermod' command above can take effect and your group membership is re-evaluated.:
sudo reboot
  • Install all the files from the repository as your [non-root user's name] entity. If you have git installed, you can use git clone:
cd /opt; git clone https://github.com/SirGoodenough/TDMDock.git
  • Inside /opt/TDMDock build the containers:
cd /opt/TDMDock; docker-compose build
  • If you are using Ubuntu, copy the 2 xxx.desktop files to your [non-root user] entity's home folder. This MAY also work with other Linux Distros, but has not been tested. Anyway you do it you will need to start the container during use and stop the container when not in use.

Container Start-up:

Ubuntu users should be able to start and stop the container now with these desktop icons listed as the *.desktop files in the repository. It you wish to start and stop the containers another way that is up to you, but be aware that the TDMDock container SHOULD NOT be left running all the time. It does put extra load on the little ESP chips in the Tasmota Devices and on some, it will cause ghost switching and device reboots. It is best to load the container, do your business, then when you are done stop the container. The Terminal window that pops up while the container is running is for troubleshooting and to remind you that the container is running, helping you remember to turn it off when done using the container.

The container can also be controlled by typing these in /opt/TDMDock and by myriad other ways:

docker-compose up
docker-compose down

TDMGR Usage:

To use TDMGR, start the container, then connect to (http://127.0.0.1:5810) thru your web browser. You will need to connect TDMgr to your broker and make sure your topics and stuff is set up correctly as per the TDMGR Github. Once the topics are set, browser credentials are set, and you connect to the broker, your Tasmota devices should start showing up.

Troubleshooting and Warnings:

If you have problems getting this to work correctly, you can contact me at my Discord and I will do my best to help you. Be warned that TDMGR is intended to be run native and all testing is done on Ubuntu as per the TDMGR Github, so if you can't get it to run in this container, try it native on Ubuntu. This set-up is for advanced users that can puzzle things out for themselves.

Thanks and Support

If you have any questions, comments or additions be sure to add an issue and bring them up on my Discord Server. If you feel there is an issue with the repo, please feel free to fork it and offer suggestions and / or put an issue in and contact me on Discord.

Contact Links:

Please help support the channel:

Disclaimer

⚠️ DANGER OF ELECTROCUTION ⚠️

If your device connects to mains electricity (AC power) there is danger of electrocution if not installed properly. If you don't know how to install it, please call an electrician (Beware: certain countries prohibit installation without a licensed electrician present). Remember: SAFETY FIRST. It is not worth the risk to yourself, your family and your home if you don't know exactly what you are doing. Never tinker or try to flash a device using the serial programming interface while it is connected to MAINS ELECTRICITY (AC power).

We don't take any responsibility nor liability for using this software nor for the installation or any tips, advice, videos, etc. given by any member of this site or any related site.