Giter VIP home page Giter VIP logo

glpi's Introduction

GLPI Logo

GLPI Docker Container

Demo

https://www.katacoda.com/eduardofraga/scenarios/glpi-playground

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.

https://github.com/glpi-project/glpi

For Courses e-Learning

https://www.fametreinamentos.com.br

For Support

https://www.fametec.com.br

[email protected]

License

license

Topology

Topology

Install on docker container

Play

asciicast

Deploy MariaDB

docker run -d --name mariadb-glpi \
-e MYSQL_DATABASE=glpi \
-e MYSQL_USER=glpi \
-e MYSQL_PASSWORD=glpi \
-e MYSQL_RANDOM_ROOT_PASSWORD=1 \
-p 3306:3306 \
fametec/glpi:mariadb

Deploy GLPI

docker run -d --name glpi \
--link mariadb-glpi:mariadb-glpi \
-e GLPI_LANG=pt_BR \
-e MARIADB_HOST=mariadb-glpi \
-e MARIADB_PORT=3306 \
-e MARIADB_DATABASE=glpi \
-e MARIADB_USER=glpi \
-e MARIADB_PASSWORD=glpi \
-e VERSION="9.5.6" \
-e PLUGINS="all" \
-p 80:80 \
-p 443:443 \
fametec/glpi:latest

Deploy Cron to Schedule jobs

docker run -d --name crond-glpi --link mariadb-glpi:mariadb --volume glpi:/var/www/html/glpi fametec/glpi:crond

Docker Compose

docker-compose.yaml

version: "3.5"
services:
    mariadb-glpi: 
        image: fametec/glpi:mariadb
        restart: unless-stopped
        volumes: 
          - mariadb-glpi-volume:/var/lib/mysql:rw
        environment: 
          MYSQL_DATABASE: glpi
          MYSQL_USER: glpi-user 
          MYSQL_PASSWORD: glpi-pass 
          MYSQL_RANDOM_ROOT_PASSWORD: 1 
        ports: 
          - 3306:3306
        networks: 
          - glpi-backend
    glpi: 
        image: fametec/glpi:latest
        restart: unless-stopped
        volumes: 
          - glpi-volume-files:/var/www/html/files:rw
          - glpi-volume-plugins:/var/www/html/plugins:rw
        environment: 
          GLPI_LANG: pt_BR
          MARIADB_HOST: mariadb-glpi
          MARIADB_PORT: 3306
          MARIADB_DATABASE: glpi
          MARIADB_USER: glpi-user
          MARIADB_PASSWORD: glpi-pass
          VERSION: "9.5.6"
          PLUGINS: "all"
        depends_on: 
          - mariadb-glpi
          - php-fpm
        ports: 
          - 30080:80
        networks: 
          - glpi-frontend
          - glpi-backend
#
# CRON
#
    crond: 
        image: fametec/glpi:crond
        restart: unless-stopped
        volumes:
          - glpi-volume:/usr/share/nginx/html/glpi:rw
        depends_on:
          - mariadb-glpi
        environment: 
          MARIADB_HOST: mariadb-glpi
          MARIADB_PORT: 3306
          MARIADB_DATABASE: glpi
          MARIADB_USER: glpi-user
          MARIADB_PASSWORD: glpi-pass
        volumes: 
          - glpi-volume-files:/var/www/html/files:rw
          - glpi-volume-plugins:/var/www/html/plugins:rw
        networks: 
          - glpi-backend
#
# VOLUMES
#
volumes: 
  glpi-volume-files:
  glpi-volume-plugins:
  mariadb-glpi-volume: 
#
# NETWORKS
#
networks: 
  glpi-frontend: 
  glpi-backend:

Manual install

This script will install the GLPI on Linux Server CentOS 7.6 Minimal.

Play

asciicast

Silent

```curl -sSL 'https://raw.githubusercontent.com/fametec/glpi/master/install_glpi.sh' | bash```

