{"id":21295793,"url":"https://github.com/pierrecdn/phpipam","last_synced_at":"2025-07-16T08:07:37.099Z","repository":{"id":45850238,"uuid":"39252973","full_name":"pierrecdn/phpipam","owner":"pierrecdn","description":"phpIPAM Docker image","archived":false,"fork":false,"pushed_at":"2024-04-26T08:04:08.000Z","size":58,"stargazers_count":95,"open_issues_count":12,"forks_count":111,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-05-20T11:07:03.109Z","etag":null,"topics":["docker-image","ipam","phpipam"],"latest_commit_sha":null,"homepage":null,"language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pierrecdn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-07-17T12:26:28.000Z","updated_at":"2025-03-30T19:57:13.000Z","dependencies_parsed_at":"2025-01-16T20:09:19.763Z","dependency_job_id":"d52711f8-f428-4168-addd-2622b90c6ad7","html_url":"https://github.com/pierrecdn/phpipam","commit_stats":{"total_commits":56,"total_committers":15,"mean_commits":"3.7333333333333334","dds":0.4107142857142857,"last_synced_commit":"4594d6fb0229ee799634f7c60047e5992f589d5b"},"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/pierrecdn/phpipam","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pierrecdn%2Fphpipam","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pierrecdn%2Fphpipam/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pierrecdn%2Fphpipam/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pierrecdn%2Fphpipam/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pierrecdn","download_url":"https://codeload.github.com/pierrecdn/phpipam/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pierrecdn%2Fphpipam/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265495338,"owners_count":23776615,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker-image","ipam","phpipam"],"created_at":"2024-11-21T14:07:51.625Z","updated_at":"2025-07-16T08:07:37.063Z","avatar_url":"https://github.com/pierrecdn.png","language":"Dockerfile","funding_links":[],"categories":["others"],"sub_categories":[],"readme":"# docker-phpipam\n\nphpIPAM is an open-source web IP address management application. Its goal is to provide light and simple IP address management application.\n\nphpIPAM is developed and maintained by Miha Petkovsek, released under the GPL v3 license, project source is [here](https://github.com/phpipam/phpipam).\n\nLearn more on [phpIPAM homepage](http://phpipam.net).\n\n![phpIPAM logo](http://phpipam.net/wp-content/uploads/2014/12/phpipam_logo_small.png)\n\n## How to use this Docker image\n\n### Mysql\n\nRun a MySQL database, dedicated to phpipam.\n\n```bash\n$ docker run --name phpipam-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -v /my_dir/phpipam:/var/lib/mysql -d mysql:5.6\n```\n\nHere, we store data on the host system under `/my_dir/phpipam` and use a specific root password.\n\n### Phpipam\n\n```bash\n$ docker run -ti -d -p 80:80 -e MYSQL_ENV_MYSQL_ROOT_PASSWORD=my-secret-pw --name ipam --link phpipam-mysql:mysql pierrecdn/phpipam\n```\n\nWe are linking the two containers and exposing the HTTP port.\n\n### First install scenario\n\n* Browse to `http://\u003cip\u003e[:\u003cspecific_port\u003e]/install/`\n* Step 1 : Choose 'Automatic database installation'\n\n![step1](https://cloud.githubusercontent.com/assets/4225738/8746785/01758b9e-2c8d-11e5-8643-7f5862c75efe.png)\n\n* Step 2 : Re-Enter connection information\n\n![step2](https://cloud.githubusercontent.com/assets/4225738/8746789/0ad367e2-2c8d-11e5-80bb-f5093801e139.png)\n\n* Note that these two first steps could be swapped by patching phpipam (see https://github.com/phpipam/phpipam/issues/25)\n* Step 3 : Configure the admin user password\n\n![step3](https://cloud.githubusercontent.com/assets/4225738/8746790/0c434bf6-2c8d-11e5-9ae7-b7d1021b7aa0.png)\n\n* You're done !\n\n![done](https://cloud.githubusercontent.com/assets/4225738/8746792/0d6fa34e-2c8d-11e5-8002-3793361ae34d.png)\n\n### Docker compose\n\nYou can also create an all-in-one YAML deployment descriptor with Docker compose, like this:\n\n```yaml\nversion: '2'\n\nservices:\n  mysql:\n    image: mysql:5.6\n    environment:\n      - MYSQL_ROOT_PASSWORD=my-secret-pw\n    restart: always\n    volumes:\n      - db_data:/var/lib/mysql\n  ipam:\n    depends_on:\n      - mysql\n    image: pierrecdn/phpipam\n    environment:\n      - MYSQL_ENV_MYSQL_USER=root\n      - MYSQL_ENV_MYSQL_ROOT_PASSWORD=my-secret-pw\n      - MYSQL_ENV_MYSQL_HOST=mysql\n    ports:\n      - \"80:80\"\nvolumes:\n  db_data:\n```\n\nAnd next :\n\n```bash\n$ docker-compose up -d\n```\n\nYou can also point the `MYSQL_ENV_PASSWORD_FILE` environment variable to a file,\nin which case the contents of this file will be used as the password.\nThis makes it possible to use docker secrets for instance:\n\n```yaml\nversion: '3'\n\nservices:\n  ipam:\n    environment:\n      - MYSQL_ENV_MYSQL_PASSWORD_FILE=/run/secrets/phpipam_mysql_root_password\n    secrets:\n      - phpipam_mysql_root_password\n```\n\nThe secret can be created by running `echo my-secret-pw | docker secret create phpipam_mysql_root_password -`\n\n### Advanced Configuration\n\nHere is the list of the available environment variables in the phpipam container, pass them to docker using `-e`.\nNone of them are actually needed to run the container, this is only to tweak the behavior.\n\n| Environment variable          | Default value | Description                                                                                                                                                                               |\n| ----------------------------- |:-------------:| ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| MYSQL_ENV_MYSQL_HOST          | mysql         | The host used to reach the MySQL instance                                                                                                                                                 |\n| MYSQL_ENV_MYSQL_USER          | root          | The user to connect the MySQL instance                                                                                                                                                    |\n| MYSQL_ENV_MYSQL_ROOT_PASSWORD | (empty)       | The MySQL password. Can be set using the Web UI during the first install                                                                                                                  |\n| MYSQL_ENV_MYSQL_DB            | phpipam       | The name of the MySQL DB to connect to                                                                                                                                                    |\n| MYSQL_ENV_MYSQL_PASSWORD_FILE | (empty)       | A file containing the password (if not using MYSQL_ROOT_PASSWORD) this allows to leverage docker secrets                                                                                  |\n| PHPIPAM_BASE                  | /             | The base URI under which phpipam runs. Useful when performing rewrites with a reverse-proxy                                                                                               |\n| TRUST_X_FORWARDED_HEADERS     | false         | If operating behind a reverse proxy, set to `true` to accept the following headers: `X_FORWARDED_HOST`, `X_FORWARDED_PORT`, `X_FORWARDED_PROTO`, `X_FORWARDED_SSL`, and `X_FORWARDED_URI` |\n| GMAPS_API_KEY                 | (empty)       | Google Maps API Key, used to display maps of your devices                                                                                                                                 |\n| GMAPS_API_GEOCODE_KEY         | (empty)       | Google Maps Geocode API Key, used to find coordinates from an address/ a location of your device                                                                                          |\n\n### Specific integration (HTTPS, multi-host containers, etc.)\n\nRegarding your requirements and docker setup, you've to expose resources.\n\nFor HTTPS, run a reverse-proxy in front of your phpipam container and link it to.\n\nFor multi-host containers, expose ports, run etcd or consul to make service discovery works etc.\n\n### Notes\n\nphpIPAM is under heavy development by the amazing Miha.\nTo upgrade the release version, just change the `PHPIPAM_VERSION` environment variable to the target release (see [here](https://github.com/phpipam/phpipam/releases)).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpierrecdn%2Fphpipam","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpierrecdn%2Fphpipam","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpierrecdn%2Fphpipam/lists"}