6.6 KiB
Référence des scripts de déploiement
📋 Vue d'ensemble
Ce document décrit tous les scripts disponibles pour le déploiement et la maintenance de zapwall.fr.
Scripts de déploiement
deploy.sh
Description : Déploiement initial complet avec vérifications approfondies.
Fonctionnalités :
- Vérification des ports (3001, 80, 443)
- Détection automatique de Docker/nginx
- Vérification des configurations existantes
- Transfert des fichiers
- Installation des dépendances
- Construction de l'application
- Configuration nginx (Docker ou système)
- Création du service systemd
- Vérifications post-déploiement
Utilisation :
./deploy.sh
Options :
- Mode non-interactif :
CI=true ./deploy.sh
update-remote-git.sh
Description : Mise à jour du site via Git directement sur le serveur.
Fonctionnalités :
- Initialisation Git si nécessaire
- Stash des modifications locales (y compris fichiers non suivis)
- Pull depuis la branche spécifiée
- Installation des dépendances
- Construction de l'application
- Redémarrage du service
- Vérifications complètes
Utilisation :
# Utilise la branche actuelle ou main par défaut
./update-remote-git.sh
# Spécifier une branche
./update-remote-git.sh main
Paramètres :
$1: Nom de la branche (optionnel, défaut: main)
update-from-git.sh
Description : Mise à jour depuis le dépôt Git local.
Fonctionnalités :
- Transfert des fichiers depuis le dépôt local
- Installation des dépendances
- Construction de l'application
- Redémarrage du service
Utilisation :
./update-from-git.sh [branche]
finish-deploy.sh
Description : Finalisation du déploiement (configuration nginx + service).
Fonctionnalités :
- Configuration nginx Docker
- Création du service systemd
- Démarrage et vérification
Utilisation :
./finish-deploy.sh
Scripts de vérification
check-deploy.sh
Description : Vérification préalable avant déploiement.
Vérifications :
- Connexion SSH
- Ports utilisés
- Port 3001 libre
- État de nginx
- Configurations existantes
- Services systemd
- Test de configuration nginx
Utilisation :
./check-deploy.sh
check-deployment-status.sh
Description : État complet du déploiement.
Informations affichées :
- Certificats SSL
- Configuration nginx
- État du service
- Ports en écoute
- Conteneur Docker
Utilisation :
./check-deployment-status.sh
check-nginx-config.sh
Description : Vérification de la configuration nginx.
Affichage :
- Configuration principale
- Toutes les configurations dans conf.d
- Configuration zapwall.fr
- Configuration default.conf
Utilisation :
./check-nginx-config.sh
check-git-repo.sh
Description : Vérification du dépôt Git sur le serveur.
Informations :
- Présence du dépôt Git
- Branche actuelle
- Dernier commit
- Remote configuré
Utilisation :
./check-git-repo.sh
final-status.sh
Description : Résumé de l'état final du déploiement.
Utilisation :
./final-status.sh
Scripts de configuration HTTPS
setup-https-autosigned.sh
Description : Configuration HTTPS avec certificats auto-signés.
Fonctionnalités :
- Génération de certificats auto-signés
- Configuration nginx avec HTTPS
- Redirection HTTP → HTTPS
- Headers de sécurité
Utilisation :
./setup-https-autosigned.sh
deploy-letsencrypt.sh
Description : Déploiement des certificats Let's Encrypt (mode standalone).
Fonctionnalités :
- Arrêt du conteneur nginx
- Obtention des certificats
- Copie dans le conteneur
- Mise à jour de la configuration
Utilisation :
./deploy-letsencrypt.sh
deploy-letsencrypt-webroot.sh
Description : Déploiement Let's Encrypt en mode webroot.
Fonctionnalités :
- Obtention des certificats sans arrêter nginx
- Utilisation du challenge webroot
Utilisation :
./deploy-letsencrypt-webroot.sh
generate-certs.sh
Description : Génération de certificats auto-signés.
Utilisation :
./generate-certs.sh
Scripts utilitaires
open-firewall-ports.sh
Description : Ouverture des ports 80 et 443 dans le firewall.
Fonctionnalités :
- Détection du type de firewall (UFW ou iptables)
- Ouverture des ports nécessaires
Utilisation :
./open-firewall-ports.sh
fix-nginx-config.sh
Description : Correction de la configuration nginx et du service.
Fonctionnalités :
- Vérification du répertoire du service
- Vérification de la construction
- Redémarrage du service
Utilisation :
./fix-nginx-config.sh
upgrade-python-certbot.sh
Description : Mise à jour de Python et Certbot.
Fonctionnalités :
- Installation de Python 3.12 si disponible
- Réinstallation de Certbot
Utilisation :
./upgrade-python-certbot.sh
Scripts de diagnostic
check-docker.sh
Description : Liste des conteneurs Docker.
Utilisation :
./check-docker.sh
check-ports.sh
Description : Vérification des ports utilisés.
Utilisation :
./check-ports.sh
check-nginx-docker.sh
Description : Configuration du nginx Docker.
Utilisation :
./check-nginx-docker.sh
Variables de configuration
Tous les scripts utilisent ces variables (modifiables dans chaque script) :
SERVER="debian@92.243.27.35"
APP_NAME="zapwall"
DOMAIN="zapwall.fr"
APP_PORT=3001
APP_DIR="/var/www/zapwall.fr"
NGINX_CONTAINER="lecoffre_nginx_test"
GIT_REPO="https://git.4nkweb.com/4nk/story-research-zapwall.git"
Ordre d'exécution recommandé
Déploiement initial
check-deploy.sh- Vérification préalabledeploy.sh- Déploiement completsetup-https-autosigned.sh- Configuration HTTPScheck-deployment-status.sh- Vérification finale
Mise à jour régulière
update-remote-git.sh- Mise à jour depuis Git
Dépannage
check-deployment-status.sh- État généralcheck-nginx-config.sh- Configuration nginxfix-nginx-config.sh- Correction si nécessaire
Notes importantes
- Tous les scripts nécessitent un accès SSH au serveur
- Les scripts utilisent
set -epour arrêter en cas d'erreur - Les modifications sont sauvegardées (stash Git) avant les mises à jour
- Les scripts vérifient l'état avant de modifier
Dernière mise à jour : 2025-12-28