Download

```curl -sSL 'https://raw.githubusercontent.com/fametec/glpi/master/install_glpi.sh' -o install_glpi.sh ```

Configuration

Edit the script

VERSION="9.5.7"                      # GLPI Version to install
TIMEZONE=America/Fortaleza           # Timezone default=Etc/UTC
FQDN="glpi.fametec.com.br"           # Virtualhost default=glpi.fametec.com.br
ADMINEMAIL="[email protected]"  # Admin e-mail 
ORGANIZATION="FAMETec"               # Organization name
MYSQL_ROOT_PASSWORD=''               # MariaDB root password, default=empty
DBUSER="glpi"                        # Database username, default=glpi
DBHOST="localhost"                   # Database Host/IP, default=localhost
DBNAME="glpi"                        # Database name, default=glpi
DBPASS="E`< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-32};echo;`" # 
MYSQL_NEW_ROOT_PASSWORD="C`< /dev/urandom tr -dc _A-Z-a-z-0-9 | head -c${1:-32};echo;`" 

After instalation the script save the credentials and variables in ''install_glpi.log'' for future maintenance.

====================================================
## VARIAVEIS

VERSION=9.5.7
TIMEZONE=America/Fortaleza
FQDN=glpi.fametec.com.br
[email protected]
ORGANIZATION=FAMETec
MYSQL_ROOT_PASSWORD=
DBUSER=glpi
DBHOST=localhost
DBNAME=glpi
DBPASS=EmpNHclqyx8x_ufp6fl0GHDyVD-qSwA-i
MYSQL_NEW_ROOT_PASSWORD=CHhXZvrX0EGDhtp08IRYuC1qswi-g2kW4


MYSQL=mysql -u root -pCHhXZvrX0EGDhtp08IRYuC1qswi-g2kW4
CURL=/usr/bin/curl

====================================================

glpi's People

Contributors

eduardofraga avatar nvtienanh avatar ricardo-f avatar windoc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

glpi's Issues

Kubernets Deployment Guide

When looking at the documentation in the repository I couldn't identify the documentation for implementation in k8s environment.
Is it possible that the basic deployment procedure will be made available!?

no configure.sh in docker_glpi_1

D:\GLPI\glpi\docker>docker exec -it docker_glpi_1 /configure.sh
OCI runtime exec failed: exec failed: container_linux.go:380: starting container process caused: exec: "/configure.sh": stat /configure.sh: no such file or directory: unknown

I tried to find the configure.sh from the vm but no lucky looking for it, is there any way to fix this? PLS

docker compose crond container

Hi.

Another thing to clarify.

In the crond section of yaml file you have indicated two times volumes:

volumes:
- glpi-volume:/usr/share/nginx/html/glpi:rw

volumes:
- glpi-volume-files:/var/www/html/files:rw
- glpi-volume-plugins:/var/www/html/plugins:rw

But why this?

I think that also in this case, like for php-fpm part, it depends if we will use apache or nginx.

Thank you

GLPI Network

Ola
Fiz a instalação e configuração da instância, tudo ok.
Ao tentar registrar a glpi network, colo a chave de registro e quando valido, a pagina fica em branco e não valida.
Gostaria de instalar plugins pelo marketplace.

Default user

qual usuario e senha default? glpi/glpi não entra

SOBRE O FUSION INVENTORY

Olá, foi realizado a instalação deste container do glpi ha muito tempo em nosso servidor, porém nada foi documentado. Felizmente, após diversas analises do servidor, descobri que trata-se deste presente container, enfim, vamos a minha grande duvida.

Gostaria de saber como proceder para o plugin fusion inventory funcionar neste container, utilizei o metodo padrão de instalação utilizando o diagrama que vocês documentarão neste git, no entanto, para o fusion inventory não funcionou. O glpi não consegue "ver" o plugin no diretório.

#Aguardo retorno

Stuck with "error accessing config table"

