Run iTop in a Docker container based on the php:apache image.
Run the latest version (see tags for other iTop versions) container named my-itop:
docker run -d -p 80:80 --name=my-itop supervisions/itop:latestThen go to http://localhost/ to start the installation wizard.
In order to operate properly, iTop maintenance operations and asynchronous tasks must be executed on a regular basis. In order to ease the installation, all the background tasks have been grouped to be launched from a single file. The command to run this from your scheduler looks like this:
docker exec -u www-data my-itop php webservices/cron.php --auth_user=<login> --auth_pwd=<password>If you don't want these credentials to be present in your scheduler, you can create a file /etc/itop/cron.params based on the file webservices/cron.distrib which can be used as a template.
The command to run from your scheduler then becomes this:
docker exec -u www-data my-itop php webservices/cron.php --param_file=/etc/itop/cron.paramsA minimal setup with MariaDB and the cron task runner:
services:
itop:
image: supervisions/itop:3.3
pull_policy: weekly
volumes:
- itop-conf:/var/www/html/conf
- itop-data:/var/www/html/data
- itop-env:/var/www/html/env-production
ports:
- "[::1]:80:80" # only listen on localhost
depends_on:
db:
condition: service_healthy
db:
image: mariadb
environment:
MARIADB_DATABASE: itop
MARIADB_USER: ${MARIADB_USER:-itop}
MARIADB_PASSWORD: ${MARIADB_PASS:-itop}
MARIADB_ALLOW_EMPTY_ROOT_PASSWORD: 1
healthcheck:
test: [CMD, healthcheck.sh, --connect, --innodb_initialized]
start_period: 10s
interval: 10s
timeout: 5s
retries: 3
volumes:
- db-data:/var/lib/mysql
cron:
image: supervisions/itop:3.3
pull_policy: weekly
restart: unless-stopped
environment:
AUTH_USER: ${CRON_USER:-admin}
AUTH_PWD: ${CRON_PASS:-admin}
volumes:
- itop-conf:/var/www/html/conf
- itop-data:/var/www/html/data
- itop-env:/var/www/html/env-production
user: www-data
entrypoint: [sh, -c]
command:
- php webservices/cron.php --auth_user="$${AUTH_USER}" --auth_pwd="$${AUTH_PWD}"
depends_on:
db:
condition: service_healthy
volumes:
db-data:
itop-conf:
itop-data:
itop-env:Start it with docker compose up -d, open http://localhost/ and run the setup wizard.
Use db as the database host, enter the username and password, and select the itop database.
Set CRON_USER and CRON_PASS in a .env file to an iTop account with the Administrator profile.
Example .env file:
MARIADB_USER=itop
MARIADB_PASS=change-me
CRON_USER=cron
CRON_PASS=change-me3.3.0,3.3,latest(Changelog)3.2.3,3.2(Changelog)2.7.13,2.7(Changelog)3.2.2(Changelog)3.2.1(Changelog)3.1.3,3.1(Changelog)2.7.12(Changelog)3.1.2(Changelog)2.7.11(Changelog)3.2.0(Changelog)3.0.4,3.0(Changelog)2.7.10(Changelog)3.1.1(Changelog)2.7.9(Changelog)3.1.0(Changelog)3.0.3(Changelog)2.7.8(Changelog)3.0.2(Changelog)2.7.7(Changelog)3.0.1(Changelog)3.0.0(Changelog)2.7.6(Changelog)2.7.5(Changelog)2.7.4(Changelog)2.7.3(Changelog)2.7.2(Changelog)2.7.1(Readme) (Changelog)2.7.0(Readme) (Changelog)2.6.3,2.6(Changelog)2.6.1(Changelog)2.6.0(Changelog)2.5.1,2.5(Readme) (Changelog)2.5.0(Readme) (Changelog)2.4.3,2.4(Readme) (Changelog)2.4.1(Readme) (Changelog)2.4.0(Readme) (Changelog)2.3.4,2.3(Readme)2.3.3(Readme)