vbkunin / itop-docker

Combodo iTop docker image
https://hub.docker.com/r/vbkunin/itop/
MIT License
92 stars 51 forks source link

Docker image with Combodo iTop

Docker Pulls Docker Stars GitHub forks GitHub Repo stars

The image is based on phusion/baseimage and uses runit to manage services (apache, mysql, etc).

Usage

Run new iTop (see tags for specific iTop versions) container named my-itop:

sudo docker run -d -p 8000:80 --name=my-itop vbkunin/itop

Then go to http://localhost:8000/ to continue the installation.

Use this command to get the MySQL user credentials:

sudo docker logs my-itop | grep -A7 -B1 "Your MySQL user 'admin' has password:"

If you want to persist iTop configuration and/or MySQL data between the container recreations, mount it as a volume:

sudo docker run -d -p 8080:80 --name=my-itop -v my-itop-conf-volume:/var/www/html/conf -v my-itop-db-volume:/var/lib/mysql vbkunin/itop

But don't forget to fix the rights to the folder (in any case, iTop setup wizard will remind you):

sudo docker exec my-itop chown www-data:www-data /var/www/html/conf

Expose iTop extensions folder if you need it:

sudo docker run -d -p 8000:80 --name=my-itop -v /home/user/itop-extensions:/var/www/html/extensions vbkunin/itop

Image without MySQL

Уou can get base image without MySQL database server (only Apache and PHP) to use with your own one:

sudo docker run -d -p 8000:80 --name=my-itop vbkunin/itop:latest-base

Useful scripts and helpers

The image ships with several useful scripts you can run like this:

sudo docker exec my-itop /script-name.sh [script_params]

If you need the iTop Toolkit you can simply get this:

sudo docker exec my-itop /install-toolkit.sh

A cron setup helper is aboard:

sudo docker exec my-itop /setup-itop-cron.sh Cron Pa$5w0rD

Then you should create iTop user account with login Cron and password Pa$5w0rD and grant him Administrator profile. The third argument (optional) is the absolute path to the log file or --without-logs key. By default, the log file is /var/www/html/log/cron.log.

There are other scripts:

Developer's corner

If you're using this image for development (especially with PhpStorm), there are a few things for you.

Building images

The project uses multi-stage builds and a single Dockerfile to build both base (only Apache and PHP) and full images. Therefore, you have to specify the correct --target and the corresponding --tag when running the docker build command.

DOCKER_BUILDKIT=1 docker build \
  --target=base \
  --tag vbkunin/itop:3.1.1-base \
  --build-arg ITOP_DOWNLOAD_URL="https://sourceforge.net/projects/itop/files/itop/3.1.1-1/iTop-3.1.1-1-12561.zip/download" \
  -f Dockerfile .
DOCKER_BUILDKIT=1 docker build \
  --target=full \
  --tag vbkunin/itop:3.1.1 \
  --build-arg ITOP_DOWNLOAD_URL="https://sourceforge.net/projects/itop/files/itop/3.1.1-1/iTop-3.1.1-1-12561.zip/download" \
  -f Dockerfile .

The only mandatory build argument ITOP_DOWNLOAD_URL must contain a valid URL to the zip archive with the iTop release.

Multi-platform images for the Docker Hub are created and pushed using the docker buildx client:

docker buildx build \
  --tag vbkunin/itop:"${IMAGE_TAG:?}" \
  --platform="linux/arm64,linux/amd64" \
  --push \
  --target="${BUILD_TARGET:?}" \
  --build-arg ITOP_DOWNLOAD_URL="${ITOP_DOWNLOAD_URL:?}" \
  -f Dockerfile .

Links