diff --git a/images/netbox/README.md b/images/netbox/README.md new file mode 100644 index 0000000..2fb006a --- /dev/null +++ b/images/netbox/README.md @@ -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