This project is forked from Newlode/phpipam.
- docker-compose 3.5 configuration supported (was 2.0)
DDI is an acronym for DNS/DHCP/IPAM; See IP Address Management
- DNS: PowerDNS
- DHCP: ISC Kea DHCP Server
- IPAM: phpIPAM
phpIPAM has support for PowerDNS, and has an issue #777 open about Kea DHCP integration. There is an alternative that uses a scripted approach to writing out a DHCPd configuration file: https://github.com/debops/phpipam-scripts.
DDI is a suite of services to manage dynamic and static IP assignment within Computing Infrastructure. The desire is to have a central administrative system for tracking this information, and making it available to domain name and IP services.
phpIPAM has a REST api that can be leveraged to assist assignment of IPs in provisioning systems that want to use static assignment. This could be IaC (Infrastructure as Code), or Virtual Machine provisioning. phpIPAM integrates with PowerDNS which provides Authoritative DNS services. And progress is moving with ISC Kea integration to manage dynamic (DHCP) assignment. DHCP is also widely used in Virtual Machine provisioning systems.
Give docker interfaces trusted privilege to pass traffic through the firewall
- docker0 is the docker interface
- br-ddi_net is the container bridge interface defined in docker-compose.yml
firewall-cmd --zone=trusted --add-interface=docker0
firewall-cmd --permanent --zone=trusted --add-interface=docker0
firewall-cmd --zone=trusted --add-interface=br-ddi_net
firewall-cmd --permanent --zone=trusted --add-interface=br-ddi_net
Clone this forked repository, and bring up the containers
git clone https://github.com/rglaue/ddi-phpipam.git
sudo docker-compose up -d
- under SERVER MANAGEMENT (in the left side bar)
- click on "phpIPAM settings"
- under Feature settings > (enable modules by changing the switch from OFF to ON)
- API: ON
- Enable PowerDNS: ON
- Click [Save] button (scroll to bottom)
- under Feature settings > (enable modules by changing the switch from OFF to ON)
- click on "phpIPAM settings"
After enabling these modules, you will see them appear in the the left side bar: "API", "PowerDNS".
- SERVER MANAGEMENT > PowerDNS > Settings
- Host
- change value to: powerdns_db (this is the hostname defined in docker-compose.yml)
- Host
- DDI phpIPAM API URL: http://localhost/api/
- Example API calls using cURL
[End of Forked Documentation]
git clone https://github.com/Newlode/phpipam.git
sudo docker-compose up
- Based on debian/stretch
- phpipam auto-installation
Support of of Kea-1.1.0-beta (DHCP)- Not working yet- Support of PowerDNS
- Support of SNMP
- Make the PROXY_ variables work
- Add phpipam-agent support
- Add "Crons for phpIPAM ping check, DNS resolution and host discovery"
- See if patch from fanfoni/phpipam is needed
admin / ipamadmin
Variable | Values | Default |
---|---|---|
DEBUG | true or false | false |
PROXY_ENABLED | true or false | false |
PROXY_ADDRESS | any | emtpy |
PROXY_PORT | any | empty |
PROXY_AUTH | true or false | false |
PROXY_USER | any | empty |
PROXY_PASSWORD | any | empty |
SSL_OFFLOAD | true or false | false |
DATABASE_HOST | any | empty |
DATABASE_PORT | any | 3306 |
DATABASE_NAME | any | empty |
DATABASE_USER | any | root |
DATABASE_PASSWORD | any | empty |