The image is based on phusion/baseimage and uses runit to manage services (apache, mysql, etc).
Run new iTop (see tags for specific iTop versions) container named my-itop:
sudo docker run -d -p 8000:80 --name=my-itop vbkunin/itopThen 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:"or use username root with blank 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/itopBut 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/confExpose 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У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-baseThe 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.shA cron setup helper is aboard:
sudo docker exec my-itop /setup-itop-cron.sh Cron Pa$5w0rDThen 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:
- make-itop-config-writable.sh (or you can use
conf-wshortcut without the leading slash:docker exec my-itop conf-w) - make-itop-config-read-only.sh (or
conf-roshortcut:docker exec my-itop conf-ro)
If you're using this image for development (especially with PhpStorm), there are a few things for you.
-
install-xdebug.sh – install Xdebug PHP extension and setup it for remote debugging. Two arguments are
xdebug.client_portandxdebug.idekey(defaults are9003andPHPSTORM, respectively).sudo docker exec my-itop /install-xdebug.sh [client_port] [idekey] -
start-itop-cron-debug.sh – start remote debugging of iTop background tasks script (cron.php). The first two arguments are iTop user and his password (
adminandpassword) and the third argument is debug server configuration name (default islocalhost) in PhpStorm which specified through PHP_IDE_CONFIG environment variable (more details).sudo docker exec my-itop /start-itop-cron-debug.sh [auth_user] [auth_pwd] [php_ide_server_name] -
enable-mysql-remote-connections.sh – add the
bind-address = 0.0.0.0directive to the MySQL configuration to allow connections from outside the container.sudo docker exec my-itop /enable-mysql-remote-connections.shDo not forget to expose the MySQL port with
-p 3306:3306when running the container.