🧱 Infrastructure Overview --- TCom Embedded Laboratory
🚀 Загальний опис системи
Це домашня Docker-серверна інфраструктура для:
-
розробки (Gitea)
-
веб-додатків (Flask + Caddy)
-
моніторингу (Prometheus + Grafana)
-
автоматизації дому (Mosquitto MQTT + Node-RED)
-
централізованого управління мережею сервісів
Стек побудований через Docker та керується через CLI.
🗂 Структура розгортання
Всі додатки розташовані в:
~/DOCKER/
| Сервіс | Каталог | Опис | Статус |
|---|---|---|---|
| Caddy | ~/DOCKER/caddy |
Reverse Proxy + HTTPS | ✅ Працює |
| myapp1 (Flask) | ~/DOCKER/myapp1 |
Демо-веб API | ✅ Працює |
| Prometheus | ~/DOCKER/prometheus |
Збір метрик | ✅ Працює |
| Grafana | ~/DOCKER/grafana |
Dashboard-система | ✅ Працює |
| Mosquitto (MQTT брокер) | ~/DOCKER/mosquitto |
Smart Home MQTT | ✅ Працює |
| Node-RED | ~/DOCKER/nodered |
Логіка Smart Home | ✅ Працює |
| Gitea | ~/DOCKER/gitea |
Git-сервер | ✅ Працює |
🌐 Мапа сервісів і доменів
| Сервіс | URL | Аутентифікація | Доступ |
|---|---|---|---|
| Git Server | https://git.tcom.space | ✅ Пароль/2FA | WAN / LAN |
| Flask App | (приклад) https://myapp1.tcom.space | ❌ Нема авторизації | WAN / LAN |
| Grafana | https://grafana.tcom.space | ✅ | WAN / LAN |
| Prometheus | https://prometheus.tcom.space | ✅ BasicAuth | WAN / LAN |
| Mosquitto MQTT | mqtt://192.168.0.3:1883 |
❌ | LAN only |
| Node-RED | http://192.168.0.3:1880 | ❌ | LAN only |
Caddy автоматично видає Let's Encrypt сертифікати.
🔒 Політика безпеки
✅ Все, що в Інтернет → тільки через Caddy
✅ Більшість сервісів --- закриті у LAN/VPN
✅ Gitea: реєстрація ❌, OpenID ❌
✅ Admin-login змінено вручну
✅ 2FA рекомендовано
🛠 Управління сервісами
Запустити все
docker compose up -d
Перезапустити один сервіс
cd ~/DOCKER/<ім'я> docker compose restart
Перегляд логів
docker logs -f <container>
Оновити контейнер
docker compose pull docker compose up -d
💾 Бекап
Бекап Gitea
docker exec -u 1000:1000 gitea\ gitea dump --file /data/gitea-backup.zip docker cp gitea:/data/gitea-backup.zip .
(зберігає БД + репозиторії + конфіг)
MQTT та Node-RED
Вміст зберігається у томах Docker:
~/DOCKER/mosquitto/data ~/DOCKER/nodered/data
Пропозиція
🟡 Настроїти автобекап раз на день
📈 Моніторинг
Prometheus → збирає:
-
Docker статус
-
Системні метрики сервера (CPU/RAM/Temp)
Grafana → показує:
-
Кастомні dashboards
-
MQTT / Smart Home статистику
➡ Можемо додати Node Exporter для ще детальнішого моніторингу.
🔧 План розвитку
| Етап | Статус |
|---|---|
| Docker Core + Reverse Proxy | ✅ Done |
| Smart Home MQTT migrate | ✅ Done |
| Gitea migrate + HTTPS + Security | ✅ Done |
| CI/CD Flask auto deploy | ⏳ Next |
| Docker GUI (Portainer) | ⏳ Next |
| Docker auto upgrade (Watchtower) | ⏳ Next |
| Full monitoring dashboards | ⏳ Next |
👤 Контакти адміністратора
Тарас (Owner) ssh tcom@192.168.0.3 (LAN/VPN)
Коментар: Вхід SSH з Інтернету заблоковано з міркувань безпеки.
✅ Summary
Готова хмарна локальна інфраструктура з Git-сервером та Smart Home, усе інфраструктурно правильно, на Docker, із резервним копіюванням та моніторингом.