33800 Docs

← Retour

Réorganisation VMs - Docker-prod + Claude

Date : 03-01-2026 Durée : ~1h30 Status : Terminé (Phase 4 Windows reste à faire)


Objectif

Séparer les responsabilités :


Résumé des actions

Phase 1 : Création VM docker-prod

  1. Création VM 207 sur PVE

    • Image cloud Debian 12 avec cloud-init
    • 4 vCPU, 8 Go RAM, 50 Go disque
    • IP : 192.168.1.12
  2. Configuration automatique

    # Cloud-init
    User: gouroubleu
    Password: MyUlia75$w
    SSH key: prod-portainer-deploy
    IP: 192.168.1.12/24
  3. Installation Docker + NFS

    apt install nfs-common avahi-daemon
    mount 192.168.1.10:/stock_36to /mnt/stock_36to
    curl -fsSL https://get.docker.com | sh

Phase 2 : Migration des containers

Containers migrés de prod-portainer vers docker-prod :

Stack Méthode Status
Redis docker compose up OK
Monitoring (Prometheus, Grafana) docker compose up OK
Supabase (14 services) docker compose up OK
Notifications (ntfy, apprise) docker compose up OK
HelloCar (api, public, admin) docker save/load OK
notif-logger docker save/load OK
yolo-api docker save/load OK
whisper-api docker save/load OK
Portainer docker run OK

Phase 3 : Conversion prod-portainer → claude

  1. Renommage VM

    qm set 206 --name claude
    hostnamectl set-hostname claude
  2. Suppression Docker

    apt remove docker-ce docker-ce-cli containerd.io
    rm -rf /var/lib/docker

Phase 4 : Mise à jour Nginx

Configs mises à jour (192.168.1.11 → 192.168.1.12) :


Architecture finale

PVE (192.168.1.10)
├── VM 201 - win11 (192.168.1.30)
│   └── Jeux, Ollama, ComfyUI
│
├── VM 206 - claude (192.168.1.11)
│   └── Sessions Claude (pas de Docker)
│
├── VM 207 - docker-prod (192.168.1.12)
│   └── Portainer, Redis, Supabase, HelloCar, etc.
│
└── Stockage ZFS
    ├── stock_36to : RAIDZ2 5x12TB (~33TB)
    └── stock_8to : RAIDZ1 3x4TB (~7.8TB)

Containers sur docker-prod

Container Port Image
portainer 9443, 9000 portainer/portainer-ce
redis-prod 6379 redis:7.4-alpine
redis-exporter-prod 9121 oliver006/redis_exporter
prometheus 9090 prom/prometheus
grafana 3000 grafana/grafana
supabase-* 8200, 8201, 5433, 4100 supabase/*
hellocar-api-prod 4510 hellocar-api:prod
hellocar-public-prod 4501 hellocar-public:prod
hellocar-admin-prod 4500 hellocar-admin:prod
notif-logger 5300 notif-logger-notif-logger
ntfy 8080 binwiederhier/ntfy
apprise 8000 caronc/apprise
yolo-api 9200 yolo-api-yolo-api
whisper-api 9100 onerahmet/openai-whisper-asr-webservice

Prochaines étapes

Phase 4 (non faite) : Virtualiser Windows

Objectif : Remplacer les SSDs passthrough par un zvol ZFS

  1. Backup données Windows vers W: (stock_8to)
  2. Créer zvol stock_36to/win_storage (3TB)
  3. Retirer SSDs passthrough de win11
  4. Ajouter zvol comme scsi1
  5. Restaurer données

SSDs libérés :


Phase 5 : Migration nginx vers PVE

nginx migré de Proxmox 1 (VM 100) vers PVE (VM 107) pour démarrer avec le ZFS.

  1. Backup sur Proxmox 1 : vzdump 100
  2. Transfert vers PVE via claude (11GB)
  3. Restore : qmrestore vzdump-qemu-100-*.vma.zst 107
  4. Suppression référence CDROM (ISO introuvable)
  5. Démarrage et test OK

Incident : Freeze Windows GPU

Symptômes :

Cause : Crash driver NVIDIA (GPU passthrough RTX 3070 Ti)

Fix :

ssh gouroubleu@pve.local "sudo qm stop 201 --timeout 10"
ssh gouroubleu@pve.local "sudo qm start 201"

Après reboot : Remonter les lecteurs réseau W: et Z: (script mount_drives.bat)


Commandes utiles

# SSH vers les VMs
ssh gouroubleu@claude.local        # Cette VM (ex-prod-portainer)
ssh gouroubleu@docker-prod.local   # Docker production

# Vérifier containers
ssh gouroubleu@docker-prod.local "docker ps"

# Logs Portainer
ssh gouroubleu@docker-prod.local "docker logs portainer"

# Accès Portainer
https://192.168.1.12:9443

Fichiers modifiés