Générer des images sur votre propre serveur GPU signifie aucun journal de prompts conservé par un tiers, aucun filtre de contenu que vous n'avez pas choisi et un coût constant quel que soit le nombre d'images produites. Ce guide installe ComfyUI, une interface à base de nœuds pour Stable Diffusion et des modèles similaires, sous Ubuntu.
Choisissez le GPU
La mémoire vidéo est la contrainte. 8 Go font tourner SD 1.5 confortablement, 12 à 16 Go gèrent bien SDXL et 24 Go laissent de la place pour des modèles plus récents et plus grands ainsi que pour des résolutions plus élevées. Si vous hésitez, consultez GPU grand public contre GPU de datacenter. Prévoyez aussi environ 50 Go de disque, car les fichiers de modèles sont volumineux.
Étape 1 : vérifiez le pilote
nvidia-smi
S'il affiche votre GPU, le pilote fonctionne. Sinon, installez le pilote recommandé avec sudo ubuntu-drivers autoinstall et redémarrez.
Étape 2 : installez ComfyUI
sudo apt update && sudo apt install -y git python3-venv
git clone https://github.com/comfyanonymous/ComfyUI
cd ComfyUI
python3 -m venv venv
. venv/bin/activate
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu121
pip install -r requirements.txt
Faites correspondre l'index des wheels CUDA à la version que PyTorch recommande pour votre pilote. Consultez leur page d'installation si la commande ci-dessus a changé.
Étape 3 : ajoutez un modèle
Téléchargez un checkpoint que vous avez le droit d'utiliser dans ComfyUI/models/checkpoints/. Lisez la licence du modèle concernant l'usage commercial avant de bâtir un produit dessus.
cd models/checkpoints
wget -O model.safetensors "https://example.com/path/to/model.safetensors"
Étape 4 : démarrez-le en privé
Par défaut, ComfyUI n'écoute que sur localhost, ce qui est ce que vous voulez. Accédez-y par un tunnel SSH.
python main.py --listen 127.0.0.1 --port 8188
ssh -L 8188:127.0.0.1:8188 user@your-server
Ouvrez http://127.0.0.1:8188 sur votre propre ordinateur. N'exposez pas le port à Internet : il n'y a pas d'authentification par défaut.
Étape 5 : gardez-le en fonctionnement
sudo tee /etc/systemd/system/comfyui.service > /dev/null <<'UNIT'
[Unit]
Description=ComfyUI
After=network-online.target
[Service]
User=ubuntu
WorkingDirectory=/home/ubuntu/ComfyUI
ExecStart=/home/ubuntu/ComfyUI/venv/bin/python main.py --listen 127.0.0.1
Restart=on-failure
[Install]
WantedBy=multi-user.target
UNIT
sudo systemctl daemon-reload && sudo systemctl enable --now comfyui
Adaptez l'utilisateur et les chemins à votre serveur.
Coût et confidentialité comparés aux outils hébergés
- Coût : un GPU facturé à l'heure coûte la même chose que vous génériez dix images ou dix mille. Il est plus avantageux que la tarification à l'image quand vous générez en masse, et moins avantageux quand vous générez rarement : arrêtez donc le serveur lorsqu'il est inactif.
- Confidentialité : les prompts et les résultats restent sur une machine que vous contrôlez, et vous pouvez payer avec Monero ou d'autres cryptomonnaies sans pièce d'identité.
- Contrôle : vous choisissez le modèle, l'échantillonneur et les paramètres de sécurité, et vous assumez la responsabilité de leur usage.
Pour les modèles de texte sur le même matériel, consultez Ollama et Open WebUI.