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
This commit is contained in:
104
scripts/README.md
Normal file
104
scripts/README.md
Normal file
@ -0,0 +1,104 @@
|
||||
# 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)
|
||||
|
||||
Reference in New Issue
Block a user