Netbox Docker

Setup the service:

  • Install docker or podman
  • Save the following content as docker-compose.yml
version: '3.5'
services:
################################################
   netbox:
      image: git.shihaam.dev/dockerfiles/netbox
      ports:
         - 8000:8000
      volumes:
         - ./configuration.py:/opt/netbox/netbox/netbox/configuration.py
      command: python manage.py runserver 0.0.0.0:8000 --insecure # COMMENT THIS LINE AND REVERSE PROXYIN PRODUCTION !!!
      depends_on:
         - redis
         - postgres
      restart: always
################################################
   postgres:
      image: postgres:13-alpine
      volumes:
         - ./data/db:/var/lib/postgresql/data
      environment:
         - POSTGRES_DB=netbox
         - POSTGRES_USER=netbox
         - POSTGRES_PASSWORD=netbox # CHANGE THIS IN PRODUCTION !!
      restart: always
################################################
   redis:
      image: redis:6.0-alpine
      restart: always
  • Fetch example config from container docker compose run --rm netbox cat /opt/netbox/netbox/netbox/configuration_example.py > configuration.py and edit it according to your enviroment.
  • Create devicetype-images and image-attachments folders under media folder
mkdir -p media/image-attachments media/devicetype-images
  • Generate Secret key docker compose run --rm netbox ./generate_secret_key.py, add output of this to configuration.py
  • Run docker compose up -d

PLEASE, FOR THE LOVE OF GOD PLEASE DO NOT USE PASSWORD I GAVE IN THIS REPO IN PRODUCTION !!

Some commands that will be useful

  • Migrate Database (required on initial install and upgrade
docker compose exec netbox ./manage.py migrate
  • Create new Superuser account, (it might not show any output, just enter a username and press enter)
docker compose exec netbox ./manage.py createsuperuser
Description
SOOO... apparently netbox dont have their own docker image???
Readme 40 KiB
Languages
Dockerfile 100%