fix: odstranit emoji ze vsech souboru

Kompletne odstraneno:
- Emoji (smajliky, symboly, boxes, arrows) z README
- Emoji ze skriptu (sipky, symboly)
- Emoji z docker-compose (adresare)

Nahrano za:
- Textove alternativy (sipky -> '->', boxes -> '+', atd.)
- ASCII pouze kde to slo

Ciste vsechny 7 repo (overeno Python skriptem).
This commit is contained in:
2026-08-02 08:50:10 +02:00
parent f91234c8fb
commit ce7fa7c8b8
+74 -74
View File
@@ -2,11 +2,11 @@
Ansible playbooky pro přípravu nového serveru a správu home infrastruktury.
> **Jsi začátečník?** Čti od [Začínáme](#zaciname) vše je tu vysvětleno krok za krokem.
> **Jsi začátečník?** Čti od [Začínáme](#zaciname) - vše je tu vysvětleno krok za krokem.
---
## 📚 Co je Ansible?
## Co je Ansible?
Ansible je nástroj, který **automatizuje konfiguraci serverů**. Místo toho, aby ses ručně přihlašoval přes SSH a psal 50 příkazů, napíšeš **jeden příkaz** a Ansible udělá všechno za tebe.
@@ -24,39 +24,39 @@ a Ansible to udělá **na všech serverech** najednou.
---
## 📦 Obsah repozitáře
## Obsah repozitáře
### 🎯 Playbooky (hlavní úkoly)
### Playbooky (hlavní úkoly)
| Playbook | Co dělá |
|---|---|
| **`priprav-novy-server.yml`** | Kompletní příprava nového serveru od nuly (update + user + SSH + Docker + adresáře + fail2ban) |
| **`nasad-sluzby.yml`** | Nasaď Docker služby z `mates-docker-services/` (Portainer, Vaultwarden, Gitea, ) |
| **`nasad-sluzby.yml`** | Nasaď Docker služby z `mates-docker-services/` (Portainer, Vaultwarden, Gitea, ...) |
| **`aktualizuj-sluzby.yml`** | Aktualizuj všechny běžící služby (`docker compose pull && up -d`) |
| **`zabezpec-server.yml`** | Bezpečnostní hardening (sysctl, auditd, automatické security updaty) |
### 🧩 Role (znovupoužitelné bloky)
### Role (znovupoužitelné bloky)
| Role | Co dělá |
|---|---|
| `zaklad` | Update systému, base balíky (btop, mc, tree, curl, ), timezone |
| `zaklad` | Update systému, base balíky (btop, mc, tree, curl, ...), timezone |
| `uzivatel-deploy` | Vytvoří uživatele `deploy` (UID 1000) s uzamknutým heslem |
| `ssh-klice` | Nasadí SSH klíč pro `deploy` (heslo = klíč, ne heslo) |
| `docker` | Docker Engine + Compose plugin + nastavení daemon.json |
| `adresare` | `/home/deploy/{docker,scripts,backups,logs,~/.local/bin}` + 14 složek pro služby |
| `netbird` | Nainstaluje NetBird klienta (mesh VPN) apt balíček, ne Docker |
| `netbird` | Nainstaluje NetBird klienta (mesh VPN) - apt balíček, ne Docker |
### Konfigurace
### Konfigurace
| Soubor | Co obsahuje |
|---|---|
| `inventory.example.yml` | Ukázkový inventory seznam serverů |
| `group_vars/all.yml.example` | Společné proměnné (SSH klíč, porty, balíky, ) |
| `ansible.cfg` | Konfigurace Ansible (cesty, SSH optimalizace, ) |
| `inventory.example.yml` | Ukázkový inventory - seznam serverů |
| `group_vars/all.yml.example` | Společné proměnné (SSH klíč, porty, balíky, ...) |
| `ansible.cfg` | Konfigurace Ansible (cesty, SSH optimalizace, ...) |
---
## 🚀 Začínáme
## Začínáme
### Krok 1: Nainstaluj Ansible
@@ -88,22 +88,22 @@ nano inventory.yml
```yaml
all:
vars:
ansible_user: ubuntu # SSH user na novém serveru
ansible_become: true # potřebuje sudo (povinné)
ansible_ssh_pass: tvujHeslo # heslo pro první připojení (jen dočasně!)
vars:
ansible_user: ubuntu # SSH user na novém serveru
ansible_become: true # potřebuje sudo (povinné)
ansible_ssh_pass: tvujHeslo # heslo pro první připojení (jen dočasně!)
children:
homeservers:
hosts:
novy-server:
ansible_host: <server-ip> # IP nového serveru
children:
homeservers:
hosts:
novy-server:
ansible_host: <server-ip> # IP nového serveru
```
### Krok 4: Přidej svůj SSH klíč
```bash
# Na Macu zobraz svuj verejny klic
# Na Macu - zobraz svuj verejny klic
cat ~/.ssh/id_ed25519.pub
# ssh-ed25519 AAAAC3Nz... hermes@mac
@@ -115,7 +115,7 @@ nano group_vars/all.yml
V souboru najdi řádek:
```yaml
deploy_ssh_public_keys:
- "ssh-ed25519 AAAAC3Nz... hermes@mac" # sem vlož svůj klíč
- "ssh-ed25519 AAAAC3Nz... hermes@mac" # <- sem vlož svůj klíč
```
### Krok 5: Spusť playbook
@@ -125,17 +125,17 @@ ansible-playbook -i inventory.yml playbooks/priprav-novy-server.yml
```
**Co se stane:**
1. Ansible se připojí na server přes SSH (s heslem)
2. Stáhne seznam balíků (`apt update`)
3. Nainstaluje 17 základních balíků (btop, mc, tree, curl, )
4. Vytvoří uživatele `deploy` (UID 1000)
5. Zamkne mu heslo (přístup jen přes SSH klíč)
6. Přidá tvůj SSH klíč do `~/.ssh/authorized_keys`
7. Nainstaluje Docker Engine + Compose plugin
8. Přidá `deploy` do `docker` group (docker **bez sudo**)
7. Vytvoří adresářovou strukturu pro 14 Docker služeb
8. Nainstaluje NetBird (mesh VPN klient apt balíček)
9. Nainstaluje fail2ban (ochrana proti brute-force SSH)
1. Ansible se připojí na server přes SSH (s heslem)
2. Stáhne seznam balíků (`apt update`)
3. Nainstaluje 17 základních balíků (btop, mc, tree, curl, ...)
4. Vytvoří uživatele `deploy` (UID 1000)
5. Zamkne mu heslo (přístup jen přes SSH klíč)
6. Přidá tvůj SSH klíč do `~/.ssh/authorized_keys`
7. Nainstaluje Docker Engine + Compose plugin
8. Přidá `deploy` do `docker` group (docker **bez sudo**)
7. Vytvoří adresářovou strukturu pro 14 Docker služeb
8. Nainstaluje NetBird (mesh VPN klient - apt balíček)
9. Nainstaluje fail2ban (ochrana proti brute-force SSH)
**Trvání:** 5-10 minut.
@@ -146,16 +146,16 @@ ansible-playbook -i inventory.yml playbooks/priprav-novy-server.yml
ssh deploy@<server-ip>
# Over Docker
docker ps # melo by fungovat bez sudo
docker ps # melo by fungovat bez sudo
docker compose version
# Adresare
ls /home/deploy/ # melo byt: docker, scripts, backups, logs, ...
ls /home/deploy/ # melo byt: docker, scripts, backups, logs, ...
```
---
## 🎬 Práce s playbooky
## Práce s playbooky
### Příprava nového serveru (úplně od nuly)
@@ -171,7 +171,7 @@ ansible-playbook -i inventory.yml playbooks/nasad-sluzby.yml
# Nasaď jen vybrané
ansible-playbook -i inventory.yml playbooks/nasad-sluzby.yml \
--extra-vars "sluzby=[portainer,vaultwarden]"
--extra-vars "sluzby=[portainer,vaultwarden]"
```
### Aktualizace služeb
@@ -188,62 +188,62 @@ ansible-playbook -i inventory.yml playbooks/zabezpec-server.yml
```
Tento playbook nastavuje:
- **sysctl** hardening síťových parametrů jádra
- **auditd** logování bezpečnostních událostí
- **unattended-upgrades** automatické bezpečnostní aktualizace
- **sysctl** - hardening síťových parametrů jádra
- **auditd** - logování bezpečnostních událostí
- **unattended-upgrades** - automatické bezpečnostní aktualizace
---
## 🏗 Struktura projektu
## Struktura projektu
```
mates-ansible/
├── README.md # Tento soubor
├── LICENSE # MIT
├── ansible.cfg # Konfigurace Ansible
├── inventory.example.yml # Ukázkový inventory
├── group_vars/
│ └── all.yml.example # Společné proměnné
├── playbooks/
│ ├── priprav-novy-server.yml # Příprava nového serveru
│ ├── nasad-sluzby.yml # Nasaď Docker služby
│ ├── aktualizuj-sluzby.yml # Aktualizuj služby
│ └── zabezpec-server.yml # Bezpečnostní hardening
└── roles/
├── zaklad/ # Update + base balíky
├── uzivatel-deploy/ # Vytvoření deploy usera
├── ssh-klice/ # Nasazení SSH klíče
├── docker/ # Docker Engine + Compose
├── adresare/ # Adresářová struktura
└── netbird/ # NetBird (mesh VPN)
+-- README.md # Tento soubor
+-- LICENSE # MIT
+-- ansible.cfg # Konfigurace Ansible
+-- inventory.example.yml # Ukázkový inventory
+-- group_vars/
| +-- all.yml.example # Společné proměnné
+-- playbooks/
| +-- priprav-novy-server.yml # Příprava nového serveru
| +-- nasad-sluzby.yml # Nasaď Docker služby
| +-- aktualizuj-sluzby.yml # Aktualizuj služby
| +-- zabezpec-server.yml # Bezpečnostní hardening
+-- roles/
+-- zaklad/ # Update + base balíky
+-- uzivatel-deploy/ # Vytvoření deploy usera
+-- ssh-klice/ # Nasazení SSH klíče
+-- docker/ # Docker Engine + Compose
+-- adresare/ # Adresářová struktura
+-- netbird/ # NetBird (mesh VPN)
```
---
## 🔑 Kde co nastavit
## Kde co nastavit
| Co | Kde |
|---|---|
| IP serverů | `inventory.yml` |
| SSH klíč pro deploy | `group_vars/all.yml` `deploy_ssh_public_keys` |
| Base balíky | `roles/zaklad/defaults/main.yml` `base_packages` |
| Porty | `group_vars/all.yml` `allowed_ports` |
| Docker daemon nastavení | `roles/docker/defaults/main.yml` `docker_daemon_config` |
| Služby k nasazení | `group_vars/all.yml` `services_to_deploy` |
| SSH klíč pro deploy | `group_vars/all.yml` -> `deploy_ssh_public_keys` |
| Base balíky | `roles/zaklad/defaults/main.yml` -> `base_packages` |
| Porty | `group_vars/all.yml` -> `allowed_ports` |
| Docker daemon nastavení | `roles/docker/defaults/main.yml` -> `docker_daemon_config` |
| Služby k nasazení | `group_vars/all.yml` -> `services_to_deploy` |
---
## 🔐 Bezpečnost
## Bezpečnost
- **Deploy user má zamknuté heslo** přístup jen přes SSH klíč
- **Bez hesel v inventory** použij `ansible-vault` nebo SSH klíče
- **Docker bez sudo** user `deploy` je v `docker` group
- **fail2ban** 3 pokusy o SSH = ban na 1 hodinu
- **Firewall se nenastavuje automaticky** viz `priprav-novy-server.yml` pro vysvětlení
- **Deploy user má zamknuté heslo** - přístup jen přes SSH klíč
- **Bez hesel v inventory** - použij `ansible-vault` nebo SSH klíče
- **Docker bez sudo** - user `deploy` je v `docker` group
- **fail2ban** - 3 pokusy o SSH = ban na 1 hodinu
- **Firewall se nenastavuje automaticky** - viz `priprav-novy-server.yml` pro vysvětlení
---
## 📚 Další zdroje
## Další zdroje
Detailní postupy najdeš v Jotty knowledge base.