From 0b74ed3f9cd1b328a15060c156914217d6728cf3 Mon Sep 17 00:00:00 2001 From: tcom Date: Sun, 26 Oct 2025 07:56:42 +0000 Subject: [PATCH] Upload files to "/" --- README.md | 163 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 163 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..c6ab553 --- /dev/null +++ b/README.md @@ -0,0 +1,163 @@ +🧱 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, із резервним копіюванням та моніторингом. \ No newline at end of file