All Projects → pierrecdn → Phpipam

pierrecdn / Phpipam

Licence: lgpl-3.0
phpIPAM Docker image

Projects that are alternatives of or similar to Phpipam

Utils
Docker image with tools like curl, wget, ping, nslookup, dig, psql etc.
Stars: ✭ 49 (-20.97%)
Mutual labels:  docker-image
Docker Spark Cluster
A Spark cluster setup running on Docker containers
Stars: ✭ 57 (-8.06%)
Mutual labels:  docker-image
Docker Hugo
🐳 Docker Image for Hugo, a fast and flexible static site generator
Stars: ✭ 60 (-3.23%)
Mutual labels:  docker-image
Docker Kubectl
Containerized Kubernetes kubectl
Stars: ✭ 52 (-16.13%)
Mutual labels:  docker-image
Socat
Run socat command in alpine container
Stars: ✭ 53 (-14.52%)
Mutual labels:  docker-image
Fullstaq Ruby Docker
Docker image for Ruby build from Fullstaq based on Debian 9 and Debian 10.
Stars: ✭ 59 (-4.84%)
Mutual labels:  docker-image
Docker Bind
Bind caching DNS server on Debian with wild-card domain support
Stars: ✭ 50 (-19.35%)
Mutual labels:  docker-image
Max Image Caption Generator
IBM Code Model Asset Exchange: Show and Tell Image Caption Generator
Stars: ✭ 62 (+0%)
Mutual labels:  docker-image
Bitnami Docker Parse
Stars: ✭ 56 (-9.68%)
Mutual labels:  docker-image
Docker Laravel Queue Worker
A docker image for working with queues being monitored by supervisor as recommended by laravel.
Stars: ✭ 60 (-3.23%)
Mutual labels:  docker-image
Dockerpi
A Virtualised Raspberry Pi inside a Docker image
Stars: ✭ 1,064 (+1616.13%)
Mutual labels:  docker-image
Fabric Baseimage
Stars: ✭ 53 (-14.52%)
Mutual labels:  docker-image
Dockviz
Visualizing Docker data
Stars: ✭ 1,104 (+1680.65%)
Mutual labels:  docker-image
Nominatim Docker
Fully-featured container for geocoding, reverse geocoding and address lookup based on Nominatim and Open Street Map data.
Stars: ✭ 52 (-16.13%)
Mutual labels:  docker-image
Docker Image Builder
标准化组件方式构建Docker镜像。Build a docker image from pieces of standard components.
Stars: ✭ 61 (-1.61%)
Mutual labels:  docker-image
Koa Typescript Starter
Integrating TypeScript with KOA2 to hit the ground running faster
Stars: ✭ 51 (-17.74%)
Mutual labels:  docker-image
Dokai
Collection of Docker images for ML/DL and video processing projects
Stars: ✭ 58 (-6.45%)
Mutual labels:  docker-image
Docker Magento
🐳 Docker containers with all required Magento dependencies installed available as Apache and CLI
Stars: ✭ 62 (+0%)
Mutual labels:  docker-image
Docker Yourls
📦 Docker Official Image packaging for YOURLS
Stars: ✭ 61 (-1.61%)
Mutual labels:  docker-image
Scala Graalvm Docker
Docker images to build and generate native artifacts using GraalVM
Stars: ✭ 60 (-3.23%)
Mutual labels:  docker-image

docker-phpipam

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.

phpIPAM logo

How to use this Docker image

Mysql

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.

Phpipam

$ docker run -ti -d -p 80:80 -e MYSQL_ENV_MYSQL_ROOT_PASSWORD=my-secret-pw --name ipam --link phpipam-mysql:mysql pierrecdn/phpipam

We are linking the two containers and exposing the HTTP port.

First install scenario

  • Browse to http://<ip>[:<specific_port>]/install/
  • Step 1 : Choose 'Automatic database installation'

step1

  • Step 2 : Re-Enter connection information

step2

step3

  • You're done !

done

Docker compose

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_ROOT_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 -

Advanced Configuration

Here is the list of the available environment variables in the phpipam container, pass them to docker using -e. None of them are actually needed to run the container, this is only to tweak the behavior.

Environment variable Default value Description
MYSQL_ENV_MYSQL_HOST mysql The host used to reach the MySQL instance
MYSQL_ENV_MYSQL_USER root The user to connect the MySQL instance
MYSQL_ENV_MYSQL_ROOT_PASSWORD (empty) The MySQL password. Can be set using the Web UI during the first install
MYSQL_ENV_MYSQL_DB phpipam The name of the MySQL DB to connect to
MYSQL_ENV_MYSQL_PASSWORD_FILE (empty) A file containing the password (if not using MYSQL_ROOT_PASSWORD) this allows to leverage docker secrets
PHPIPAM_BASE / The base URI under which phpipam runs. Useful when performing rewrites with a reverse-proxy
GMAPS_API_KEY (empty) Google Maps API Key, used to display maps of your devices
GMAPS_API_GEOCODE_KEY (empty) Google Maps Geocode API Key, used to find coordinates from an address/ a location of your device

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.

Notes

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].