Files
mates-infra/docker-services/README.md
T
mates 444191d16d 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
2026-08-01 16:25:58 +02:00

99 lines
3.3 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.
# 📦 Docker Services
> Generické `docker-compose.yml` šablony pro self-hosted služby.
> Každá služba má **vlastní složku**, `.env.example` (šablona) a **README** s dokumentací.
## 🎯 Jak použít
```bash
# 1. Vyber službu
cd services/<service>
# 2. Vytvoř .env z šablony
cp .env.example .env
nano .env # nastav POUZE potřebné hodnoty (hesla, cesty)
# 3. Nasaď
docker compose up -d
# 4. Ověř
docker compose ps
docker compose logs -f
```
## 📚 Rejstřík služeb
| Služba | Účel | Port | Image |
|---|---|---|---|
| [`portainer`](portainer/) | Docker UI management | `9000`, `9443` | `portainer/portainer-ce` |
| [`nginx-proxy-manager`](nginx-proxy-manager/) | Reverse proxy + HTTPS | `80`, `443`, `81` | `jc21/nginx-proxy-manager` |
| [`vaultwarden`](vaultwarden/) | Správce hesel | `2999` | `vaultwarden/server` |
| [`nextcloud-aio`](nextcloud-aio/) | Cloud (soubory, kalendář) | `11000` | `nextcloud/all-in-one` |
| [`gitea`](gitea/) | Git server | `3000`, `222` | `gitea/gitea` |
| [`jotty`](jotty/) | Poznámky & checklisty | `1122` | `mrx23dotcom/jotty` |
| [`rustdesk`](rustdesk/) | Remote desktop | `21115-21119` | `rustdesk/rustdesk-server` |
| [`audiobookshelf`](audiobookshelf/) | Audio knihovna | `13378` | `advplyr/audiobookshelf` |
| [`calibre-web`](calibre-web/) | E-knihovna | `8083` | `linuxserver/calibre-web` |
| [`plex`](plex/) | Media server | `32400` | `linuxserver/plex` |
| [`erugo`](erugo/) | File sharing | `61080` | `wardy784/erugo` |
| [`jswiki`](jswiki/) | Wiki | `9180` | `linuxserver/wikijs` |
| [`speedtest`](speedtest/) | Speedtest tracker | `8072` | `linuxserver/speedtest-tracker` |
| [`watchtower`](watchtower/) | Auto-update kontejnerů | | `containrrr/watchtower` |
## 🧱 Společné konvence
Všechny compose soubory v tomto adresáři dodržují:
- **Porty:** nikdy nepoužívat konfliktní porty s ostatními službami
- **Volume:** `./data:/data` (host container, snadná záloha)
- **Restart:** `unless-stopped`
- **Network:** výchozí `bridge`, případně vlastní `*-net`
- **User:** `1000:1000` pro souborový přístup
- **Logging:** `json-file` driver, max 10 MB × 3 soubory
- **TZ:** `Europe/Prague`
- **Environment:** `.env` soubor (šablona `.env.example` v gitu)
## 🛡 Bezpečnost
-**Žádná hesla v `docker-compose.yml`** vše v `.env` (gitignored)
-**Restart policy** zamezí nechtěnému spuštění po rebootu
-**Networks** izolované `bridge` pro každou službu
-**Read-only filesystémy** kde to jde (`/etc/timezone`, `/etc/localtime`)
## 🗂 Struktura
```
docker-services/
├── README.md # Tento soubor
├── portainer/
│ ├── docker-compose.yml
│ ├── .env.example
│ └── README.md
├── nginx-proxy-manager/
│ ├── docker-compose.yml
│ ├── .env.example
│ └── README.md
└── ... (další služby)
```
## 🔄 Aktualizace služeb
```bash
# Pomocí Watchtower (auto-update)
docker compose pull && docker compose up -d
# Nebo ručně
cd services/<service>
docker compose pull
docker compose up -d
```
## 📦 Zálohování
Všechna data jsou v `./data/` uvnitř každé služby. Zálohuj celé adresáře:
```bash
# Pomocí našeho nástroje z install-scripts/
sudo bash install-scripts/backup-all.sh
```