Hi all,
I'm trying to give a run with this tool and used Portainer to create a new stack with the config file hereunder:

# from https://github.com/fametec/glpi

version: "3.5"
services:

# GLPI
    glpi: 
        image: fametec/glpi:latest
        container_name: glpi-app
        restart: unless-stopped
        volumes: 
          - glpi-volume-files:/var/www/html/files:rw
          - glpi-volume-plugins:/var/www/html/plugins:rw
          - glpi-volume-config:/var/www/html/config:rw
        environment: 
          GLPI_LANG: fr_FR
          MARIADB_HOST: mariadb-glpi
          MARIADB_PORT: 3307
          MARIADB_DATABASE: glpi
          MARIADB_USER: glpi-user
          MARIADB_PASSWORD: glpipwd
          VERSION: "9.5.6"
          PLUGINS: "all"
        depends_on: 
          - mariadb-glpi
        ports: 
          - 14000:80
          - 14443:443
        networks: 
          - glpi-frontend
          - glpi-backend

# MARIADB
    mariadb-glpi: 
        image: docker.io/mariadb:latest
        container_name: glpi-db
        restart: unless-stopped
        volumes: 
          - glpi-volume-mariadb:/var/lib/mysql:rw
        environment: 
          MYSQL_DATABASE: glpi
          MYSQL_USER: glpi-user 
          MYSQL_PASSWORD: glpipwd
          MYSQL_RANDOM_ROOT_PASSWORD: 1
        ports: 
          - 3307:3306
        networks: 
          - glpi-backend

# CRON
    crond: 
        image: fametec/crond-glpi:latest
        container_name: glpi-cron
        restart: unless-stopped
        depends_on:
          - glpi
          - mariadb-glpi
        environment: 
          MARIADB_HOST: mariadb-glpi
          MARIADB_PORT: 3307
          MARIADB_DATABASE: glpi
          MARIADB_USER: glpi-user
          MARIADB_PASSWORD: glpipwd
        volumes: 
          - glpi-volume-files:/var/www/html/files:rw
          - glpi-volume-plugins:/var/www/html/plugins:rw
        networks: 
          - glpi-backend

# VOLUMES
volumes: 
  glpi-volume-files:
  glpi-volume-plugins:
  glpi-volume-config:
  glpi-volume-mariadb: 
  
# NETWORKS
networks: 
  glpi-frontend: 
  glpi-backend:

which is pretty close to the docker-compose.yml you propose.
Unfortunately, if the stack deploys smoothly, I just can't access the GUI, getting this "Error accessing config table" error.

Logs of the cron service says:

log_it: (CRON 7) INFO (RANDOM_DELAY will be scaled with factor 50% if used.)

log_it: (CRON 7) INFO (running with inotify support)

log_it: (root 11) CMD (/usr/bin/php -c /etc/php.ini /var/www/html/front/cron.php --forcequeudnotification )

log_it: (root 12) CMD (/usr/bin/php -c /etc/php.ini /var/www/html/front/cron.php )

log_it: (root 13) CMD (/usr/bin/php -c /etc/php.ini /var/www/html/front/cron.php --forcemailgate)

log_it: (root 8) CMDOUT (PHP Warning:  mysqli::real_connect(): (HY000/2002): Connection refused in /var/www/html/inc/dbmysql.class.php on line 185)

log_it: (root 8) CMDOUT (A link to the SQL server could not be established. Please check your configuration.)

log_it: (root 8) CMDOUT (Le serveur Mysql est inaccessible. Vérifiez votre configuration.)

indicating that the DB server is not accessible and I just can't find where I'm wrong... 🤔 DB and GLPI look fine, no error in their logs.

Any helping hand would be welcome!

Docker compose won't run

Hi.

As indicated via email in the docker-compose.yaml indicated on docker-hub there is a service requirement (php-fpm) that is not useful if using apache but only for nginx.

Maybe could be better documented in the yaml.

