Documentation complète: infrastructure, réseau, issues, recommandations

This commit is contained in:
Lionel
2025-12-31 20:38:04 +01:00
parent 891d5f1a7d
commit cf5669b1fa
8 changed files with 641 additions and 802 deletions

View File

@@ -1,272 +1,119 @@
# Services Talloires v2.0
# Services
Documentation des services déployés sur l'infrastructure v2.0.
## Vue d'ensemble
---
| Service | Stack | Port interne | Auth |
|---------|-------|--------------|------|
| Caddy | infra | 443, 80 | - |
| Authelia | infra | 9091 | - |
| Jellyfin | media | 8096 | Propre |
| Gitea | tools | 3000 | OIDC Authelia |
| Shlink | tools | 8080 | - |
| Shlink-web | tools | 8080 | - |
| Home Assistant | automation | 8123 | Propre |
| Transmission | transmission | 9091 | Authelia |
| WireGuard | transmission | - | - |
| Netdata | monitoring | 19999 | Authelia |
| Dozzle | monitoring | 8080 | Authelia |
| Arcane | docker-mgmt | 3000 | Désactivé |
| MkDocs | mkdocs | 8000 | - |
| Signal-API | tools | 8080 | - |
## 🐳 Arcane - Docker Management UI
## Docker Compose Stacks
**URL**: `https://go/arcane`
**Port Direct**: `3552`
**Status**: ✅ Opérationnel
**License**: BSD-3-Clause (Open Source)
### Fonctionnalités
- ✅ Gestion containers (start/stop/restart/delete)
- ✅ Gestion images (pull/delete/inspect)
- ✅ Gestion volumes & networks
- ✅ Docker Compose templates
- ✅ Monitoring temps réel (CPU/RAM)
- ✅ Interface moderne SvelteKit
- ✅ Mobile responsive
### Credentials
```
Username: arcane
Password: arcane-admin
```
**⚠️ Important**: Changer le mot de passe par défaut lors de la première connexion.
### Configuration
### infra (`/home/lionel/talloires-v2/infra/`)
```yaml
# /home/lionel/talloires-v2/docker-mgmt/docker-compose.yml
services:
arcane:
image: ghcr.io/getarcaneapp/arcane:latest
container_name: arcane
networks:
- talloires_net
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./arcane-data:/app/data
environment:
- APP_ENV=production
- PUBLIC_SESSION_SECRET=<generated>
- ENCRYPTION_KEY=<generated>
- TZ=Europe/Luxembourg
- caddy # Reverse proxy + SSL
- authelia # SSO
```
### Features Clés
- **Projects**: Organiser les stacks Docker Compose
- **Templates**: Déploiement rapide de services
- **Logs**: Vue intégrée des logs containers
- **Stats**: Métriques CPU/RAM en temps réel
- **Remote Hosts**: Support multi-serveurs (via agents)
### Alternative À
- ❌ Portainer (proprietary license)
- ❌ Dockge (stability issues)
- ✅ Arcane = Open source + moderne + stable
---
## 📋 Dozzle - Docker Logs Viewer
**URL**: `https://go/logs`
**Port Direct**: `8080`
**Status**: ✅ Opérationnel
**License**: MIT (Open Source)
### Fonctionnalités
- ✅ Logs en temps réel (live tailing)
- ✅ Multi-container view
- ✅ Search & filter
- ✅ Dark/light mode
- ✅ Ultra-léger (~30 MB RAM)
- ✅ Aucune base de données requise
### Configuration
### media (`/home/lionel/talloires-v2/media/`)
```yaml
# /home/lionel/talloires-v2/docker-mgmt/docker-compose.yml
services:
dozzle:
image: amir20/dozzle:latest
container_name: dozzle
networks:
- talloires_net
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
environment:
- DOZZLE_LEVEL=info
- DOZZLE_FILTER=status=running
- TZ=Europe/Luxembourg
- jellyfin # Media server
```
### Use Cases
- 🔍 Debugging rapide de containers
- 📊 Monitoring logs en temps réel
- 🐛 Troubleshooting incidents
- 📈 Analyse de patterns
### tools (`/home/lionel/talloires-v2/tools/`)
```yaml
services:
- gitea # Git server
- shlink # URL shortener
- shlink-web # Shlink UI
- signal-api # Signal messaging
```
### Features
- **Real-time**: Logs streaming instantané
- **Search**: Recherche textuelle puissante
- **Filter**: Par container, niveau, temps
- **Lightweight**: Aucun overhead
### automation (`/home/lionel/talloires-v2/automation/`)
```yaml
services:
- homeassistant
```
---
### transmission (`/home/lionel/talloires-v2/transmission/`)
```yaml
services:
- wireguard # VPN tunnel
- transmission # BitTorrent client
```
## 🎬 Jellyfin - Serveur Média
### monitoring (`/home/lionel/talloires-v2/monitoring/`)
```yaml
services:
- netdata
- dozzle
```
**URL**: `https://go/jf`
**Port Direct**: `8096`
**Status**: ✅ Opérationnel
**Data**: 2.3 GB restauré depuis v1.0
### docker-mgmt (`/home/lionel/talloires-v2/docker-mgmt/`)
```yaml
services:
- arcane
```
### Configuration
- Accès Infuse: `100.116.198.105:8096`
- Authentification: Compte Jellyfin (lionel)
- Backup: Quotidien vers Annecy
### mkdocs (`/home/lionel/talloires-v2/mkdocs/`)
```yaml
services:
- mkdocs
```
---
## Dépendances
## 📥 Transmission - BitTorrent
```mermaid
graph TD
Internet --> Caddy
Caddy --> Authelia
Caddy --> Jellyfin
Caddy --> Gitea
Caddy --> HomeAssistant[Home Assistant]
Caddy --> Transmission
Caddy --> Netdata
Caddy --> Dozzle
Caddy --> Arcane
Caddy --> MkDocs
Caddy --> Shlink
Authelia --> |OIDC| Gitea
Authelia --> |Forward Auth| Transmission
Authelia --> |Forward Auth| Netdata
Authelia --> |Forward Auth| Dozzle
Transmission --> WireGuard
WireGuard --> ProtonVPN
Gitea --> |Sync| MkDocs
```
**URL**: `https://go/trn`
**Status**: ✅ Opérationnel + VPN Kill-switch
**VPN**: ProtonVPN Luxembourg (LU#44)
## Commandes utiles
### Sécurité VPN
- Network mode: `service:wireguard`
- Public IP: 5.253.204.190 (ProtonVPN)
- Kill-switch: Actif (pas de leak possible)
- Monitoring: Alertes Telegram si VPN down
### Configuration
- Watch directory: `/config/watch`
- Downloads: `/downloads`
- Web UI: Port 9091 (via WireGuard container)
---
## 💾 Gitea - Hébergement Git
**URL**: `https://go/git`
**SSH Port**: `2222`
**Status**: ✅ Opérationnel
### Comptes
- **admin**: lionel.dupre@pm.me (Admin)
- **lionel**: dflected@dflected.org (User)
### Clonage SSH
```bash
git clone ssh://git@talloires.local:2222/user/repo.git
# Status de tous les containers
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
# Redémarrer un service
docker restart jellyfin
# Logs en temps réel
docker logs -f jellyfin
# Entrer dans un container
docker exec -it jellyfin bash
```
### Données Restaurées
- Tous les repositories v1.0
- Clés SSH utilisateurs
- Configuration complète
---
## 🏠 Home Assistant
**URL**: `https://go/ha`
**Status**: ✅ Nouvelle installation (config requise)
### Configuration Initiale
1. Ouvrir `https://go/ha`
2. Créer compte admin
3. Configurer devices
---
## 📚 MkDocs - Documentation
**URL**: `https://go/docs`
**Status**: ✅ Opérationnel v2.0
### Structure
- Documentation v2.0 (active)
- Archive v1.0 (vault/)
---
## 📊 Netdata - Monitoring
**URL**: `https://go/net`
**Status**: ✅ Opérationnel
### Métriques Disponibles
- CPU, RAM, Disk I/O
- Network traffic
- Docker containers
- System load
### Netdata Cloud
Optionnel - Nécessite `NETDATA_CLAIM_TOKEN`
---
## 📱 Signal API - Notifications
**URL**: `https://go/sig`
**Port Direct**: `8080`
**Status**: ✅ Opérationnel
### Utilisation
```bash
# Envoyer notification
curl -X POST https://go/sig/v2/send \\
-H "Content-Type: application/json" \\
-d '{"message":"Test","number":"+33...","recipients":["+33..."]}'
```
---
## 🔗 Shlink - URL Shortener
**Web UI**: `https://go`
**API**: `https://api.shlink.talloires.local`
**Status**: ✅ Opérationnel
### Features
- Liens courts personnalisés
- Statistiques de clics
- QR codes
- API REST
---
## 🌐 Caddy - Reverse Proxy
**Status**: ✅ Opérationnel
**Protocole**: HTTPS (certificats internes)
### Fonctions
- Reverse proxy pour tous les services
- HTTPS automatique (certificats Caddy)
- Go-links routing
- Gestion certificats
### Configuration
```bash
/home/lionel/talloires-v2/caddy/Caddyfile
```
---
## 📊 Récapitulatif Services
| Service | URL | License | Status |
|---------|-----|---------|--------|
| **Arcane** | go/arcane | BSD-3 | ✅ |
| **Dozzle** | go/logs | MIT | ✅ |
| Jellyfin | go/jf | GPL-2 | ✅ |
| Transmission | go/trn | GPL-2 | ✅ |
| Gitea | go/git | MIT | ✅ |
| Home Assistant | go/ha | Apache-2 | ✅ |
| MkDocs | go/docs | BSD-2 | ✅ |
| Netdata | go/net | GPL-3 | ✅ |
| Signal API | go/sig | AGPL-3 | ✅ |
| Shlink | go | MIT | ✅ |
| Caddy | - | Apache-2 | ✅ |
**Total**: 11 services opérationnels
---
*Dernière mise à jour: 31 décembre 2025*