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