ThinkingHome - кроссплатформенное приложение, позволяющее организовать на компьютере управляющий центр умного дома.
В этом репозитории находится версия для .NET Core. Также существует версия для .NET Framework.
- ThinkingHome.Plugins.Cron - запуск действий по расписанию
- ThinkingHome.Plugins.Cron.WebApi - web API для cron
- ThinkingHome.Plugins.Database - API для хранения информации плагинов в БД
- ThinkingHome.Plugins.Mail - отправка email
- ThinkingHome.Plugins.Mqtt - отправка/получение сообщений MQTT
- ThinkingHome.Plugins.NooLite - управление освещением/электроприборами с помощью устройств nooLite
- ThinkingHome.Plugins.Scripts - выполнение сценариев автоматизации
- ThinkingHome.Plugins.Scripts.WebApi - web API для управления сценариями
- ThinkingHome.Plugins.TelegramBot - Telegram бот
- ThinkingHome.Plugins.Timer - выполнение действий по таймеру
- ThinkingHome.Plugins.WebServer - инфраструктура для обращения к методам плагинов по HTTP
- ThinkingHome.Plugins.WebServer.UrlValidation - валидация URL методов плагинов на соответствие правилам
- ThinkingHome.Plugins.WebUi - инфраструктура для веб-интерфейса
Прежде, чем вы попробуете запустить образ ThinkingHome для Docker, вы должны установить Docker. Прочитайте инструкции для Windows, MacOS и Linux, чтобы узнать подробнее про установку Docker.
Многие плагины сохраняют своё состояние в базе данных. Для их корректной работы необходимо предоставить доступ к БД. ThinkingHome поддерживает работу с СУБД PostgreSQL.
С помошью следующей команды вы можете подключить образ PostgreSQL из Docker Store.
$ docker run --name postgres -e POSTGRES_PASSWORD=123 -p 5432:5432 -d postgres
- Параметр
--name
задает имя, используя которое вы можете давать доступ к контейнеру БД для других контейнеров. - Переменная окружения
POSTGRES_PASSWORD
задает пароль для подключнения к БД с логиномpostgres
. Важно указать значение123
, т.к. этот пароль установлен по умолчанию в контейнере ThinkingHome. - Параметр
-p
задает соответствие портов вашего компьютера и портов контейнера БД.
После того, как контейнер будет запущен, вы сможете подключаться к БД со своего компьютера, используся строку подключения host=localhost;port=5431;database=postgres;user name=postgres;password=123
.
Образ в docker registry: https://hub.docker.com/repository/docker/dima117a/thinking-home.
$ docker run \
--name thinking-home \
--link postgres:postgres \
-e THINKINGHOME_plugins__ThinkingHome.Plugins.Database.DatabasePlugin__connectionString='host=postgres;port=5432;database=postgres;user name=postgres;password=123' \
-p 8080:8080 -t dima117a/thinking-home:4.0.0-alpha34
После запуска в консоль начнет выодиться лог приложения, а в браузере по адресу http://localhost:8080 будет доступен веб-интерфейс.
Сборка docker-образа:
docker build -t dima117a/thinking-home:4.0.0-alpha34 .