You can use containers inside container orchestration platforms and of course you can do that with phpIPAM as well, but in my case I just wanted the convenience of the container packaging approach and running it on a single Linux host without having to worry about the overheads of K8S style platforms.
I was using a RHEL derivative, Alma Linux 9.0 in this case and also using Podman rather than Docker.
I did want to use the docker-compose approach to configuring and maintaining the application. The compose format makes it really quite simple to deploy and maintain simple container applications that are single system hosted.
Since I wasn’t using Docker, rather Podman, I found that you can use a tool called podman-compose to orchestrate podman to deliver the outcome you’d expect from a docker-compose file.
Firstly, start like this, getting podman and pip3 installed.
yum install podman python3-pip
Then it’s simple to install podman-compose
pip3 install podman-compose
With a docker-compose.yml file similar to the following (change the default passwords i’ve put in the file) you can get going very quickly.
version: '3' services: phpipam-web: image: docker.io/phpipam/phpipam-www:latest ports: - "80:80" environment: - TZ=Australia/Melbourne - IPAM_DATABASE_HOST=phpipam-mariadb - IPAM_DATABASE_USER=root - IPAM_DATABASE_PASS=<mysql_root_pass> restart: unless-stopped volumes: - phpipam-logo:/phpipam/css/images/logo depends_on: - phpipam-mariadb phpipam-mariadb: image: docker.io/library/mariadb:latest environment: - MARIADB_ROOT_PASSWORD=<mysql_root_pass> restart: unless-stopped volumes: - phpipam-db-data:/var/lib/mysql volumes: phpipam-db-data: phpipam-logo:
Then it’s as simple as
podman-compose up -d
Then you connect to the IP address of your underlying system, and execute the installation dialogue. You should only need to enter the MySQL/MariaDB username / password, everything else should be pre-filled with the correct information.