Upload files to "/"
This commit is contained in:
163
README.md
Normal file
163
README.md
Normal file
@@ -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 | <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, із резервним копіюванням та моніторингом.
|
||||||
Reference in New Issue
Block a user