Files
infrastructure/scripts/README.md
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

105 lines
3.2 KiB
Markdown

# 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** :
```bash
./get-npm-token.sh [NPM_URL] [EMAIL]
```
**Exemples** :
```bash
# 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** :
```bash
./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
```bash
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 :
```bash
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 :
- [Guide de déploiement complet](../../docs/09-deploiement-applications.md)