phpIPAM-agent Docker image
Find a file
2022-12-29 08:59:36 -06:00
.gitignore don't sync my docker-compose file 2022-01-05 15:22:55 -06:00
Dockerfile Update parameter names to match phpipam-docker project 2022-01-10 16:32:13 -06:00
entrypoint.sh double-quote to prevent globbing and word splitting 2022-12-29 08:59:36 -06:00
example-docker-compose.yml Update parameter names to match phpipam-docker project 2022-01-10 16:32:13 -06:00
LICENSE Initial commit 2018-09-07 01:43:07 +02:00
php.ini Initial commit 2018-09-07 01:43:07 +02:00
README.md fix image reference 2022-02-25 10:39:00 -06:00

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. config_agent

  • For each subnet, enable scan & configure the remote agent by selecting a remote. config_subnet

Setup 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.