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
How to use this Docker image
Run a MySQL database, dedicated to phpipam
$ docker run --name phpipam-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -v /my_dir/phpipam:/var/lib/mysql -d mysql:5.6
Here, we store data on the host system under
/my_dir/phpipam and use a specific root password.
$ docker run -ti -d -p 80:80 -e MYSQL_ENV_MYSQL_PASSWORD=my-secret-pw --name ipam --link phpipam-mysql:mysql pierrecdn/phpipam
We are linking the two containers and expose the HTTP port.
Specific integration (HTTPS, multi-host containers, etc.)
Regarding your requirements and docker setup, you've to expose resources.
For HTTPS, run a reverse-proxy in front of your phpipam container and link it to.
For multi-host containers, expose ports, run etcd or consul to make service discovery works etc.
- Browse to
- Step 1 : Choose 'Automatic database installation'
- Step 2 : Re-Enter connection information
- Note that these two first steps could be swapped by patching phpipam (see https://github.com/phpipam/phpipam/issues/25)
- Step 3 : Configure the admin user password
- You're done !
You can also create an all-in-one YAML deployment descriptor with Docker compose, like this:
version: '2' services: mysql: image: mysql:5.6 environment: - MYSQL_ROOT_PASSWORD=my-secret-pw restart: always volumes: - db_data:/var/lib/mysql ipam: depends_on: - mysql image: pierrecdn/phpipam environment: - MYSQL_ENV_MYSQL_USER=root - MYSQL_ENV_MYSQL_PASSWORD=my-secret-pw - MYSQL_ENV_MYSQL_HOST=mysql ports: - "80:80" volumes: db_data:
And next :
$ docker-compose up -d
You can also point the
MYSQL_ENV_PASSWORD_FILE environment variable to a file,
in which case the contents of this file will be used as the password.
This makes it possible to use docker secrets for instance:
version: '3' services: ipam: environment: - MYSQL_ENV_MYSQL_PASSWORD_FILE=/run/secrets/phpipam_mysql_root_password secrets: - phpipam_mysql_root_password
The secret can be created by running
echo my-secret-pw | docker secret create phpipam_mysql_root_password -
phpIPAM is under heavy development by the amazing Miha.
To upgrade the release version, just change the
PHPIPAM_VERSION environment variable to the target release (see here)