Another point is the lacks of indication of apache or nginx container at all.

Thank you for your work

help with Error accessing config table deploying on k8s

Hi.

I'm checking your project in order to deploy glpi on k8s and learn a bit more about the tool but I'm stuck on the installation process. I can deploy a mariadb database and the glpi pod but whenever I open the glpi URL I get the Error accessing config table error.

In the /glpi-entrypoint.sh file I see a call to ConfigDataBase which I'm not sure is being executed because this is the log on tio of my pod.

AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 10.244.0.116. Set the 'ServerName' directive globally to suppress this message
[Thu Feb 11 00:12:05.284992 2021] [suexec:notice] [pid 7] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 10.244.0.116. Set the 'ServerName' directive globally to suppress this message
[Thu Feb 11 00:12:05.329910 2021] [lbmethod_heartbeat:notice] [pid 7] AH02282: No slotmem from mod_heartmonitor
[Thu Feb 11 00:12:05.400888 2021] [mpm_prefork:notice] [pid 7] AH00163: Apache/2.4.6 (CentOS) PHP/7.3.25 configured -- resuming normal operations
[Thu Feb 11 00:12:05.400977 2021] [core:notice] [pid 7] AH00094: Command line: 'httpd -D FOREGROUND'

I've checked DB connection with a phpmyadmin instance deployed on the same namespace.

The /var/log/httpd/access_log file shows a 200.

GET / HTTP/1.1" 200 28

The /var/www/html/files/_log/php-errors.log file shows this error, that I'm not sure is be related.

[2021-02-11 00:13:38] glpiphplog.WARNING:   *** PHP User Warning (512): Cannot write "/var/www/html/files/_cache/glpi_cache_db_9.5.3.json" cache footprint file. Cache performance can be lowered. in /var/www/html/inc/cache/simplecache.class.php at line 273
  Backtrace :
  inc/cache/simplecache.class.php:273                trigger_error()
  inc/cache/simplecache.class.php:72                 Glpi\Cache\SimpleCache->checkFootprintFileIntegrity()
  inc/config.class.php:3308                          Glpi\Cache\SimpleCache->__construct()
  inc/config.php:56                                  Config::getCache()
  inc/includes.php:48                                include_once()
  index.php:55                                       include()

Could you give me a hand on where to look to solve this problem?

Thanks.

Uncaught Exception RuntimeException: You must create a security key.

Hi all,

I migrated a host installation into Docker using this image. It works well, except for the fact that each time the container is restarted or redeployed (e.g.: add a new volume into Docker Compose), I have this error message:

[2022-12-01 12:07:11] glpiphplog.CRITICAL:   *** Uncaught Exception RuntimeException: You must create a security key, see glpi:security:change_key command. in /var/www/html/inc/glpikey.class.php at line 120
  Backtrace :
  inc/toolbox.class.php:347                          GLPIKey->get()
  inc/toolbox.class.php:286                          Toolbox::getGlpiSecKey()
  inc/authldap.class.php:1460                        Toolbox::sodiumDecrypt()
  front/authldap.form.php:78                         AuthLDAP::testLDAPConnection()

The fix is to:

  1. Run /var/www/html/bin/console glpi:security:change_key
  2. Then update the LDAP passwords on all directory configurations.

Is there a way to prevent this? For me, one of the main purposes of using Docker is to be able to quickly change the configuration, or stop-backup-restart, etc. Currently, each container modification implies heavy reconfiguration.

Thanks!

environment VERSION

Buenas,

A variavel VERSION: "9.5.1" configurada no .yml vai substituir a variavel do install_glpi.sh?

Caso não, como faço isso via .yml?

kubernetes and crond

Hi, @ricardo-f
thanks for your good work here.
Question about kubernetes solution from you, can you please update, it so that this solution also work with crond.

Thank you for your time and effort.

ARM image

Hello, can you please provide an ARMv8 version for the image?
Thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.