feat(netbox): Add NetBox Docker image with plugins support #1
109
images/netbox/README.md
Normal file
109
images/netbox/README.md
Normal file
@@ -0,0 +1,109 @@
|
||||
# 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-secrets` | Gestion sécurisée des secrets et mots de passe | ✅ |
|
||||
| `netbox-topology-views` | Visualisation de topologie réseau | ✅ |
|
||||
| `netbox-bgp` | Gestion des sessions BGP | ❌ |
|
||||
| `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_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
|
||||
```
|
||||
|
||||
## 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 >= 3.5
|
||||
Reference in New Issue
Block a user