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. 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. 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á | | Playbook | Co dělá |
|---|---| |---|---|
| **`priprav-novy-server.yml`** | Kompletní příprava nového serveru od nuly (update + user + SSH + Docker + adresáře + fail2ban) | | **`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`) | | **`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) | | **`zabezpec-server.yml`** | Bezpečnostní hardening (sysctl, auditd, automatické security updaty) |
### 🧩 Role (znovupoužitelné bloky) ### Role (znovupoužitelné bloky)
| Role | Co dělá | | 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 | | `uzivatel-deploy` | Vytvoří uživatele `deploy` (UID 1000) s uzamknutým heslem |
| `ssh-klice` | Nasadí SSH klíč pro `deploy` (heslo = klíč, ne heslo) | | `ssh-klice` | Nasadí SSH klíč pro `deploy` (heslo = klíč, ne heslo) |
| `docker` | Docker Engine + Compose plugin + nastavení daemon.json | | `docker` | Docker Engine + Compose plugin + nastavení daemon.json |
| `adresare` | `/home/deploy/{docker,scripts,backups,logs,~/.local/bin}` + 14 složek pro služby | | `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 | | Soubor | Co obsahuje |
|---|---| |---|---|
| `inventory.example.yml` | Ukázkový inventory seznam serverů | | `inventory.example.yml` | Ukázkový inventory - seznam serverů |
| `group_vars/all.yml.example` | Společné proměnné (SSH klíč, porty, balíky, ) | | `group_vars/all.yml.example` | Společné proměnné (SSH klíč, porty, balíky, ...) |
| `ansible.cfg` | Konfigurace Ansible (cesty, SSH optimalizace, ) | | `ansible.cfg` | Konfigurace Ansible (cesty, SSH optimalizace, ...) |
--- ---
## 🚀 Začínáme ## Začínáme
### Krok 1: Nainstaluj Ansible ### Krok 1: Nainstaluj Ansible
@@ -88,22 +88,22 @@ nano inventory.yml
```yaml ```yaml
all: all:
vars: vars:
ansible_user: ubuntu # SSH user na novém serveru ansible_user: ubuntu # SSH user na novém serveru
ansible_become: true # potřebuje sudo (povinné) ansible_become: true # potřebuje sudo (povinné)
ansible_ssh_pass: tvujHeslo # heslo pro první připojení (jen dočasně!) ansible_ssh_pass: tvujHeslo # heslo pro první připojení (jen dočasně!)
children: children:
homeservers: homeservers:
hosts: hosts:
novy-server: novy-server:
ansible_host: <server-ip> # IP nového serveru ansible_host: <server-ip> # IP nového serveru
``` ```
### Krok 4: Přidej svůj SSH klíč ### Krok 4: Přidej svůj SSH klíč
```bash ```bash
# Na Macu zobraz svuj verejny klic # Na Macu - zobraz svuj verejny klic
cat ~/.ssh/id_ed25519.pub cat ~/.ssh/id_ed25519.pub
# ssh-ed25519 AAAAC3Nz... hermes@mac # ssh-ed25519 AAAAC3Nz... hermes@mac
@@ -115,7 +115,7 @@ nano group_vars/all.yml
V souboru najdi řádek: V souboru najdi řádek:
```yaml ```yaml
deploy_ssh_public_keys: 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 ### Krok 5: Spusť playbook
@@ -125,17 +125,17 @@ ansible-playbook -i inventory.yml playbooks/priprav-novy-server.yml
``` ```
**Co se stane:** **Co se stane:**
1. Ansible se připojí na server přes SSH (s heslem) 1. Ansible se připojí na server přes SSH (s heslem)
2. Stáhne seznam balíků (`apt update`) 2. Stáhne seznam balíků (`apt update`)
3. Nainstaluje 17 základních balíků (btop, mc, tree, curl, ) 3. Nainstaluje 17 základních balíků (btop, mc, tree, curl, ...)
4. Vytvoří uživatele `deploy` (UID 1000) 4. Vytvoří uživatele `deploy` (UID 1000)
5. Zamkne mu heslo (přístup jen přes SSH klíč) 5. Zamkne mu heslo (přístup jen přes SSH klíč)
6. Přidá tvůj SSH klíč do `~/.ssh/authorized_keys` 6. Přidá tvůj SSH klíč do `~/.ssh/authorized_keys`
7. Nainstaluje Docker Engine + Compose plugin 7. Nainstaluje Docker Engine + Compose plugin
8. Přidá `deploy` do `docker` group (docker **bez sudo**) 8. Přidá `deploy` do `docker` group (docker **bez sudo**)
7. Vytvoří adresářovou strukturu pro 14 Docker služeb 7. Vytvoří adresářovou strukturu pro 14 Docker služeb
8. Nainstaluje NetBird (mesh VPN klient apt balíček) 8. Nainstaluje NetBird (mesh VPN klient - apt balíček)
9. Nainstaluje fail2ban (ochrana proti brute-force SSH) 9. Nainstaluje fail2ban (ochrana proti brute-force SSH)
**Trvání:** 5-10 minut. **Trvání:** 5-10 minut.
@@ -146,16 +146,16 @@ ansible-playbook -i inventory.yml playbooks/priprav-novy-server.yml
ssh deploy@<server-ip> ssh deploy@<server-ip>
# Over Docker # Over Docker
docker ps # melo by fungovat bez sudo docker ps # melo by fungovat bez sudo
docker compose version docker compose version
# Adresare # 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) ### Příprava nového serveru (úplně od nuly)
@@ -171,7 +171,7 @@ ansible-playbook -i inventory.yml playbooks/nasad-sluzby.yml
# Nasaď jen vybrané # Nasaď jen vybrané
ansible-playbook -i inventory.yml playbooks/nasad-sluzby.yml \ ansible-playbook -i inventory.yml playbooks/nasad-sluzby.yml \
--extra-vars "sluzby=[portainer,vaultwarden]" --extra-vars "sluzby=[portainer,vaultwarden]"
``` ```
### Aktualizace služeb ### Aktualizace služeb
@@ -188,62 +188,62 @@ ansible-playbook -i inventory.yml playbooks/zabezpec-server.yml
``` ```
Tento playbook nastavuje: Tento playbook nastavuje:
- **sysctl** hardening síťových parametrů jádra - **sysctl** - hardening síťových parametrů jádra
- **auditd** logování bezpečnostních událostí - **auditd** - logování bezpečnostních událostí
- **unattended-upgrades** automatické bezpečnostní aktualizace - **unattended-upgrades** - automatické bezpečnostní aktualizace
--- ---
## 🏗 Struktura projektu ## Struktura projektu
``` ```
mates-ansible/ mates-ansible/
├── README.md # Tento soubor +-- README.md # Tento soubor
├── LICENSE # MIT +-- LICENSE # MIT
├── ansible.cfg # Konfigurace Ansible +-- ansible.cfg # Konfigurace Ansible
├── inventory.example.yml # Ukázkový inventory +-- inventory.example.yml # Ukázkový inventory
├── group_vars/ +-- group_vars/
│ └── all.yml.example # Společné proměnné | +-- all.yml.example # Společné proměnné
├── playbooks/ +-- playbooks/
│ ├── priprav-novy-server.yml # Příprava nového serveru | +-- priprav-novy-server.yml # Příprava nového serveru
│ ├── nasad-sluzby.yml # Nasaď Docker služby | +-- nasad-sluzby.yml # Nasaď Docker služby
│ ├── aktualizuj-sluzby.yml # Aktualizuj služby | +-- aktualizuj-sluzby.yml # Aktualizuj služby
│ └── zabezpec-server.yml # Bezpečnostní hardening | +-- zabezpec-server.yml # Bezpečnostní hardening
└── roles/ +-- roles/
├── zaklad/ # Update + base balíky +-- zaklad/ # Update + base balíky
├── uzivatel-deploy/ # Vytvoření deploy usera +-- uzivatel-deploy/ # Vytvoření deploy usera
├── ssh-klice/ # Nasazení SSH klíče +-- ssh-klice/ # Nasazení SSH klíče
├── docker/ # Docker Engine + Compose +-- docker/ # Docker Engine + Compose
├── adresare/ # Adresářová struktura +-- adresare/ # Adresářová struktura
└── netbird/ # NetBird (mesh VPN) +-- netbird/ # NetBird (mesh VPN)
``` ```
--- ---
## 🔑 Kde co nastavit ## Kde co nastavit
| Co | Kde | | Co | Kde |
|---|---| |---|---|
| IP serverů | `inventory.yml` | | IP serverů | `inventory.yml` |
| SSH klíč pro deploy | `group_vars/all.yml` `deploy_ssh_public_keys` | | SSH klíč pro deploy | `group_vars/all.yml` -> `deploy_ssh_public_keys` |
| Base balíky | `roles/zaklad/defaults/main.yml` `base_packages` | | Base balíky | `roles/zaklad/defaults/main.yml` -> `base_packages` |
| Porty | `group_vars/all.yml` `allowed_ports` | | Porty | `group_vars/all.yml` -> `allowed_ports` |
| Docker daemon nastavení | `roles/docker/defaults/main.yml` `docker_daemon_config` | | Docker daemon nastavení | `roles/docker/defaults/main.yml` -> `docker_daemon_config` |
| Služby k nasazení | `group_vars/all.yml` `services_to_deploy` | | 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íč - **Deploy user má zamknuté heslo** - přístup jen přes SSH klíč
- **Bez hesel v inventory** použij `ansible-vault` nebo SSH klíče - **Bez hesel v inventory** - použij `ansible-vault` nebo SSH klíče
- **Docker bez sudo** user `deploy` je v `docker` group - **Docker bez sudo** - user `deploy` je v `docker` group
- **fail2ban** 3 pokusy o SSH = ban na 1 hodinu - **fail2ban** - 3 pokusy o SSH = ban na 1 hodinu
- **Firewall se nenastavuje automaticky** viz `priprav-novy-server.yml` pro vysvětlení - **Firewall se nenastavuje automaticky** - viz `priprav-novy-server.yml` pro vysvětlení
--- ---
## 📚 Další zdroje ## Další zdroje
Detailní postupy najdeš v Jotty knowledge base. Detailní postupy najdeš v Jotty knowledge base.