feat(netbox): Add NetBox Docker image with plugins support #1
@@ -22,7 +22,11 @@ Par défaut, les plugins suivants sont installés :
|
|||||||
### Pull depuis le registry
|
### Pull depuis le registry
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
# Dernière version
|
||||||
docker pull gitea.arnodo.fr/damien/netbox:latest
|
docker pull gitea.arnodo.fr/damien/netbox:latest
|
||||||
|
|
||||||
|
# Version spécifique
|
||||||
|
docker pull gitea.arnodo.fr/damien/netbox:v4.2
|
||||||
```
|
```
|
||||||
|
|
||||||
### Avec Docker Compose
|
### Avec Docker Compose
|
||||||
@@ -32,16 +36,33 @@ Créer un `docker-compose.override.yml` pour utiliser l'image personnalisée :
|
|||||||
```yaml
|
```yaml
|
||||||
services:
|
services:
|
||||||
netbox:
|
netbox:
|
||||||
image: gitea.arnodo.fr/damien/netbox:latest
|
image: gitea.arnodo.fr/damien/netbox:v4.2
|
||||||
pull_policy: always
|
pull_policy: always
|
||||||
netbox-worker:
|
netbox-worker:
|
||||||
image: gitea.arnodo.fr/damien/netbox:latest
|
image: gitea.arnodo.fr/damien/netbox:v4.2
|
||||||
pull_policy: always
|
pull_policy: always
|
||||||
netbox-housekeeping:
|
netbox-housekeeping:
|
||||||
image: gitea.arnodo.fr/damien/netbox:latest
|
image: gitea.arnodo.fr/damien/netbox:v4.2
|
||||||
pull_policy: always
|
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
|
## Personnalisation des plugins
|
||||||
|
|
||||||
### Ajouter un plugin
|
### 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
|
## Structure des fichiers
|
||||||
|
|
||||||
```
|
```
|
||||||
images/netbox/
|
images/netbox/
|
||||||
├── Dockerfile # Image principale
|
├── Dockerfile # Image principale
|
||||||
|
├── NETBOX_VERSION # Version de NetBox à utiliser
|
||||||
├── plugin_requirements.txt # Liste des plugins PyPI
|
├── plugin_requirements.txt # Liste des plugins PyPI
|
||||||
├── plugins.py # Configuration des plugins
|
├── plugins.py # Configuration des plugins
|
||||||
└── README.md # Cette documentation
|
└── 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)
|
- 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
|
- 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+)
|
- 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
|
||||||
|
|||||||
Reference in New Issue
Block a user