Podman で NetBox を動かすための構成メモです。NetBox は PostgreSQL、Redis、Redis Cache、NetBox 本体を組み合わせるため、単体コンテナではなく Pod 単位で整理すると見通しがよくなります。
参考
書籍
書籍
参考書籍
Kubernetes完全ガイド 第2版
Kubernetes の仕組み、リソース、ネットワーク、運用観点を体系的に確認したい場合の参考書籍です。価格や在庫はリンク先で確認してください。
Amazon で見るこのリンクは Amazon アソシエイトリンクです。
構成
| 要素 | 役割 |
| PostgreSQL | NetBox のデータベース |
| Redis | タスクキューなどで使用 |
| Redis Cache | キャッシュ用途 |
| NetBox | アプリケーション本体 |
作業ディレクトリ
sudo mkdir -p /opt/container/netbox/{postgresql,redis,redis-cache,netbox}
sudo chown -R $USER:$USER /opt/container/netboxPod の作成
podman pod create --name netbox-pod -p 8000:8080PostgreSQL
podman run -d --pod netbox-pod --name netbox-postgres -e POSTGRES_DB=netbox -e POSTGRES_USER=netbox -e POSTGRES_PASSWORD='change-me' -v /opt/container/netbox/postgresql:/var/lib/postgresql/data:Z docker.io/library/postgres:15Redis
podman run -d --pod netbox-pod --name netbox-redis docker.io/library/redis:7-alpine
podman run -d --pod netbox-pod --name netbox-redis-cache docker.io/library/redis:7-alpineNetBox 本体
実際の運用では環境変数や secret を分離します。以下は構成要素の関係を確認するための最小イメージです。
podman run -d --pod netbox-pod --name netbox -e DB_HOST=127.0.0.1 -e DB_NAME=netbox -e DB_USER=netbox -e DB_PASSWORD='change-me' -e REDIS_HOST=127.0.0.1 -e REDIS_CACHE_HOST=127.0.0.1 docker.io/netboxcommunity/netbox:latest確認
podman pod ps
podman ps --pod
curl -I http://127.0.0.1:8000/まとめ
NetBox は依存サービスが多いため、Podman で扱う場合は「1 Pod 内に関連コンテナをまとめる」と理解しやすくなります。本番運用では永続化、バックアップ、secret 管理、リバースプロキシ、アップデート手順を別途設計します。
Ubuntu 22.04 Podman NetBox 環境構築


