This repository contains a Docker environment for running iTop, an open-source IT service management tool.
The environment is designed to be easy to set up and use, with all necessary components included.
Warning
Mind that this environment is intended for development and testing purposes only.
It should not be used for production.
Documentation
PHP Switcher Browser Extension
Docker containers
Find below, a short description of containers available in the Docker environment.
Tip
Containers ports can be modified in the .env.local file if they don't suit your need or are already used by others applications.
Web Servers
The containers in charge of serving the web pages.
Tip
You can change the default web server. How To...
Default Listened Ports
-
74Serve pages based on PHP 7.4. -
80Serve pages based on PHP 8.0. -
81Serve pages based on PHP 8.1. -
82Serve pages based on PHP 8.2. -
83Serve pages based on PHP 8.3. -
84Serve pages based on PHP 8.4. -
85Serve pages based on PHP 8.5. -
88(Automatic Mode) To serve pages based on PHP version passed in request headerX-PHP-Version. -
443(Automatic Mode) To serve pages based on PHP version passed in request headerX-PHP-VersionwithHTTPSprotocol.
Automatic Mode
With automatic mode, web servers will serve pages based on the PHP version passed in the request header X-PHP-Version.
A browser extension (Chrome and Firefox) is provided to easily switch between PHP versions.
You also can use one of the official browser extensions allowing to add custom headers then set yourself the desired PHP version.
X-PHP-Version = 82 for PHP 8.2.
Nginx (default)
The container for Nginx webserver.
A self-signed certificate is included in the certs conf directory allowing HTTPS.
Official build of Nginx.
Based on nginx:alpine
Note
app.conf file is included in the nginx conf directory to configure Nginx settings. How To...
Apache
The container for Apache webserver.
A self-signed certificate is included in the certs conf directory allowing HTTPS.
Official build of Apache.
Based on httpd:latest
Note
httpd.conf file is included in the apache conf directory to configure Apache settings. How To...
httpd-vhosts.conf file is included in the apache conf directory to configure virtual hosts. How To...
PHP FPM X.X
The containers in charge of the PHP script processing.
Based on php:x.x-fpm image, this extended image includes xdebug, all needed php extensions, graphviz and a MariaDB client to run iTop.
While designed for web development, the PHP scripting language also provides general-purpose use.
Note
php.ini file is included in the php conf directory to configure PHP settings. How To...
xdebug.ini file is included in the php conf directory to configure XDebug settings. How To...
Tip
You can add a new PHP version. How To...
MariaDB
The container for MariaDB database.
MariaDB Server is a high performing open source relational database, forked from MySQL.
Based on mariadb image.
Default Listened Ports
3306
MySQL
The container for MySQL database.
MySQL is a widely used, open-source relational database management system (RDBMS).
Based on mysql image.
Default Listened Ports
3307
Adminer
The container for database web administration.
Database management in a single PHP file.
Based on adminer image.
Default Listened Ports
8080
MailPit
The container for mailer testing.
Mailpit is packed full of features for developers wanting to test SMTP and emails. It acts as an SMTP server, provides a modern web interface to view & test intercepted emails. It also contains an API for automated integration testing.
Based on axllent/mailpit image.
Default Listened Ports
8025WebUI1025SMTP
Script-server
The container for scripts execution.
Script-server allows you to execute pre-configured CLI scripts directly from a Web UI. No need for SSH connection, knowing commands exact syntax.
Based on bugy/script-server image.
Default Listened Ports
8090WebUI
kCacheGrind
The container for xdebug profile analyze.
Web GUI to inspect Valgrind and Xdebug profiling reports.
Default Listened Ports
8088WebUI