Files
docker-images/images/netbox/README.md

123 lines
3.4 KiB
Markdown

# NetBox Docker Image avec Plugins
Image Docker NetBox personnalisée avec plugins pré-installés, construite automatiquement via Gitea Actions.
## Plugins inclus
Par défaut, les plugins suivants sont installés :
| Plugin | Description | Activé |
|--------|-------------|--------|
| `netbox-branching` | Branching et change management (NetBox Labs) | ✅ |
| `netbox-bgp` | Gestion des sessions BGP, peers, communities | ✅ |
| `netbox-secrets` | Gestion sécurisée des secrets et mots de passe | ✅ |
| `netbox-topology-views` | Visualisation de topologie réseau | ✅ |
| `netbox-documents` | Gestion de documents attachés | ❌ |
| `netbox-acls` | Gestion des Access Control Lists | ❌ |
| `netbox-qrcode` | Génération de QR codes pour les équipements | ❌ |
| `netbox-proxbox` | Intégration avec Proxmox VE | ❌ |
## Utilisation
### Pull depuis le registry
```bash
docker pull gitea.arnodo.fr/damien/netbox:latest
```
### Avec Docker Compose
Créer un `docker-compose.override.yml` pour utiliser l'image personnalisée :
```yaml
services:
netbox:
image: gitea.arnodo.fr/damien/netbox:latest
pull_policy: always
netbox-worker:
image: gitea.arnodo.fr/damien/netbox:latest
pull_policy: always
netbox-housekeeping:
image: gitea.arnodo.fr/damien/netbox:latest
pull_policy: always
```
## Personnalisation des plugins
### Ajouter un plugin
1. Éditer `plugin_requirements.txt` et ajouter le package PyPI
2. Éditer `plugins.py` et ajouter le plugin à la liste `PLUGINS`
3. Configurer le plugin dans `PLUGINS_CONFIG` si nécessaire
4. Commit et push - l'image sera rebuild automatiquement
### Exemple : Activer netbox-proxbox
```python
# plugin_requirements.txt
netbox-proxbox
# plugins.py
PLUGINS = [
"netbox_branching",
"netbox_bgp",
"netbox_secrets",
"netbox_topology_views",
"netbox_proxbox", # Ajouter ici
]
PLUGINS_CONFIG = {
# ...
"netbox_proxbox": {
"proxmox": [
{
"domain": "proxmox.home.arpa",
"http_port": 8006,
"user": "netbox@pve",
"password": "your-api-token",
"ssl": True,
"node": "pve",
}
],
},
}
```
## Build arguments
| Argument | Description | Défaut |
|----------|-------------|--------|
| `NETBOX_VERSION` | Version de l'image NetBox de base | `latest` |
### Builder une version spécifique
```bash
docker build --build-arg NETBOX_VERSION=v4.1.0 -t netbox:v4.1.0-plugins .
```
## Structure des fichiers
```
images/netbox/
├── Dockerfile # Image principale
├── plugin_requirements.txt # Liste des plugins PyPI
├── plugins.py # Configuration des plugins
└── README.md # Cette documentation
```
## Plugins - Liens et documentation
- **netbox-branching** : https://github.com/netboxlabs/netbox-branching
- Permet de créer des branches pour tester des changements avant de les appliquer
- Idéal pour le change management et les workflows de validation
- **netbox-bgp** : https://github.com/netbox-community/netbox-bgp
- Gestion complète BGP : sessions, peers, communities, prefix-lists
- Parfait pour documenter ton infrastructure réseau Arista
## Notes
- L'image utilise `uv pip` pour l'installation des plugins (méthode officielle NetBox Docker)
- Les assets statiques sont collectés au build pour les plugins qui en ont
- Compatible avec NetBox >= 4.0 (netbox-branching requiert NetBox 4.0+)