Tired of juggling spreadsheets and disjointed tools to manage your network's IP addresses and physical hardware? I've been there. That's why I built a comprehensive, self-hosted IP Address Management (IPAM) and datacenter visualisation platform to bring sanity back to network administration.

This project is a powerful tool built with Flask and a MySQL/MariaDB backend, designed to give you a single source of truth for your entire network infrastructure. It provides a robust solution for tracking IP addresses, subnets, and DHCP services. Plus, with its multi-user support and detailed audit logging, you'll always know who changed what and when.

One of our standout features is the interactive server rack management. You can visually map and organise your physical devices within virtual server racks, giving you an intuitive, at-a-glance overview of your hardware deployments.

ipam (1).png

What can it do?

Here are the key features that make our IPAM a must-have for any network administrator:

  • IP & Subnet Control: Get full control over IP addresses, subnets, and entire network spaces.

  • DHCP Management: Easily manage DHCP scopes and create exclusion lists directly from the UI.

  • Visual Rack Management: Interactively place and manage devices on virtual server racks. See exactly where your servers, switches, and patch panels live.

  • Device Inventory: Maintain a detailed inventory of all your network devices and their properties in one central location.

  • Multi-User & Audit Logging: Secure access for multiple users with a complete and detailed audit trail of all actions.

  • Modern UI: Enjoy a clean and responsive UI with automatic light/dark themes, built with Tailwind CSS.

Quick Start with Docker Compose

Getting started is incredibly simple. Just use the following docker-compose.yml file to get your instance up and running in minutes.

Make sure to replace the placeholder values like your_secret_key, your_mysql_password, your-company-name, and the logo URL with your own information.

services:
  ipam:
    image: ghcr.io/jdb-net/ipam:latest
    ports:
      - "80:5000"
    restart: always
    environment:
      - SECRET_KEY=your_secret_key
      - MYSQL_HOST=mariadb
      - MYSQL_USER=ipam
      - MYSQL_PASSWORD=your_mysql_password
      - MYSQL_DATABASE=ipam
      - NAME=your-company-name
      - LOGO_PNG=https://yourlogourl.com/mustbe.png
    depends_on:
      - mariadb

  mariadb:
    image: mariadb:latest
    restart: always
    environment:
      - MARIADB_RANDOM_ROOT_PASSWORD=yes
      - MARIADB_DATABASE=ipam
      - MARIADB_USER=ipam
      - MARIADB_PASSWORD=your_mysql_password
    volumes:
      - mariadb_data:/var/lib/mysql

volumes:
  mariadb_data:

Once you've created your docker-compose.yml file, just run docker compose up -d from your terminal, and you're good to go!

Default Login Details

Once your container is running, you can log in with the default credentials:

Username: [email protected]

Password: password

We strongly recommend changing the default password immediately after your first login. Enjoy taking control of your network!

For more information and additional screenshots, visit https://projects.jdbnet.co.uk/ipam