- docker-services, ansible, install-scripts -> own repos - macos-setup merged with hermes-install - home-nas-tools (metadata only, no binaries) - docs (architecture, security, contributing) - this repo: index + LICENSE + .gitignore only
99 lines
4.9 KiB
Markdown
99 lines
4.9 KiB
Markdown
# 🏠 mates-infra – Home Infrastructure
|
||
|
||
> Hlavní index pro **home infrastructure as code** projekty.
|
||
> Obsah je **rozdělen do 6 specializovaných repozitářů** pro snadnou orientaci a
|
||
> samostatné použití. Toto repo slouží jako **orchestrátor + dokumentace**.
|
||
|
||
---
|
||
|
||
## 📦 Repozitáře (6)
|
||
|
||
| Repo | Obsah | URL |
|
||
|---|---|---|
|
||
| [`mates-docker-services`](https://github.com/mates/mates-docker-services) | 14 generických `docker-compose.yml` (portainer, npm, vaultwarden, gitea, jotty, nextcloud, …) | http://192.168.0.148:3000/mates/mates-docker-services |
|
||
| [`mates-ansible`](https://github.com/mates/mates-ansible) | 4 Ansible playbooky (bootstrap, deploy, update, security) | http://192.168.0.148:3000/mates/mates-ansible |
|
||
| [`mates-install-scripts`](https://github.com/mates/mates-install-scripts) | Bash skripty pro nový Ubuntu server (bootstrap, docker, portainer, npm, backup, restore) | http://192.168.0.148:3000/mates/mates-install-scripts |
|
||
| [`mates-macos-setup`](https://github.com/mates/mates-macos-setup) | macOS workstation (Brewfile, Fish aliasy, osx defaults, Hermes CLI) | http://192.168.0.148:3000/mates/mates-macos-setup |
|
||
| [`mates-home-nas-tools`](https://github.com/mates/mates-home-nas-tools) | Rejstřík projektů na NAS (metadata only, žádné binárky) | http://192.168.0.148:3000/mates/mates-home-nas-tools |
|
||
| [`mates-docs`](https://github.com/mates/mates-docs) | Architektura, bezpečnost, contributing | http://192.168.0.148:3000/mates/mates-docs |
|
||
|
||
> **Proč 6 repo?** Každý má **jiný scope**, **jiný lifecycle**, **jiné uživatele**.
|
||
> Např. `mates-install-scripts` se mění zřídka, `mates-docker-services` často.
|
||
|
||
## 🏗 Aktuální infrastruktura
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────┐
|
||
│ Nginx Proxy Manager (reverzní proxy + HTTPS) │
|
||
└────────────────────┬────────────────────────────────────────┘
|
||
│
|
||
┌─────────────────┼─────────────────┬──────────────┐
|
||
▼ ▼ ▼ ▼
|
||
┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐
|
||
│ Nextcloud│ │Vaultwarden│ │ Gitea │ │ Jotty │
|
||
│ AIO │ │ :2999 │ │ :3000/222│ │ :1122 │
|
||
└──────────┘ └──────────┘ └──────────┘ └──────────┘
|
||
… dalších 11 služeb (Plex, RustDesk, Audiobookshelf, …)
|
||
```
|
||
|
||
Detailní seznam: [`mates-docker-services/README.md`](https://github.com/mates/mates-docker-services)
|
||
|
||
## 🚀 Rychlý start (nový server)
|
||
|
||
```bash
|
||
# 1. Klonuj všechna relevantní repo
|
||
git clone http://192.168.0.148:3000/mates/mates-install-scripts.git
|
||
git clone http://192.168.0.148:3000/mates/mates-docker-services.git
|
||
|
||
# 2. Bootstrap
|
||
cd mates-install-scripts
|
||
sudo bash bootstrap-ubuntu-server.sh
|
||
sudo bash install-docker.sh
|
||
|
||
# 3. Nasaď služby
|
||
cd ../mates-docker-services
|
||
cp portainer/.env.example portainer/.env # a další služby
|
||
docker compose -f portainer/docker-compose.yml up -d
|
||
# ... atd.
|
||
|
||
# 4. (Volitelně) Ansible
|
||
git clone http://192.168.0.148:3000/mates/mates-ansible.git
|
||
cd mates-ansible
|
||
ansible-playbook -i inventory.example.yml playbooks/deploy-services.yml
|
||
```
|
||
|
||
## 📚 Dokumentace
|
||
|
||
- 🏛 [Architektura](https://github.com/mates/mates-docs) – jak to celé funguje
|
||
- 🔐 [Bezpečnost](https://github.com/mates/mates-docs) – hardening, secrets
|
||
- 🤝 [Contributing](https://github.com/mates/mates-docs) – jak přispívat
|
||
- 📝 [Jotty knowledge base](http://192.168.0.148:1122) – interní dokumentace
|
||
|
||
## 🗂 Mapa závislostí
|
||
|
||
```
|
||
mates-infra (toto repo – index)
|
||
├──→ mates-docs (architektura, bezpečnost)
|
||
├──→ mates-docker-services (služby)
|
||
├──→ mates-install-scripts (nový server)
|
||
├──→ mates-ansible (idempotentní deploy)
|
||
├──→ mates-macos-setup (workstation)
|
||
└──→ mates-home-nas-tools (metadata k NAS)
|
||
```
|
||
|
||
## 🔒 Bezpečnost
|
||
|
||
- Všechna hesla v `.env.example` (šablona), nikdy v `docker-compose.yml`
|
||
- API token Gitea uložen v **macOS keychainu** (`gitea:api:192.168.0.148`)
|
||
- SSH klíče pro git push přes `credential.helper`
|
||
- HTTPS terminuje Nginx Proxy Manager (Let's Encrypt)
|
||
- Detailní security hardening: [`mates-docs/security.md`](https://github.com/mates/mates-docs)
|
||
|
||
## 📜 Licence
|
||
|
||
[MIT](LICENSE) – používej jak chceš.
|
||
|
||
---
|
||
|
||
**Home lab · 2026 · Poslední update:** 2026-08-01
|