64 lines
1.5 KiB
Markdown
64 lines
1.5 KiB
Markdown
# Docker Stacks
|
|
|
|
## Organisation
|
|
|
|
Les services sont organisés en stacks modulaires :
|
|
|
|
| Stack | Répertoire | Services |
|
|
|-------|------------|----------|
|
|
| Core | ~/docker/core | Caddy, Authelia, CrowdSec, Portainer, Dockge |
|
|
| Monitoring | ~/docker/monitoring | Uptime Kuma, Netdata, Grafana, Loki, Promtail |
|
|
| Media | ~/docker/media | Jellyfin, Transmission |
|
|
| Productivity | ~/docker/productivity | Gitea, MkDocs, Vikunja, LanguageTool |
|
|
| Homelab | ~/docker/homelab | Home Assistant, Watchtower |
|
|
| Linkwarden | ~/docker/linkwarden | Linkwarden + PostgreSQL |
|
|
| Outline | ~/docker/outline | Outline + PostgreSQL + Redis |
|
|
|
|
## Réseau
|
|
|
|
Tous les containers utilisent le réseau externe `talloires_net` :
|
|
|
|
```yaml
|
|
networks:
|
|
talloires_net:
|
|
external: true
|
|
```
|
|
|
|
## Volumes
|
|
|
|
### Volumes nommés (préfixés)
|
|
|
|
Attention lors des migrations : les volumes Docker sont préfixés par le nom du répertoire.
|
|
|
|
Exemple : `transmission_config` dans `~/docker/talloires` devient `talloires_transmission_config`.
|
|
|
|
**Solution** : Utiliser `external: true` pour les volumes existants :
|
|
|
|
```yaml
|
|
volumes:
|
|
talloires_transmission_config:
|
|
external: true
|
|
```
|
|
|
|
### Volumes bind mount
|
|
|
|
Préférer les bind mounts pour les données importantes :
|
|
|
|
```yaml
|
|
volumes:
|
|
- /home/lionel/docker/gitea:/data
|
|
```
|
|
|
|
## Commandes utiles
|
|
|
|
```bash
|
|
# Démarrer un stack
|
|
cd ~/docker/media && docker compose up -d
|
|
|
|
# Voir les logs
|
|
docker logs -f jellyfin
|
|
|
|
# Recréer un container
|
|
docker compose up -d --force-recreate jellyfin
|
|
```
|