story-research-zapwall/docs/scripts-reference.md

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

  1. check-deploy.sh - Vérification préalable
  2. deploy.sh - Déploiement complet
  3. setup-https-autosigned.sh - Configuration HTTPS
  4. check-deployment-status.sh - Vérification finale

Mise à jour régulière

  1. update-remote-git.sh - Mise à jour depuis Git

Dépannage

  1. check-deployment-status.sh - État général
  2. check-nginx-config.sh - Configuration nginx
  3. fix-nginx-config.sh - Correction si nécessaire

Notes importantes

  • Tous les scripts nécessitent un accès SSH au serveur
  • Les scripts utilisent set -e pour 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