Files
mates-infra/README.md
T
mates 24d5e9be42 refactor: split into 6 specialized repos
- 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
2026-08-01 16:37:32 +02:00

99 lines
4.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🏠 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