.gitignore | ||
build.sh | ||
Dockerfile | ||
entrypoint.sh | ||
example-docker-compose.yml | ||
LICENSE | ||
php.ini | ||
README.md |
phpipam-agent
phpIPAM is an open-source web IP address management application. Its goal is to provide light and simple IP address management application.
phpIPAM is developed and maintained by Miha Petkovsek, released under the GPL v3 license, project source is here
Learn more on phpIPAM homepage
This container can be used as a remote discovery scan agent.
How to use this Docker image
Setup PHPIPAM
-
Configure a remote agent (Administration > scan agents), get the key.
-
For each subnet, enable scan & configure the remote agent by selecting a remote.
Setup database
-
Configure MySQL/MariaDB to listen for incoming connections (not bind to loopback)
-
Grant remote access to the database:
$ mysql -u root -p
> GRANT SELECT on `phpipam`.* TO 'username'@'192.168.1.%' identified by "securePasswordHere";
> GRANT INSERT on `phpipam`.* TO 'username'@'192.168.1.%' identified by "securePasswordHere";
> GRANT UPDATE on `phpipam`.* TO 'username'@'192.168.1.%' identified by "securePasswordHere";
> GRANT DELETE on `phpipam`.* TO 'username'@'192.168.1.%' identified by "securePasswordHere";
Use %
as a wildcard. 'phpipam'@'192.168.1.%'
would allow the user phpipam
to access the database from any host on the 192.168.1.0/24
network. 'phpipam'@'%'
would let that user in from ANY host.
Run this container
version: '3'
services:
phpipam-agent:
container_name: phpipam-agent
restart: unless-stopped
image: ghcr.io/jbowdre/phpipam-agent:latest
environment:
- IPAM_DATABASE_HOST=ipamhost.local
- IPAM_DATABASE_NAME=phpipam
- IPAM_DATABASE_USER=phpipam
- IPAM_DATABASE_PASS=phpipamadmin
- IPAM_DATABASE_PORT=3306
- IPAM_AGENT_KEY=2RuQ0rt4Rir29vGN4_1ZOqShcUX7PSUb
- IPAM_SCAN_INTERVAL=15m
- IPAM_RESET_AUTODISCOVER=false
- IPAM_REMOVE_DHCP_false
- TZ=UTC
Configuration Parameters
Parameter | Description |
---|---|
IPAM_DATABASE_HOST |
IP/FQDN where the phpIPAM database is running |
IPAM_DATABASE_NAME |
Name of the database on the host (Optional; default: phpipam ) |
IPAM_DATABASE_USER |
Database user with required privileges (Optional; default: phpipam ) |
IPAM_DATABASE_PASS |
Password for that user |
IPAM_DATABASE_PORT |
Port number for the database listener (Optional; default: 3306 ) |
IPAM_AGENT_KEY |
Unique key generated by phpIPAM for each scan agent |
IPAM_SCAN_INTERVAL |
How frequently the Status and Discovery scans will run (Valid options: 5m , 10m , 15m , 30m , 1h , 2h , 4h , 6h , 12h ) (Optional; default: 15m ) |
IPAM_RESET_AUTODISCOVER |
Enable the agent to remove autodiscovered IPs which are offline (Optional; default: false ) |
IPAM_REMOVE_DHCP |
Enable the agent to remove inactive DHCP addresses (Optional; default: false ) |
Logging
The logs are available on stdout/stderr (allowing to use docker logs
).
Acknowledgements
Based on mc303/phpipam-agent which is based on pierrecdn/phpipam-agent and published on docker hub.