33800 Docs

← Retour

Workflows et Architecture Complète

Source : CLAUDE.md lignes 976-1020, 1194-1355

Commandes SSH utiles

# Machines Linux
ssh gouroubleu@prod-portainer.local
ssh gouroubleu@gitlab.local
ssh gouroubleu@nginx.local
ssh gouroubleu@dev-portainer.local
ssh gouroubleu@vscode.local
ssh gouroubleu@jellyfin.local

# Windows
ssh gouro@win11.local

# Réseau stockage (speed)
ssh gouroubleu@prod-portainer-speed.local
ssh gouroubleu@pve-speed.local

ZFS (sur PVE)

# Status pools
zpool status

# Liste datasets
zfs list

# Snapshot
zfs snapshot stock_8to/33800-stack@backup-$(date +%Y%m%d)

Convention de nommage

Domaines

Branches Git

Environnement Branche Config
PROD main conf.prod.gouroubleu.yml
DEV develop conf.dev.gouroubleu.yml

Architecture Complete Stack

Vue d'ensemble

┌─────────────────────────────────────────────────────────────────────────────┐
│                           WORKFLOW COMPLET                                   │
│                                                                              │
│   CODE                 BUILD              RUN               EXPOSE           │
│   ────                 ─────              ───               ──────           │
│   GitLab      →       Docker      →     Containers    →    Nginx            │
│   (versioning)        (images)          (services)         (reverse proxy)  │
│                                              │                               │
│                                              ▼                               │
│                                      ┌──────────────┐                        │
│                                      │   STOCKAGE   │                        │
│                                      │   ZFS RAID   │                        │
│                                      └──────────────┘                        │
│                                              │                               │
│                                              ▼                               │
│                                      ┌──────────────┐                        │
│                                      │   BACKUP     │                        │
│                                      │   rsync      │                        │
│                                      └──────────────┘                        │
└─────────────────────────────────────────────────────────────────────────────┘

1. CODE - GitLab

Element Valeur
URL https://gitlab.33800.nowhere84.com
Machine gitlab.local (192.168.1.196)
Donnees /stock_1to/gitlab-data/
Backup Automatique toutes les 6h

Usage :

2. BUILD - Docker

Environnement Machine data-root
PROD prod-portainer (192.168.1.12) /mnt/stock_8to/33800-stack/docker/prod/
DEV dev-portainer (192.168.1.51) /stock_1to/dev-stack/docker/

Workflow build :

# Sur prod-portainer
cd /mnt/stock_8to/33800-stack/docker/stacks/[service]
docker compose build
docker compose up -d

3. RUN - Containers

Stacks PROD actives : | Stack | Containers | Compose | |-------|------------|---------| | notifications | ntfy, apprise, notif-logger | docker/stacks/notifications/ | | supabase | postgres, kong, etc | docker run direct |

Stacks DEV : | Stack | Containers | |-------|------------| | supabase-dev | Full stack 26 containers |

4. EXPOSE - Nginx

Element Valeur
Machine nginx.local (192.168.1.104)
IP publique 82.65.119.221
Wildcard SSL *.33800.nowhere84.com
Configs /etc/nginx/sites-available/

Domaines exposes (nginx local) :

Domaines O2switch :

5. STOCKAGE - ZFS RAID

Pool Config Capacite Role
stock_8to RAIDZ1 (3x4To) 7.2 To Donnees actives PROD
stock_36to RAIDZ2 (5x12To) 33 To Backup + Medias
stock_1to Mirror (2xSSD) 928 Go Donnees DEV + GitLab

Maintenance ZFS :

# Status pools
zpool status

# Scrub mensuel (automatique)
zpool scrub stock_8to

# Snapshot manuel
zfs snapshot stock_8to/33800-stack@backup-$(date +%Y%m%d)

6. BACKUP - Rsync

Source Destination Frequence
stock_8to/33800-stack stock_36to/backup-stock8 Horaire
GitLab stock_1to/gitlab-backup 6h

Script rsync : /usr/local/bin/rsync-stock8-to-stock36.sh

Workflow Deploiement

Deployer un nouveau service

1. CODE      : Push sur GitLab (branche main pour PROD)
2. BUILD     : docker compose build sur prod-portainer
3. RUN       : docker compose up -d
4. EXPOSE    : Ajouter config nginx si acces externe
5. MONITOR   : Ajouter au dashboard monitoring
6. NOTIFY    : Configurer alertes si necessaire

Commandes frequentes

# Deployer stack
ssh gouroubleu@prod-portainer.local
cd /mnt/stock_8to/33800-stack/docker/stacks/[nom]
docker compose up -d

# Voir logs
docker logs -f [container]

# Ajouter config nginx
ssh gouroubleu@nginx.local
sudo nano /etc/nginx/sites-available/[service].conf
sudo nginx -t && sudo systemctl reload nginx

# Verifier backup
ls -la /stock_36to/data/backup-stock8/33800-stack/

# Lancer collecte monitoring
/stock_8to/33800-stack/monitoring/collect.sh

Freebox API (ajouté 17/01/2026)

Note : Pour obtenir des permissions de modification, ré-autoriser l'app sur l'écran Freebox et cocher "Modifier les réglages".