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,66 @@
|
||||
# 📥 Install Scripts
|
||||
|
||||
> Bash skripty pro nasazení nového Ubuntu serveru (22.04 / 24.04 LTS).
|
||||
> Idempotentní, s `--help` a dry-run.
|
||||
|
||||
## 📚 Skripty
|
||||
|
||||
| Skript | Účel |
|
||||
|---|---|
|
||||
| [`bootstrap-ubuntu-server.sh`](bootstrap-ubuntu-server.sh) | Úvodní setup: aktualizace, uživatel, SSH, firewall, fail2ban |
|
||||
| [`install-docker.sh`](install-docker.sh) | Docker + Docker Compose plugin |
|
||||
| [`install-portainer.sh`](install-portainer.sh) | Portainer CE |
|
||||
| [`install-nginx-proxy.sh`](install-nginx-proxy.sh) | Nginx Proxy Manager (s HTTPS) |
|
||||
| [`backup-all.sh`](backup-all.sh) | Záloha všech Docker dat na NAS |
|
||||
| [`restore-all.sh`](restore-all.sh) | Obnova z NAS zálohy |
|
||||
|
||||
## 🚀 Quickstart (nový server)
|
||||
|
||||
```bash
|
||||
# 1. Bootstrap (úvodní nastavení)
|
||||
sudo bash bootstrap-ubuntu-server.sh
|
||||
|
||||
# 2. Docker
|
||||
sudo bash install-docker.sh
|
||||
|
||||
# 3. Portainer
|
||||
sudo bash install-portainer.sh
|
||||
|
||||
# 4. NPM (reverzní proxy)
|
||||
sudo bash install-nginx-proxy.sh
|
||||
|
||||
# 5. Přidej služby
|
||||
cd ~/docker-services/portainer
|
||||
cp .env.example .env && nano .env
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## ⚙️ Společné konvence
|
||||
|
||||
- Všechny skripty podporují `--help`
|
||||
- `set -euo pipefail` (fail-fast)
|
||||
- Idempotentní (můžeš spustit víckrát)
|
||||
- Logy do `/var/log/<skript>.log`
|
||||
- Barvy v terminále (ANSI), automaticky se vypnou v non-TTY
|
||||
|
||||
## 🔐 Bezpečnost
|
||||
|
||||
- **Nikdy nespouštěj skript, který nečteš** – `less <skript>` předem
|
||||
- **Všechny skripty chtějí root** – kontrolují `$EUID`
|
||||
- **Všechny skripty** podporují dry-run, kde to dává smysl
|
||||
- **Bez hesel v skriptech** – vše z `prompt` nebo `.env`
|
||||
|
||||
## 📁 Struktura
|
||||
|
||||
```
|
||||
install-scripts/
|
||||
├── README.md
|
||||
├── bootstrap-ubuntu-server.sh
|
||||
├── install-docker.sh
|
||||
├── install-portainer.sh
|
||||
├── install-nginx-proxy.sh
|
||||
├── backup-all.sh
|
||||
├── restore-all.sh
|
||||
└── lib/ # Společné knihovny
|
||||
└── common.sh
|
||||
```
|
||||
Reference in New Issue
Block a user