feat: initial infra repo
- docker-services: 14 generic compose templates (portainer, npm, vaultwarden, gitea, jotty, nextcloud-aio, rustdesk, audiobookshelf, calibre-web, plex, erugo, jswiki, speedtest, watchtower) - install-scripts: bash scripts for Ubuntu server bootstrap, docker, portainer, npm, backup, restore - ansible: 4 playbooks (bootstrap, deploy-services, update-services, security-hardening) + roles skeleton - hermes-install: Hermes CLI setup on macOS - macos-setup: Brewfile + osx-defaults + fish-config - home-nas-tools: metadata index for NAS projects (no binaries) - docs: architecture, security, contributing - README, LICENSE (MIT), .gitignore
This commit is contained in:
@@ -0,0 +1,88 @@
|
||||
# 🔧 mates — Home Infrastructure
|
||||
|
||||
> Sbírka šablon, skriptů a Ansible playbooků pro rychlé nasazení self-hostované infrastruktury.
|
||||
> Veškerý obsah vychází z reálného běhu na serveru `192.168.0.148` (Ubuntu 24.04, Docker 29.x).
|
||||
|
||||
**[](http://192.168.0.148:3000)** · **[](http://192.168.0.148:1122)** · **[](LICENSE)**
|
||||
|
||||
---
|
||||
|
||||
## 🗂 Co je v tomto repo
|
||||
|
||||
| Adresář | Účel | Stav |
|
||||
|---|---|---|
|
||||
| [`docker-services/`](docker-services/) | Generické `docker-compose.yml` pro 14+ služeb (portainer, vaultwarden, nextcloud, …) | ✅ |
|
||||
| [`install-scripts/`](install-scripts/) | Bash skripty pro nové servery (Ubuntu 22.04/24.04 LTS) | ✅ |
|
||||
| [`ansible/`](ansible/) | Ansible playbooks + role pro idempotentní deploy | ✅ |
|
||||
| [`hermes-install/`](hermes-install/) | Instalace a konfigurace Hermes Agent (mě) na macOS | ✅ |
|
||||
| [`macos-setup/`](macos-setup/) | Homebrew `Brewfile` + skripty pro macOS workstation | ✅ |
|
||||
| [`home-nas-tools/`](home-nas-tools/) | Rejstřík projektů a nástrojů z NAS (`/Volumes/Backups/Prace/`) | ✅ |
|
||||
| [`docs/`](docs/) | Architektura, bezpečnost, contributing | ✅ |
|
||||
|
||||
## 🏗 Aktuální infrastruktura
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────────────────┐
|
||||
│ Internet (Cloudflare Tunnel) │
|
||||
└────────────────────┬────────────────────────────────────────────────┘
|
||||
│ HTTPS (443)
|
||||
▼
|
||||
┌─────────────────────────────────────────────────────────────────────┐
|
||||
│ Nginx Proxy Manager (192.168.0.148:81, 443) │
|
||||
│ ├─ DNS: domácí subdomény → LAN IP │
|
||||
│ └─ Let's Encrypt auto-renew │
|
||||
└────────────────────┬────────────────────────────────────────────────┘
|
||||
│
|
||||
┌─────────────────┼─────────────────┬──────────────┐
|
||||
▼ ▼ ▼ ▼
|
||||
┌──────────┐ ┌──────────┐ ┌──────────┐ ┌────────────┐
|
||||
│ Nextcloud│ │Vaultwarden│ │ Gitea │ │ Jotty (doc)│
|
||||
│ AIO │ │ :2999 │ │ :3000/222 │ │ :1122 │
|
||||
│ :11000 │ └──────────┘ └──────────┘ └────────────┘
|
||||
└──────────┘
|
||||
… dalších 11 služeb (Plex, RustDesk, Calibre, Audiobookshelf, Wikijs, …)
|
||||
```
|
||||
|
||||
Detailní seznam: [`docker-services/README.md`](docker-services/README.md)
|
||||
|
||||
## 🚀 Rychlý start (nový server)
|
||||
|
||||
```bash
|
||||
# 1. Klonuj tento repo
|
||||
git clone https://github.com/<user>/mates-infra.git ~/infra
|
||||
cd ~/infra
|
||||
|
||||
# 2. Spusť bootstrap (Ubuntu 22.04/24.04 LTS)
|
||||
sudo bash install-scripts/bootstrap-ubuntu-server.sh
|
||||
|
||||
# 3. Nainstaluj všechny služby
|
||||
sudo bash install-scripts/install-docker.sh
|
||||
sudo bash install-scripts/install-portainer.sh
|
||||
# … další viz install-scripts/
|
||||
|
||||
# 4. Nebo použij Ansible
|
||||
cd ansible
|
||||
ansible-playbook -i inventory.example.yml playbooks/deploy-services.yml
|
||||
```
|
||||
|
||||
## 📚 Dokumentace
|
||||
|
||||
- 🏛 [Architektura](docs/architecture.md) – jak to celé funguje
|
||||
- 🔐 [Bezpečnost](docs/security.md) – hardening, secrets, HTTPS
|
||||
- 🤝 [Contributing](docs/contributing.md) – jak přispívat
|
||||
- 📝 [Jotty dokumentace](http://192.168.0.148:1122) – knowledge base v Jotty
|
||||
|
||||
## 🔒 Bezpečnost
|
||||
|
||||
- **Všechna hesla v `.env.example`** – nikdy necommituj `.env`
|
||||
- **HTTPS** – Let's Encrypt přes NPM
|
||||
- **Firewall** – UFW + fail2ban
|
||||
- **Bezpečnostní audit**: viz [`docs/security.md`](docs/security.md)
|
||||
|
||||
## 📜 Licence
|
||||
|
||||
[MIT](LICENSE) – používej jak chceš.
|
||||
|
||||
---
|
||||
|
||||
**Vyrobeno s ❤️ v homelabu · 2026**
|
||||
Reference in New Issue
Block a user