feat(netbox): Add NetBox Docker image with plugins support #1

Merged
Damien merged 12 commits from feature/netbox-plugins into main 2026-01-07 13:34:32 +00:00
Showing only changes of commit ee9b74ebe4 - Show all commits

View File

@@ -22,7 +22,11 @@ Par défaut, les plugins suivants sont installés :
### Pull depuis le registry
```bash
# Dernière version
docker pull gitea.arnodo.fr/damien/netbox:latest
# Version spécifique
docker pull gitea.arnodo.fr/damien/netbox:v4.2
```
### Avec Docker Compose
@@ -32,16 +36,33 @@ Créer un `docker-compose.override.yml` pour utiliser l'image personnalisée :
```yaml
services:
netbox:
image: gitea.arnodo.fr/damien/netbox:latest
image: gitea.arnodo.fr/damien/netbox:v4.2
pull_policy: always
netbox-worker:
image: gitea.arnodo.fr/damien/netbox:latest
image: gitea.arnodo.fr/damien/netbox:v4.2
pull_policy: always
netbox-housekeeping:
image: gitea.arnodo.fr/damien/netbox:latest
image: gitea.arnodo.fr/damien/netbox:v4.2
pull_policy: always
```
## Gestion des versions
La version de NetBox est définie dans le fichier `NETBOX_VERSION`. Pour changer de version :
1. Modifier le fichier `NETBOX_VERSION` avec la version souhaitée (ex: `v4.2`)
2. Commit et push
3. Le CI va automatiquement :
- Builder l'image avec cette version de NetBox
- Tagger l'image avec `latest` ET avec la version (ex: `v4.2`)
### Tags disponibles
| Tag | Description |
|-----|-------------|
| `latest` | Dernière version buildée |
| `v4.2` | Version spécifique de NetBox |
## Personnalisation des plugins
### Ajouter un plugin
@@ -83,23 +104,12 @@ PLUGINS_CONFIG = {
}
```
## 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
├── NETBOX_VERSION # Version de NetBox à utiliser
├── plugin_requirements.txt # Liste des plugins PyPI
├── plugins.py # Configuration des plugins
└── README.md # Cette documentation
@@ -120,3 +130,4 @@ images/netbox/
- 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+)
- Le fichier `NETBOX_VERSION` contrôle la version de base et le tag de l'image