Build Netbox as a Docker container

Overview

netbox-docker

GitHub release (latest by date) GitHub stars GitHub closed pull requests Github release workflow Docker Pulls MicroBadger Layers MicroBadger Size GitHub license

The Github repository houses the components needed to build Netbox as a Docker container. Images are built using this code and are released to Docker Hub once a day.

Do you have any questions? Before opening an issue on Github, please join the Network To Code Slack and ask for help in our #netbox-docker channel.

Docker Tags

Then there is currently one extra tags for each of the above tags:

New images are built and published automatically every ~24h.

Quickstart

To get Netbox Docker up and running run the following commands. There is a more complete Getting Started guide on our wiki which explains every step.

git clone -b release https://github.com/netbox-community/netbox-docker.git
cd netbox-docker
tee docker-compose.override.yml <<EOF
version: '3.4'
services:
  nginx:
    ports:
      - 8000:8080
EOF
docker-compose pull
docker-compose up

The whole application will be available after a few minutes. Open the URL http://0.0.0.0:8000/ in a web-browser. You should see the Netbox homepage. In the top-right corner you can login. The default credentials are:

  • Username: admin
  • Password: admin
  • API Token: 0123456789abcdef0123456789abcdef01234567

Documentation

Please refer to our wiki on Github for further information on how to use this Netbox Docker image properly. It covers advanced topics such as using secret files, deployment to Kubernetes as well as NAPALM and LDAP configuration.

Getting Help

Please join our Slack channel #netbox-docker on the Network To Code Slack. It's free to use and there are almost always people online that can help.

If you need help with using Netbox or developing for it or against it's API you may find the #netbox channel on the same Slack instance very helpful.

Dependencies

This project relies only on Docker and docker-compose meeting these requirements:

  • The Docker version must be at least 17.05.
  • The docker-compose version must be at least 1.17.0.

To check the version installed on your system run docker --version and docker-compose --version.

Use a Specific Netbox Version

The docker-compose.yml file is prepared to run a specific version of Netbox, instead of latest. To use this feature, set and export the environment-variable VERSION before launching docker-compose, as shown below. VERSION may be set to the name of any tag of the netboxcommunity/netbox Docker image on Docker Hub.

export VERSION=v2.7.1
docker-compose pull netbox
docker-compose up -d

You can also build a specific version of the Netbox Docker image yourself. VERSION can be any valid git ref in that case.

export VERSION=v2.7.1
./build.sh $VERSION
docker-compose up -d

Breaking Changes

From time to time it might become necessary to re-engineer the structure of this setup. Things like the docker-compose.yml file or your Kubernetes or OpenShift configurations have to be adjusted as a consequence.

