Files
infrastructure/scripts
syoul 9132aeb5d1 feat: ajout documentation Nginx Proxy Manager et scripts de déploiement
- Documentation complète pour Nginx Proxy Manager (docs/10-configuration-nginx-proxy-manager.md)
- Script get-npm-token.sh pour générer automatiquement les tokens API
- Exemple complet de .woodpecker.yml avec logique inline de déploiement
- Documentation déploiement applications avec URLs dynamiques (docs/09-deploiement-applications.md)
- Script deploy.sh comme alternative optionnelle
- Mise à jour README avec références aux nouvelles documentations
2025-12-24 18:14:48 +01:00
..

Scripts et exemples de déploiement

Ce répertoire contient des exemples et scripts pour le déploiement d'applications.

Approche recommandée : Tout dans .woodpecker.yml

Recommandation : Intégrez toute la logique de déploiement directement dans votre fichier .woodpecker.yml. Cela permet d'avoir tout au même endroit et de voir exactement ce qui se passe.

Consultez le fichier .woodpecker.yml.example pour un exemple complet avec toute la logique inline.

Scripts disponibles

get-npm-token.sh

Script pour générer un token API pour Nginx Proxy Manager.

Usage :

./get-npm-token.sh [NPM_URL] [EMAIL]

Exemples :

# Avec valeurs par défaut (localhost:81, admin@example.com)
./get-npm-token.sh

# Avec URL personnalisée
./get-npm-token.sh http://192.168.42.144:81

# Avec URL et email personnalisés
./get-npm-token.sh http://192.168.42.144:81 votre_email@example.com

Le script vous demandera le mot de passe de manière sécurisée et affichera le token à copier dans Woodpecker CI.

deploy.sh (optionnel)

Script générique de déploiement avec génération automatique d'URLs dynamiques.

Note : Ce script est fourni comme alternative si vous préférez utiliser un script séparé plutôt que d'intégrer la logique dans .woodpecker.yml.

Fonctionnalités :

  • Déploiement de conteneurs Docker
  • Génération automatique d'URLs basées sur le nom et la branche
  • Enregistrement automatique dans Consul via labels
  • Configuration automatique de Nginx Proxy Manager
  • Health checks intégrés

Usage :

./deploy.sh <app-name> [port] [branch] [domain-base]

Configuration requise

Variables d'environnement

Variable Description Requis
DOCKER_NETWORK Réseau Docker partagé Non (défaut: gitgit_syoul_fr_gitea_net)
NPM_API_URL URL de l'API Nginx Proxy Manager Non (config manuelle si absent)
NPM_API_TOKEN Token d'API Nginx Proxy Manager Non (config manuelle si absent)
DOMAIN_BASE Domaine de base pour les URLs Non (défaut: syoul.fr)
CONSUL_TOKEN Token Consul Non (vérification optionnelle)

Prérequis

  • Docker installé et accessible
  • Réseau Docker gitgit_syoul_fr_gitea_net existant
  • Image Docker {app-name}:latest construite
  • Consul et Registrator déployés (pour la découverte de services)
  • Nginx Proxy Manager (optionnel, pour la config automatique)

Intégration dans Woodpecker CI

1. Copier le script dans votre projet

mkdir -p scripts
cp /opt/infrastructure/scripts/deploy.sh scripts/
chmod +x scripts/deploy.sh

2. Utiliser l'exemple .woodpecker.yml

Copiez scripts/.woodpecker.yml.example dans votre projet et adaptez-le :

cp scripts/.woodpecker.yml.example .woodpecker.yml

3. Configurer les secrets dans Woodpecker

  1. Allez dans Settings > Secrets de votre projet
  2. Ajoutez :
    • NPM_API_URL : URL de l'API Nginx Proxy Manager
    • NPM_API_TOKEN : Token d'API
    • DOMAIN_BASE : Domaine de base (optionnel)

Documentation

Pour plus de détails, consultez :