You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Andreas Zweili b3eeead482 Split linting and tests 2 weeks ago
.github Split linting and tests 2 weeks ago
.vscode use python3 explicitly 9 months ago
backups format with black 8 months ago
computers format with black 8 months ago
core remove unused import 8 months ago
customers add a project manager to customers 8 months ago
devices line length 8 months ago
docs extend RM diagramm 8 months ago
licenses format with black 8 months ago
nets format with black 8 months ago
network_inventory add the allowed hosts dynamically 8 months ago
nginx add a nginx container as a reverse proxy 3 years ago
softwares add a service model 8 months ago
users Remove unused import 2 weeks ago
.coveragerc ignore the admin views in te coverage report 3 years ago
.dir-locals.el add the pytest options to the dir-locals 3 years ago
.env-example use the production settings in the example 8 months ago
.envrc move the ENV variable to the nix-shell 9 months ago
.flake8 reformat the flake8 config 3 years ago
.gitignore ignore all venv 9 months ago
.gitlab-ci.yml try a hack 2 years ago
Dockerfile pin the Python version in the docker images 10 months ago
LICENSE Initial commit 5 years ago
Makefile Merge remote-tracking branch 'origin/poetry' into dev 2 weeks ago update status badge 10 months ago format with black 8 months ago
docker-compose-development.yml remove the docker development environment 10 months ago
docker-compose.yml get the image from github 10 months ago
flake.lock Use the new overrides 2 weeks ago
flake.nix Merge remote-tracking branch 'origin/poetry' into dev 2 weeks ago format with black 8 months ago
network_inventory.yaml add a warranty fixture with <1y runtime 8 months ago
poetry.lock Remove pdm from dependencies 2 weeks ago
poetry.toml Add a poetry.toml with project specific settings 3 weeks ago
pyproject.toml Remove pdm from dependencies 2 weeks ago
pytest.ini ignore warnings for the moment 8 months ago expand fixtures 11 months ago



I started this project in order to have solution for keeping an inventory over my various servers and other network equipment.

Production Setup

  1. Clone the repository
  2. Copy the .env-example file to .env and change the POSTGRES_PASSWORD and DJANGO_SECRET_KEY variables to something secure.
  3. Run docker-compose up and connect to http://localhost

Local Development Setup

The local setup is mainly intended to run the tests quickly. I recommend that you use the Docker setup if you want to interact with the website.

  1. Run make local to create the virtual environment for development. You're now all set to start developing.

Docker Development Setup

This is very similar to the production setup with the difference that the image for the web application gets built locally instead of getting pulled from Dockerhub.

  1. Run make to start the server. You can access it at http://localhost . You're now all set to start working.
  2. If you want to have some example data to work with run the command make init after you successfully run make.

Environment Variables

To customise the application in the Docker container you can use environment variables in the docker-compose.yml file. Currently the following variables are supported.

  • DJANGO_SECRET_KEY the secret key is mandatory, otherwise the application doesn't run. Make sure that it is some long random string.
  • DJANGO_DEBUG settings this variable to any value enables the Django debug mode. Make sure that you don't set it on a production server.
  • DJANGO_SETTINGS_MODULE the path to the settings file to use in the container. This requires a dotet syntax. The default is network_inventory.settings.docker.


Currently there isn't a lot of documentation present. I try to document my thoughts and other related information in the Notes file.