🧱 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 | | ✅ 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 ` ### Оновити контейнер `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, із резервним копіюванням та моніторингом.