docker composeでnetboxをインストールする手順

docker composeでnetboxをインストールする手順

docker-composeを利用してIPAMである「netbox」をインストールする手順を記述してます。OSはcentos7となります。

環境

  • OS centos7.7.1908
  • docker 19.03.8
  • docker-compose 1.25.4

docker-compose.ymlダウンロード

gitを利用して入手します。

git clone -b release https://github.com/netbox-community/netbox-docker.git

移動します。

cd netbox-docker

docker-compose.ymlは、下記のようになってます。

version: '3.4'
services:
  netbox: &netbox
    image: netboxcommunity/netbox:${VERSION-latest}
    depends_on:
    - postgres
    - redis
    - redis-cache
    - netbox-worker
    env_file: env/netbox.env
    user: '101'
    volumes:
    - ./startup_scripts:/opt/netbox/startup_scripts:z,ro
    - ./initializers:/opt/netbox/initializers:z,ro
    - ./configuration:/etc/netbox/config:z,ro
    - ./reports:/etc/netbox/reports:z,ro
    - ./scripts:/etc/netbox/scripts:z,ro
    - netbox-nginx-config:/etc/netbox-nginx:z
    - netbox-static-files:/opt/netbox/netbox/static:z
    - netbox-media-files:/opt/netbox/netbox/media:z
  netbox-worker:
    <<: *netbox
    depends_on:
    - redis
    entrypoint:
    - python3
    - /opt/netbox/netbox/manage.py
    command:
    - rqworker
  nginx:
    command: nginx -c /etc/netbox-nginx/nginx.conf
    image: nginx:1.17-alpine
    depends_on:
    - netbox
    ports:
    - 8080
    volumes:
    - netbox-static-files:/opt/netbox/netbox/static:ro
    - netbox-nginx-config:/etc/netbox-nginx/:ro
  postgres:
    image: postgres:11-alpine
    env_file: env/postgres.env
    volumes:
    - netbox-postgres-data:/var/lib/postgresql/data
  redis:
    image: redis:5-alpine
    command:
    - sh
    - -c # this is to evaluate the $REDIS_PASSWORD from the env
    - redis-server --appendonly yes --requirepass $$REDIS_PASSWORD ## $$ because of docker-compose
    env_file: env/redis.env
    volumes:
    - netbox-redis-data:/data
  redis-cache:
    image: redis:5-alpine
    command:
    - sh
    - -c # this is to evaluate the $REDIS_PASSWORD from the env
    - redis-server --requirepass $$REDIS_PASSWORD ## $$ because of docker-compose
    env_file: env/redis-cache.env
volumes:
  netbox-static-files:
    driver: local
  netbox-nginx-config:
    driver: local
  netbox-media-files:
    driver: local
  netbox-postgres-data:
    driver: local
  netbox-redis-data:
    driver: local

netbox起動

ポート番号の指定のた、 docker-compose.override.ymlに上書き設定を記述します。

tee docker-compose.override.yml <<EOF
version: '3.4'
services:
  nginx:
    ports:
      - 8000:8080
EOF

起動します。

docker-compose up -d

netboxアクセス

ブラウザから http://プライベートIP or サーバーアドレス:8000 にアクセスします。

右上にある「Login」ボタンをクリックして、admin/adminでログインします。

ログイン後の画面となります。