Skip to content
/ glpi Public

GLPI is an incredible ITSM software tool that helps you plan and manage IT changes in an easy way, solve problems efficiently when they emerge and allow you to gain legitimate control over your company’s IT budget, and expenses. https://glpi-project.org/

License

Notifications You must be signed in to change notification settings

mrlioncub/glpi

Repository files navigation

GLPI Logo

Latest Tag

About GLPI

GLPI stands for Gestionnaire Libre de Parc Informatique is a Free Asset and IT Management Software package, that provides ITIL Service Desk features, licenses tracking and software auditing.

GLPI features:

  • Inventory of computers, peripherals, network printers and any associated components through an interface, with inventory tools such as: FusionInventory or OCS Inventory
  • Data Center Infrastructure Management (DCIM)
  • Item lifecycle management
  • Licenses management (ITIL compliant)
  • Management of warranty and financial information (purchase order, warranty and extension, damping)
  • Management of contracts, contacts, documents related to inventory items
  • Incidents, requests, problems and changes management
  • Knowledge base and Frequently-Asked Questions (FAQ)
  • Asset reservation

Moreover, GLPI supports many plugins that provide additional features.

Demonstration

Check GLPI features by asking a free personnal demonstration on glpi-network.cloud

License

license

It is distributed under the GNU GENERAL PUBLIC LICENSE Version 2 - please consult the file called COPYING for more details.

Using the image

The image contains a webserver and exposes port 80. To start the container type:

$ docker run -d -p 8080:80 ghcr.io/mrlioncub/glpi:latest

Now you can access GLPI at http://localhost:8080/ from your host system.

Using an external database

By default, this container uses setup wizard (appears on first run) allows connecting to an existing MySQL/MariaDB database. You can also link a database container, e. g. --link my-mysql:db, and then use db as the database host on setup. More info is in the docker-compose section.

Persistent data

The GLPI installation and all data beyond what lives in the database (file uploads, etc.) are stored in the unnamed docker volume volume /var/www/html/files, /var/www/html/config and /var/www/html/marketplace. The docker daemon will store that data within the docker directory /var/lib/docker/volumes/.... That means your data is saved even if the container crashes, is stopped or deleted.

A named Docker volume or a mounted host directory should be used for upgrades and backups. To achieve this, you need one volume for your database container and three for GLPI.

GLPI:

  • /var/www/html/files,/var/www/html/config,/var/www/html/marketplace folders where all GLPI data lives

    $ docker run -d \
    -v glpi_files:/var/www/html/files \
    -v glpi_config:/var/www/html/config \
    -v glpi_marketplace:/var/www/html/marketplace \
    ghcr.io/mrlioncub/glpi:latest

Database:

  • /var/lib/mysql MySQL / MariaDB Data

    $ docker run -d \
    -v db:/var/lib/mysql \
    mariadb

Using the GLPI command-line interface

To use the GLPI command-line interface:

$ docker exec --user www-data CONTAINER_ID php bin/console

or for docker-compose:

$ docker-compose exec --user www-data glpi php bin/console

Auto configuration via environment variables

The GLPI image supports auto configuration via environment variables. You can preconfigure everything that is asked on the install page on first run. To enable auto configuration, set your database connection via the following environment variables.

  • DB_NAME Database name.
  • DB_USER Database user name.
  • DB_PASSWORD Database user’s pasword.
  • DB_HOST Host name.
  • DB_PORT Database port (default MySQL port if option is not defined).
  • DEFAULT_LANGUAGE Default language of GLPI (en_GB per default).

Running this image with docker-compose

The easiest way to get a fully featured and functional setup is using a docker-compose file. There are too many different possibilities to setup your system, so here are only some examples of what you have to look for.

In every case, you would want to add a database container and docker volumes to get easy access to your persistent data. When you want to have your server reachable from the internet, adding HTTPS-encryption is mandatory! See below for more information.

Base version

This version will use the GLPI image and add a mariaDB container. The volumes are set to keep your data persistent. This setup provides no ssl encryption and is intended to run behind a proxy.

Make sure to pass in values for MYSQL_ROOT_PASSWORD and MYSQL_PASSWORD variables before you run this setup in the variables file .env. Make sure to pass in values for MYSQL_ROOT_PASSWORD and MYSQL_PASSWORD variables before you run this setup in the variables file .env. It's possible to pass in values for PATH_DB, PATH_FILES, PATH_CONFIG, PATH_MARKETPLACE or run command: mkdir {db,files,config,marketplace} in the same directory.

https://github.com/mrlioncub/glpi/blob/master/docker-compose.yaml

Then run docker-compose up -d, now you can access GLPI at http://localhost:8080/ from your host system.

Update to a newer version

Updating the GLPI container is done by pulling the new image, throwing away the old container and starting the new one.

Since all data is stored in volumes, nothing gets lost. The startup script will check for the version in your volume and the installed docker version. If it finds a mismatch, it automatically starts the upgrade process. Don't forget to add all the volumes to your new container, so it works as expected.

docker pull ghcr.io/mrlioncub/glpi:latest
docker stop <your_glpi_container>
docker rm <your_glpi_container>
docker run <OPTIONS> -d ghcr.io/mrlioncub/glpi:latest

Beware that you have to run the same command with the options that you used to initially start your GLPI. That includes volumes, port mapping.

When using docker-compose your compose file takes care of your configuration, so you just have to run:

docker-compose pull
docker-compose -p glpi up -d

About

GLPI is an incredible ITSM software tool that helps you plan and manage IT changes in an easy way, solve problems efficiently when they emerge and allow you to gain legitimate control over your company’s IT budget, and expenses. https://glpi-project.org/

Resources

License

Stars

Watchers

Forks

Packages