Since November 2019 each image built from this repo contains a org.opencontainers.image.version label. (The images contained labels since April 2018, although in November 2019 the labels' names changed.) You can check the label of your local image by running docker inspect netboxcommunity/netbox:v2.7.1 --format "{{json .Config.Labels}}".

Please read the release notes carefully when updating to a new image version.

Rebuilding the Image

./build.sh can be used to rebuild the Docker image. See ./build.sh --help for more information.

For more details on custom builds consult our wiki.

Tests

We have a test script. It runs Netbox's own unit tests and ensures that all initializers work:

IMAGE=netboxcommunity/netbox:latest ./test.sh

About

This repository is currently maintained and funded by nxt.

Owner
Farshad Nick
Devops Enginner
Farshad Nick
Learning and experimenting with Kubernetes

Kubernetes Experiments This repository contains code that I'm using to learn and experiment with Kubernetes. 1. Environment setup minikube kubectl doc

Richard To 10 Dec 02, 2022
Official Python client library for kubernetes

Kubernetes Python Client Python client for the kubernetes API. Installation From source: git clone --recursive https://github.com/kubernetes-client/py

Kubernetes Clients 5.4k Jan 02, 2023
Build and Push docker image in Python (luigi + docker-py)

Docker build images workflow in Python Since docker hub stopped building images for free accounts, I've been looking for another way to do it. I could

Fabien D. 2 Dec 15, 2022
🎡 Build Python wheels for all the platforms on CI with minimal configuration.

cibuildwheel Documentation Python wheels are great. Building them across Mac, Linux, Windows, on multiple versions of Python, is not. cibuildwheel is

Python Packaging Authority 1.3k Jan 02, 2023
Dockerized iCloud drive

iCloud-drive-docker is a simple iCloud drive client in Docker environment. It uses pyiCloud python library to interact with iCloud

Mandar Patil 376 Jan 01, 2023
Hatch plugin for Docker containers

hatch-containers CI/CD Package Meta This provides a plugin for Hatch that allows

Ofek Lev 11 Dec 30, 2022
A Python Implementation for Git for learning

A pure Python implementation for Git based on Buliding Git

shidenggui 42 Jul 13, 2022
A colony of interacting processes

NColony Infrastructure for running "colonies" of processes. Hacking $ tox Should DTRT -- if it passes, it means unit tests are passing, and 100% cover

23 Apr 04, 2022
DAMPP (gui) is a Python based program to run simple webservers using MySQL, Php, Apache and PhpMyAdmin inside of Docker containers.

DAMPP (gui) is a Python based program to run simple webservers using MySQL, Php, Apache and PhpMyAdmin inside of Docker containers.

Sehan Weerasekara 1 Feb 19, 2022
Tools for writing awesome Fabric files

About fabtools includes useful functions to help you write your Fabric files. fabtools makes it easier to manage system users, packages, databases, et

1.3k Dec 30, 2022
Supervisor process control system for UNIX

Supervisor Supervisor is a client/server system that allows its users to control a number of processes on UNIX-like operating systems. Supported Platf

Supervisor 7.6k Dec 31, 2022
Ajenti Core and stock plugins

Ajenti is a Linux & BSD modular server admin panel. Ajenti 2 provides a new interface and a better architecture, developed with Python3 and AngularJS.

Ajenti Project 7k Jan 03, 2023
SSH to WebSockets Bridge

wssh wssh is a SSH to WebSockets Bridge that lets you invoke a remote shell using nothing but HTTP. The client connecting to wssh doesn't need to spea

Andrea Luzzardi 1.3k Dec 25, 2022
Automatically capture your Ookla Speedtest metrics and display them in a Grafana dashboard

Speedtest All-In-One Automatically capture your Ookla Speedtest metrics and display them in a Grafana dashboard. Getting Started About This Code This

Aaron Melton 2 Feb 22, 2022
CI repo for building Skia as a shared library

Automated Skia builds This repo is dedicated to building Skia binaries for use in Skija. Prebuilt binaries Prebuilt binaries can be found in releases.

Humble UI 20 Jan 06, 2023
📦 Powerful Package manager which updates plugins & server software for minecraft servers

pluGET A powerful package manager which updates Plugins and Server Software for minecraft servers. Screenshots check all to check installed plugins fo

106 Dec 16, 2022
MagTape is a Policy-as-Code tool for Kubernetes that allows for evaluating Kubernetes resources against a set of defined policies to inform and enforce best practice configurations.

MagTape is a Policy-as-Code tool for Kubernetes that allows for evaluating Kubernetes resources against a set of defined policies to inform and enforce best practice configurations. MagTape includes

T-Mobile 143 Dec 27, 2022
🐳 RAUDI: Regularly and Automatically Updated Docker Images

🐳 RAUDI: Regularly and Automatically Updated Docker Images RAUDI (Regularly and Automatically Updated Docker Images) automatically generates and keep

SecSI 534 Dec 29, 2022
A charmed operator for running PGbouncer on kubernetes.

operator-template Description TODO: Describe your charm in a few paragraphs of Markdown Usage TODO: Provide high-level usage, such as required config

Canonical 1 Dec 01, 2022
Chef-like functionality for Fabric

/ / ___ ___ ___ ___ | | )| |___ | | )|___) |__ |__/ | __/ | | / |__ -- Chef-like functionality for Fabric About Fabric i

Sébastien Pierre 1.3k Dec 21, 2022