From 3cdf44528eb671f939d397797405f52a23a5222e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lionel=20Dupr=C3=A9?= Date: Fri, 19 Dec 2025 16:16:17 +0100 Subject: [PATCH] Initial commit - Talloires documentation --- docs/index.md | 68 +++++++++++ docs/javascripts/external-links.js | 7 ++ docs/reference/commands.md | 118 +++++++++++++++++++ docs/reference/ports.md | 77 ++++++++++++ docs/reference/scripts.md | 56 +++++++++ docs/services/authelia.md | 182 +++++++++++++++++++++++++++++ docs/services/backup.md | 76 ++++++++++++ docs/services/overview.md | 149 +++++++++++++++++++++++ mkdocs.yml | 36 ++++++ 9 files changed, 769 insertions(+) create mode 100644 docs/index.md create mode 100644 docs/javascripts/external-links.js create mode 100644 docs/reference/commands.md create mode 100644 docs/reference/ports.md create mode 100644 docs/reference/scripts.md create mode 100644 docs/services/authelia.md create mode 100644 docs/services/backup.md create mode 100644 docs/services/overview.md create mode 100644 mkdocs.yml diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..3d12193 --- /dev/null +++ b/docs/index.md @@ -0,0 +1,68 @@ +# Talloires - Home Server + +Bienvenue sur le portail de documentation de **Talloires**, le serveur domestique Raspberry Pi 5. + +## Services + +### 🎬 MĂ©dia +| Service | URL | Description | +|---------|-----|-------------| +| Jellyfin | [jellyfin.talloires.local](https://jellyfin.talloires.local) | Streaming mĂ©dia | +| Transmission | [transmission.talloires.local](https://transmission.talloires.local) | Client torrent | + +### ✅ ProductivitĂ© +| Service | URL | Description | +|---------|-----|-------------| +| Vikunja | [vikunja.talloires.local](https://vikunja.talloires.local) | Gestion de tĂąches (Todoist-like) | +| Outline | [outline.talloires.local](https://outline.talloires.local) | Wiki collaboratif | +| Hoarder | [hoarder.talloires.local](https://hoarder.talloires.local) | Bookmarks avec AI | +| Linkwarden | [linkwarden.talloires.local](https://linkwarden.talloires.local) | Bookmarks avancĂ©s | +| LanguageTool | [languagetool.talloires.local](https://languagetool.talloires.local) | Correcteur grammatical | + +### 🔧 Infrastructure +| Service | URL | Description | +|---------|-----|-------------| +| Portainer | [portainer.talloires.local](https://portainer.talloires.local) | Gestion Docker | +| Dockge | [dockge.talloires.local](https://dockge.talloires.local) | Docker Compose UI | +| Gitea | [git.talloires.local](https://git.talloires.local) | Git self-hosted | +| MkDocs | [docs.talloires.local](https://docs.talloires.local) | Documentation | + +### 📊 Monitoring +| Service | URL | Description | +|---------|-----|-------------| +| Grafana | [grafana.talloires.local](https://grafana.talloires.local) | Dashboards | +| Netdata | [netdata.talloires.local](https://netdata.talloires.local) | Monitoring temps rĂ©el | +| Uptime Kuma | [uptime.talloires.local](https://uptime.talloires.local) | Status des services | +| Cockpit | [cockpit.talloires.local](https://cockpit.talloires.local) | Admin systĂšme | + +### 🏠 Domotique +| Service | URL | Description | +|---------|-----|-------------| +| Home Assistant | [homeassistant.talloires.local](https://homeassistant.talloires.local) | Domotique | + +### 🔐 SĂ©curitĂ© +| Service | URL | Description | +|---------|-----|-------------| +| Authelia | [auth.talloires.local](https://auth.talloires.local) | SSO / 2FA | +| CrowdSec | - | Protection intrusion | + +## AccĂšs ZeroTier (externe) + +Services accessibles via ZeroTier (sans Authelia) : + +| Service | URL | +|---------|-----| +| Vikunja | [vikunja.talloires.1871.zt](https://vikunja.talloires.1871.zt) | +| Outline | [outline.talloires.1871.zt](https://outline.talloires.1871.zt) | +| Hoarder | [hoarder.talloires.1871.zt](https://hoarder.talloires.1871.zt) | +| Linkwarden | [linkwarden.talloires.1871.zt](https://linkwarden.talloires.1871.zt) | +| LanguageTool | [languagetool.talloires.1871.zt](https://languagetool.talloires.1871.zt) | + +## AccĂšs rapide + +- [Vue ensemble des services](services/overview.md) +- [Configuration SSO](services/authelia.md) +- [Backup](services/backup.md) +- [Ports utilisĂ©s](reference/ports.md) +- [Commandes utiles](reference/commands.md) +- [Scripts de maintenance](reference/scripts.md) diff --git a/docs/javascripts/external-links.js b/docs/javascripts/external-links.js new file mode 100644 index 0000000..41215d7 --- /dev/null +++ b/docs/javascripts/external-links.js @@ -0,0 +1,7 @@ +document.addEventListener('DOMContentLoaded', function() { + var links = document.querySelectorAll('a[href^="http"]'); + links.forEach(function(link) { + link.setAttribute('target', '_blank'); + link.setAttribute('rel', 'noopener noreferrer'); + }); +}); diff --git a/docs/reference/commands.md b/docs/reference/commands.md new file mode 100644 index 0000000..4fda5b6 --- /dev/null +++ b/docs/reference/commands.md @@ -0,0 +1,118 @@ +# Commandes utiles + +## Docker + +```bash +# Status de tous les containers +docker ps -a + +# Logs dun service +docker logs -f + +# RedĂ©marrer un service +docker restart + +# RecrĂ©er un service (aprĂšs modif compose) +cd ~/docker/talloires && docker compose up -d + +# Tout redĂ©marrer +cd ~/docker/talloires && docker compose down && docker compose up -d + +# Shell dans un container +docker exec -it sh +``` + +## Caddy + +```bash +# Recharger la config +docker exec caddy caddy reload --config /etc/caddy/Caddyfile + +# Voir les logs +docker logs caddy -f + +# Tester la config +docker exec caddy caddy validate --config /etc/caddy/Caddyfile +``` + +## Authelia + +```bash +# Logs +docker logs authelia -f + +# GĂ©nĂ©rer un hash de mot de passe +docker exec authelia authelia crypto hash generate argon2 --password "motdepasse" + +# GĂ©nĂ©rer un hash pour OIDC secret +docker exec authelia authelia crypto hash generate pbkdf2 --password "secret" +``` + +## Backup + +```bash +# Lancer un backup manuel +~/backup-to-annecy.sh + +# Voir le log +cat ~/backup.log + +# Lister les backups sur Annecy +sudo ssh -i /root/.ssh/id_ed25519 rsync-talloires@10.171.171.50 "ls -lh /volume1/Backups/talloires/" +``` + +## SystĂšme + +```bash +# Espace disque +df -h + +# MĂ©moire +free -h + +# TempĂ©rature CPU +vcgencmd measure_temp + +# Services systemd +sudo systemctl status docker +sudo systemctl status cockpit + +# Logs systĂšme +journalctl -f +``` + +## RĂ©seau + +```bash +# IP des containers +docker network inspect talloires_net | grep -A2 Name + +# Test DNS Docker +docker exec caddy nslookup authelia + +# Connecter un container au rĂ©seau +docker network connect talloires_net +``` + +## CrowdSec + +```bash +# Status +docker exec crowdsec cscli metrics + +# DĂ©cisions actives (bans) +docker exec crowdsec cscli decisions list + +# Ajouter un ban manuel +docker exec crowdsec cscli decisions add --ip 1.2.3.4 --reason "test" +``` + +## Certificats + +```bash +# Exporter le CA Caddy (pour clients) +docker exec caddy cat /data/caddy/pki/authorities/local/root.crt > caddy-ca.crt + +# Installer sur Mac +security add-trusted-cert -d -r trustRoot -k ~/Library/Keychains/login.keychain-db caddy-ca.crt +``` diff --git a/docs/reference/ports.md b/docs/reference/ports.md new file mode 100644 index 0000000..ccadd72 --- /dev/null +++ b/docs/reference/ports.md @@ -0,0 +1,77 @@ +# Ports utilisĂ©s + +## Ports exposĂ©s (accessibles via rĂ©seau) + +| Port | Service | Protocol | Notes | +|------|---------|----------|-------| +| 80 | Caddy (redirect HTTPS) | TCP | Redirige vers 443 | +| 443 | Caddy (reverse proxy) | TCP | Point d'entrĂ©e principal | +| 8096 | Jellyfin | TCP | AccĂšs direct (optionnel) | +| 3030 | Gitea HTTP | TCP | MappĂ© depuis 3000 interne | +| 2222 | Gitea SSH | TCP | MappĂ© depuis 22 interne | +| 8123 | Home Assistant | TCP | Mode host network | +| 9090 | Cockpit | TCP | Admin systĂšme | +| 1514 | Syslog-ng | TCP/UDP | Collecte syslog | +| 51413 | Transmission P2P | TCP/UDP | BitTorrent | + +## Ports internes Docker (talloires_net) + +| Port | Service(s) | Notes | +|------|------------|-------| +| 3000 | Gitea, Grafana, Linkwarden, Hoarder, Outline | Plusieurs services partagent ce port | +| 3001 | Uptime Kuma | | +| 3100 | Loki | AgrĂ©gation logs | +| 3456 | Vikunja | | +| 5001 | Dockge | | +| 5432 | PostgreSQL | Linkwarden-db, Outline-db | +| 6379 | Redis | Outline-redis | +| 8000 | MkDocs | | +| 8010 | LanguageTool | | +| 9000 | Portainer | | +| 9091 | Authelia, Transmission Web | | +| 19999 | Netdata | | + +## URLs par domaine + +### AccĂšs local (.talloires.local) - avec Authelia + +| Service | URL | Authentification | +|---------|-----|------------------| +| Homepage | https://talloires.local | Authelia | +| Auth | https://auth.talloires.local | - | +| Git | https://git.talloires.local | OIDC Authelia | +| Jellyfin | https://jellyfin.talloires.local | Authelia | +| Grafana | https://grafana.talloires.local | Header Auth | +| Portainer | https://portainer.talloires.local | Authelia | +| Dockge | https://dockge.talloires.local | Authelia | +| Docs | https://docs.talloires.local | Authelia | +| Vikunja | https://vikunja.talloires.local | Authelia | +| Outline | https://outline.talloires.local | OIDC Authelia | +| Hoarder | https://hoarder.talloires.local | Authelia | +| Linkwarden | https://linkwarden.talloires.local | Authelia | +| LanguageTool | https://languagetool.talloires.local | Authelia | +| Transmission | https://transmission.talloires.local | Authelia | +| Netdata | https://netdata.talloires.local | Authelia | +| Uptime Kuma | https://uptime.talloires.local | Authelia | +| Cockpit | https://cockpit.talloires.local | Authelia | +| Home Assistant | https://homeassistant.talloires.local | Authelia | + +### AccĂšs ZeroTier (.talloires.1871.zt) - sans Authelia + +Ces URLs sont accessibles depuis l'extĂ©rieur via le rĂ©seau ZeroTier, sans passer par Authelia (authentification propre Ă  chaque service). + +| Service | URL | Auth native | +|---------|-----|-------------| +| Vikunja | https://vikunja.talloires.1871.zt | Vikunja login | +| Outline | https://outline.talloires.1871.zt | OIDC Authelia | +| Hoarder | https://hoarder.talloires.1871.zt | Hoarder login | +| Linkwarden | https://linkwarden.1871.zt | Linkwarden login | +| LanguageTool | https://languagetool.talloires.1871.zt | Aucune (API) | + +## RĂ©seau ZeroTier + +| Serveur | IP ZeroTier | RĂŽle | +|---------|-------------|------| +| Talloires | 10.144.221.22 | Serveur principal (Pi5) | +| Annecy | 10.144.78.193 | NAS Synology (backup) | +| Olympou | 10.144.46.46 | Mac de travail | diff --git a/docs/reference/scripts.md b/docs/reference/scripts.md new file mode 100644 index 0000000..0fccbfd --- /dev/null +++ b/docs/reference/scripts.md @@ -0,0 +1,56 @@ +# Scripts de maintenance + +Scripts utilitaires pour la gestion de Talloires. + +## update-containers.sh + +Met Ă  jour tous les containers Docker en parcourant les rĂ©pertoires avec un fichier docker-compose. + +**Emplacement** : + +=== Pulling latest images === + +**Usage** : + + +--- + +## transmission-toggle.sh + +Active/dĂ©sactive le container Transmission Ă  la demande (Ă©conomie de ressources). + +**Emplacement** : + +🔮 Transmission is STOPPED + +**Usage** : + + +--- + +## backup-to-annecy.sh + +Sauvegarde les configs Docker vers le NAS Synology (Annecy). + +**Emplacement** : + + + +**Planification** : Cron Ă  3h00 quotidien + + +**VĂ©rifier les backups** : + + +--- + +## Watchtower (automatique) + +Watchtower vĂ©rifie et met Ă  jour automatiquement les containers Ă  4h00. + +**Configuration** : Dans + + + +**Logs** : + diff --git a/docs/services/authelia.md b/docs/services/authelia.md new file mode 100644 index 0000000..bf9883c --- /dev/null +++ b/docs/services/authelia.md @@ -0,0 +1,182 @@ +# Authelia - SSO + +Authelia fournit l'authentification unique (SSO) pour tous les services Talloires. + +## AccĂšs + +| ParamĂštre | Valeur | +|-----------|--------| +| URL | [auth.talloires.local](https://auth.talloires.local) | +| Utilisateur | lionel | +| Email | dflected@dflected.org | +| 2FA | TOTP activĂ© | + +## Services protĂ©gĂ©s (forward_auth) + +Ces services requiĂšrent une authentification via Authelia avant d'accĂ©der au backend : + +| Service | URL | +|---------|-----| +| docs | docs.talloires.local | +| portainer | portainer.talloires.local | +| dockge | dockge.talloires.local | +| transmission | transmission.talloires.local | +| netdata | netdata.talloires.local | +| homeassistant | homeassistant.talloires.local | +| uptime | uptime.talloires.local | +| cockpit | cockpit.talloires.local | +| vikunja | vikunja.talloires.local | +| hoarder | hoarder.talloires.local | +| linkwarden | linkwarden.talloires.local | +| languagetool | languagetool.talloires.local | +| jellyfin | jellyfin.talloires.local | + +## Services avec OAuth/OIDC + +Ces services utilisent Authelia comme provider OpenID Connect : + +### Gitea +| ParamĂštre | Valeur | +|-----------|--------| +| Client ID | gitea | +| Redirect URI | https://git.talloires.local/user/oauth2/Authelia/callback | +| Scopes | openid, email, profile | + +### Outline +| ParamĂštre | Valeur | +|-----------|--------| +| Client ID | outline | +| Redirect URI | https://outline.talloires.local/auth/oidc.callback | +| Scopes | openid, offline_access, profile, email | + +### Grafana (Header Auth) +Grafana utilise l'authentification par header via Authelia (pas OIDC) : + +| Header | Valeur | +|--------|--------| +| Remote-User | Utilisateur authentifiĂ© | +| Remote-Email | Email de l'utilisateur | + +## Configuration + +### Fichiers +| Fichier | Usage | +|---------|-------| +| ~/docker/authelia/config/configuration.yml | Config principale | +| ~/docker/authelia/config/users_database.yml | Base utilisateurs | +| ~/docker/authelia/config/oidc.key | ClĂ© privĂ©e OIDC | + +### SMTP (Proton Mail) +| ParamĂštre | Valeur | +|-----------|--------| +| Serveur | smtp.protonmail.ch:465 | +| Protocol | TLS implicite (submissions://) | +| From | Talloires | + +### Buffers HTTP + +Pour Ă©viter l'erreur 431 (Request Header Fields Too Large), la config inclut : + +```yaml +server: + buffers: + read: 8192 + write: 8192 +``` + +## IntĂ©gration Caddy + +### Snippet forward_auth +``` +(authelia) { + forward_auth authelia:9091 { + uri /api/authz/forward-auth + copy_headers Remote-User Remote-Groups Remote-Email Remote-Name + } +} +``` + +### Usage dans Caddyfile +``` +monservice.talloires.local { + import authelia + reverse_proxy backend:port + tls internal +} +``` + +### Bypass Authelia (accĂšs ZeroTier) +``` +monservice.talloires.1871.zt { + # Pas de forward_auth = pas d'Authelia + reverse_proxy backend:port + tls internal +} +``` + +## Ajouter un client OIDC + +1. GĂ©nĂ©rer le hash du secret : +```bash +docker exec authelia authelia crypto hash generate pbkdf2 --password "mon-secret" +``` + +2. Ajouter dans configuration.yml (section identity_providers.oidc.clients) : +```yaml +- client_id: nouveau_client + client_name: Mon Service + client_secret: "$pbkdf2-sha512$..." + public: false + authorization_policy: two_factor + redirect_uris: + - https://service.talloires.local/callback + scopes: + - openid + - email + - profile + token_endpoint_auth_method: client_secret_post +``` + +3. RedĂ©marrer Authelia : +```bash +docker restart authelia +``` + +## Commandes utiles + +```bash +# Logs +docker logs authelia -f + +# GĂ©nĂ©rer un hash de mot de passe utilisateur +docker exec authelia authelia crypto hash generate argon2 --password "motdepasse" + +# GĂ©nĂ©rer un hash pour OIDC client secret +docker exec authelia authelia crypto hash generate pbkdf2 --password "secret" + +# Valider la configuration +docker exec authelia authelia validate-config +``` + +## DĂ©pannage + +### Erreur 431 (Header Fields Too Large) +Augmenter les buffers dans configuration.yml : +```yaml +server: + buffers: + read: 8192 + write: 8192 +``` + +### OIDC "invalid_client" +VĂ©rifier que le client_secret est hashĂ© avec pbkdf2 (pas argon2). + +### Cookies non persistants +VĂ©rifier que le domain est correct dans session : +```yaml +session: + cookies: + - domain: talloires.local + authelia_url: https://auth.talloires.local +``` diff --git a/docs/services/backup.md b/docs/services/backup.md new file mode 100644 index 0000000..58f95af --- /dev/null +++ b/docs/services/backup.md @@ -0,0 +1,76 @@ +# Backup + +Sauvegarde automatique de Talloires vers Annecy (Synology NAS). + +## Configuration + +| ParamĂštre | Valeur | +|-----------|--------| +| Script | ~/backup-to-annecy.sh | +| Destination | rsync-talloires@10.171.171.50:/volume1/Backups/talloires/ | +| MĂ©thode | tar over SSH (rsync SUID bloquĂ© sur Synology DSM 7) | +| Schedule | Cron quotidien Ă  3h00 | +| RĂ©tention | 7 derniers backups | +| Log | ~/backup.log | + +## DonnĂ©es sauvegardĂ©es + +- ~/docker/ (toutes les configs Docker) + +### Exclusions +- *.log +- */cache/* +- */logs/* +- */__pycache__/* + +## Authentification SSH + +- ClĂ© privĂ©e (root): /root/.ssh/id_ed25519 +- ClĂ© privĂ©e (lionel): ~/.ssh/id_ed25519 +- Utilisateur distant: rsync-talloires +- Fingerprint: SHA256:CxpeBfvrBV/s+RNE49SwrY3WsG28Du3nyQ/2D9lApU8 + +## Commandes + +### Lancer un backup manuel +```bash +~/backup-to-annecy.sh +``` + +### VĂ©rifier le log +```bash +cat ~/backup.log +``` + +### VĂ©rifier les backups sur Annecy +```bash +sudo ssh -i /root/.ssh/id_ed25519 rsync-talloires@10.171.171.50 "ls -lh /volume1/Backups/talloires/" +``` + +### Restaurer un backup +```bash +# Sur Talloires +sudo ssh -i /root/.ssh/id_ed25519 rsync-talloires@10.171.171.50 "cat /volume1/Backups/talloires/docker-backup-YYYYMMDD-HHMMSS.tar.gz" | sudo tar -xzf - -C /home/lionel/ +``` + +## Cron + +```bash +# Voir le cron +sudo crontab -l + +# Modifier +sudo crontab -e +``` + +EntrĂ©e actuelle : +``` +0 3 * * * /home/lionel/backup-to-annecy.sh +``` + +## Notes techniques + +Le rsync classique ne fonctionne pas avec Synology DSM 7 car : +- rsync est SUID root sur DSM +- Les utilisateurs non-admin nont pas de shell par dĂ©faut +- Solution: tar over SSH fonctionne parfaitement diff --git a/docs/services/overview.md b/docs/services/overview.md new file mode 100644 index 0000000..6da4d97 --- /dev/null +++ b/docs/services/overview.md @@ -0,0 +1,149 @@ +# Vue ensemble des services + +## Architecture + +``` +Client (Mac/iPhone) + | + | HTTPS (certificat Caddy CA) + v +[Caddy] :443 + | + +-- forward_auth --> [Authelia] :9091 + | | + | (si authentifiĂ©) + | | + +-------------------------+ + | + v +Services Docker +``` + +## Services actifs (24 containers) + +### 🎬 MĂ©dia +| Service | Container | Port | Description | +|---------|-----------|------|-------------| +| Jellyfin | jellyfin | 8096 | Streaming vidĂ©o avec transcodage hardware (VideoCore) | +| Transmission | transmission | 9091, 51413 | Client BitTorrent avec web UI | + +### ✅ ProductivitĂ© +| Service | Container | Port | Description | +|---------|-----------|------|-------------| +| Vikunja | vikunja | 3456 | Gestion de tĂąches style Todoist/Trello avec CalDAV | +| Outline | outline + outline-db + outline-redis | 3000 | Wiki collaboratif avec OIDC (PostgreSQL + Redis) | +| Hoarder | hoarder | 3000 | Bookmarks intelligents avec tagging AI (Anthropic) | +| Linkwarden | linkwarden + linkwarden-db | 3000 | Gestionnaire de bookmarks avancĂ© avec archivage | +| LanguageTool | languagetool | 8010 | Serveur de correction grammaticale (FR/EN/DE) | + +### 🔧 Infrastructure +| Service | Container | Port | Description | +|---------|-----------|------|-------------| +| Portainer | portainer | 9000 | Interface de gestion Docker | +| Dockge | dockge | 5001 | Interface Docker Compose | +| Gitea | gitea | 3000, 22 | Serveur Git avec SSO Authelia | +| MkDocs | mkdocs | 8000 | Cette documentation | + +### 📊 Monitoring +| Service | Container | Port | Description | +|---------|-----------|------|-------------| +| Grafana | grafana | 3000 | Dashboards et visualisation (header auth via Authelia) | +| Netdata | netdata | 19999 | Monitoring systĂšme temps rĂ©el | +| Uptime Kuma | uptime-kuma | 3001 | Surveillance uptime des services | +| Loki | loki | 3100 | AgrĂ©gation de logs | +| Promtail | promtail | - | Collecte de logs pour Loki | +| Syslog-ng | syslog-ng | 1514 | Collecte syslog centralisĂ©e | + +### 🏠 Domotique +| Service | Container | Port | Description | +|---------|-----------|------|-------------| +| Home Assistant | homeassistant | 8123 | Automatisation domotique (mode host network) | + +### 🔐 SĂ©curitĂ© +| Service | Container | Port | Description | +|---------|-----------|------|-------------| +| Authelia | authelia | 9091 | SSO, 2FA, OIDC provider | +| CrowdSec | crowdsec | - | IDS/IPS collaboratif | +| Caddy | caddy | 80, 443 | Reverse proxy avec TLS automatique | + +### 🔄 Maintenance +| Service | Container | Port | Description | +|---------|-----------|------|-------------| +| Watchtower | watchtower | 8080 | Mise Ă  jour auto des containers (4h00) | + +## RĂ©pertoires Docker + +``` +~/docker/ +├── authelia/ # Config SSO +├── caddy/ # Caddyfile + certificats +├── crowdsec/ # Config IDS +├── dockge/ # Stacks Dockge +├── docs/ # MkDocs (cette doc) +├── gitea/ # Config + data Gitea +├── grafana/ # Dashboards +├── homeassistant/ # Config HA +├── languagetool/ # Config LT +├── linkwarden/ # Config Linkwarden +├── outline/ # Config Outline +├── syslog-ng/ # Config syslog +├── talloires/ # Stack principal (docker-compose.yml) +├── uptime-kuma/ # Data Uptime Kuma +├── vikunja/ # Config Vikunja +└── zeronsd/ # DNS ZeroTier +``` + +## RĂ©seau + +| RĂ©seau | Plage | Usage | +|--------|-------|-------| +| ZeroTier | 10.144.0.0/16 | AccĂšs distant | +| Docker talloires_net | 172.20.0.0/16 | Inter-containers | +| LAN physique | 10.171.171.0/24 | RĂ©seau local | + +### Adresses ZeroTier clĂ©s +| Serveur | IP | +|---------|-----| +| Talloires (Pi5) | 10.144.221.22 | +| Annecy (Synology) | 10.144.78.193 | +| Olympou (Mac) | 10.144.46.46 | + +## Stockage + +| Mount | Source | Usage | +|-------|--------|-------| +| /mnt/mediaserver | USB SSD 4TB | Films, SĂ©ries, Downloads, Databases | +| ~/docker | SD Card | Configs Docker lĂ©gĂšres | + +### Structure USB (/mnt/mediaserver) +``` +/mnt/mediaserver/ +├── databases/ +│ ├── languagetool/ngrams/ # N-grams FR/EN/DE (~8GB) +│ └── outline/ +│ ├── data/ # Fichiers Outline +│ ├── postgres/ # PostgreSQL Outline +│ └── redis/ # Redis Outline +├── downloads/ # Transmission +├── movies/ # Films (Jellyfin) +└── series/ # SĂ©ries (Jellyfin) +``` + +## Backup + +| ParamĂštre | Valeur | +|-----------|--------| +| Destination | Annecy (Synology) | +| Schedule | 3h00 quotidien | +| RĂ©tention | 7 jours | +| MĂ©thode | tar over SSH | + +Voir [Scripts de maintenance](../reference/scripts.md) pour les dĂ©tails. + +## Maintenance automatique + +| TĂąche | Schedule | Outil | +|-------|----------|-------| +| Mise Ă  jour containers | 4h00 | Watchtower | +| Backup vers Annecy | 3h00 | backup-to-annecy.sh (cron) | +| Nettoyage images | AprĂšs update | docker image prune | diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 0000000..1bb313d --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,36 @@ +site_name: Talloires +site_description: Documentation du serveur Talloires +site_url: https://docs.talloires.local + +theme: + name: material + palette: + scheme: slate + primary: indigo + accent: indigo + features: + - navigation.instant + - navigation.sections + - navigation.expand + - toc.integrate + +extra_javascript: + - javascripts/external-links.js + +nav: + - Accueil: index.md + - Services: + - Vue ensemble: services/overview.md + - Authelia SSO: services/authelia.md + - Backup: services/backup.md + - RĂ©fĂ©rence: + - Ports: reference/ports.md + - Commandes: reference/commands.md + - Scripts: reference/scripts.md + +markdown_extensions: + - tables + - admonition + - pymdownx.highlight + - pymdownx.superfences + - pymdownx.details